This is a 'fix' for several clang warnings about alignment. It doesn't seem real trouble IMO so ignoring cast-align flag should be okay. Example: red_parse_qxl.c:846:17: error: cast from 'uint8_t *' (aka 'unsigned char *') to 'SpiceRasterGlyph *' (aka 'struct SpiceRasterGlyph *') increases required alignment from 1 to 4 [-Werror,-Wcast-align] glyph = (SpiceRasterGlyph*) ^~~~~~~~~~~~~~~~~~~ --- server/lz4_encoder.c | 2 +- server/red_parse_qxl.c | 2 +- server/red_worker.c | 4 ++-- server/reds.c | 8 ++++---- server/reds_stream.c | 2 +- server/snd_worker.c | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/server/lz4_encoder.c b/server/lz4_encoder.c index b3e38b2..90daf16 100644 --- a/server/lz4_encoder.c +++ b/server/lz4_encoder.c @@ -86,7 +86,7 @@ int lz4_encode(Lz4EncoderContext *lz4, int height, int stride, uint8_t *io_ptr, LZ4_freeStream(stream); return 0; } - *((uint32_t *)compressed_lines) = htonl(enc_size); + *((uint32_t *)(void *)compressed_lines) = htonl(enc_size); out_size += enc_size += 4; already_copied = 0; diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c index 5b1befa..f17606d 100644 --- a/server/red_parse_qxl.c +++ b/server/red_parse_qxl.c @@ -839,7 +839,7 @@ static SpiceString *red_get_string(RedMemSlotInfo *slots, int group_id, spice_assert((QXLRasterGlyph*)(&start->data[glyph_size]) <= end); memcpy(glyph->data, start->data, glyph_size); start = (QXLRasterGlyph*)(&start->data[glyph_size]); - glyph = (SpiceRasterGlyph*) + glyph = (SpiceRasterGlyph*)(void *) (((uint8_t *)glyph) + SPICE_ALIGN(sizeof(SpiceRasterGlyph) + glyph_size, 4)); } diff --git a/server/red_worker.c b/server/red_worker.c index 4584b36..736cd51 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -3969,7 +3969,7 @@ static int rgb32_data_has_alpha(int width, int height, size_t stride, has_alpha = FALSE; while (height-- > 0) { - line = (uint32_t *)data; + line = (uint32_t *)(void *)data; end = line + width; data += stride; while (line != end) { @@ -6002,7 +6002,7 @@ static BitmapGradualType _get_bitmap_graduality_level(RedWorker *worker, SpiceBi x = bitmap->x; switch (bitmap->format) { case SPICE_BITMAP_FMT_16BIT: - compute_lines_gradual_score_rgb16((rgb16_pixel_t *)chunk[i].data, x, num_lines, + compute_lines_gradual_score_rgb16((rgb16_pixel_t *)(void *)chunk[i].data, x, num_lines, &chunk_score, &chunk_num_samples); break; case SPICE_BITMAP_FMT_24BIT: diff --git a/server/reds.c b/server/reds.c index cec28b8..8c31f7d 100644 --- a/server/reds.c +++ b/server/reds.c @@ -1334,7 +1334,7 @@ static const uint32_t *red_link_info_get_caps(const RedLinkInfo *link) { const uint8_t *caps_start = (const uint8_t *)link->link_mess; - return (const uint32_t *)(caps_start + link->link_mess->caps_offset); + return (const uint32_t *)(void *)(caps_start + link->link_mess->caps_offset); } static bool red_link_info_test_capability(const RedLinkInfo *link, uint32_t cap) @@ -1624,7 +1624,7 @@ static void reds_handle_main_link(RedLinkInfo *link) link->stream = NULL; link->link_mess = NULL; reds_link_free(link); - caps = (uint32_t *)((uint8_t *)link_mess + link_mess->caps_offset); + caps = (uint32_t *)(void *)((uint8_t *)link_mess + link_mess->caps_offset); client = red_client_new(mig_target); ring_add(&reds->clients, &client->link); reds->num_clients++; @@ -1705,7 +1705,7 @@ static void reds_channel_do_link(RedChannel *channel, RedClient *client, spice_assert(link_msg); spice_assert(stream); - caps = (uint32_t *)((uint8_t *)link_msg + link_msg->caps_offset); + caps = (uint32_t *)(void *)((uint8_t *)link_msg + link_msg->caps_offset); channel->client_cbs.connect(channel, client, stream, red_client_during_migrate_at_target(client), link_msg->num_common_caps, @@ -2104,7 +2104,7 @@ static void reds_handle_read_link_done(void *opaque) link_mess->num_common_caps = GUINT32_FROM_LE(link_mess->num_common_caps); num_caps = link_mess->num_common_caps + link_mess->num_channel_caps; - caps = (uint32_t *)((uint8_t *)link_mess + link_mess->caps_offset); + caps = (uint32_t *)(void *)((uint8_t *)link_mess + link_mess->caps_offset); if (num_caps && (num_caps * sizeof(uint32_t) + link_mess->caps_offset > link->link_header.size || diff --git a/server/reds_stream.c b/server/reds_stream.c index 1a595b2..8c49576 100644 --- a/server/reds_stream.c +++ b/server/reds_stream.c @@ -326,7 +326,7 @@ RedsStream *reds_stream_new(int socket) RedsStream *stream; stream = spice_malloc0(sizeof(RedsStream) + sizeof(RedsStreamPrivate)); - stream->priv = (RedsStreamPrivate *)(((char *)stream) + sizeof(RedsStream)); + stream->priv = (RedsStreamPrivate *)(void *)(((char *)stream) + sizeof(RedsStream)); stream->priv->info = spice_new0(SpiceChannelEventInfo, 1); reds_stream_set_socket(stream, socket); diff --git a/server/snd_worker.c b/server/snd_worker.c index 4d404e0..7bccd74 100644 --- a/server/snd_worker.c +++ b/server/snd_worker.c @@ -314,7 +314,7 @@ static int snd_record_handle_write(RecordChannel *record_channel, size_t size, v packet = (SpiceMsgcRecordPacket *)message; if (record_channel->mode == SPICE_AUDIO_DATA_MODE_RAW) { - data = (uint32_t *)packet->data; + data = (uint32_t *)(void *)packet->data; size = packet->data_size >> 2; size = MIN(size, RECORD_SAMPLES_SIZE); } else { @@ -323,7 +323,7 @@ static int snd_record_handle_write(RecordChannel *record_channel, size_t size, v if (snd_codec_decode(record_channel->codec, packet->data, packet->data_size, record_channel->decode_buf, &decode_size) != SND_CODEC_OK) return FALSE; - data = (uint32_t *) record_channel->decode_buf; + data = (uint32_t *)(void *)record_channel->decode_buf; size = decode_size >> 2; } -- 2.4.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel