From 01b035f8ba4f48e9e1ad9f9407f77ce9a7e4aa44 Mon Sep 17 00:00:00 2001 From: Mark Harris Date: Sat, 21 Jul 2018 17:55:24 -0700 Subject: Silence compiler warnings clang -Wcast-align warnings with ambisonics enabled clang -Wnull-pointer-arithmetic warnings in test_opus_api.c gcc -Wimplicit-fallthrough warnings on arm msvc warning C4244 in celt_encoder.c with fixed point --- src/mapping_matrix.c | 3 ++- src/opus_projection_decoder.c | 8 ++++++-- src/opus_projection_encoder.c | 15 +++++++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/mapping_matrix.c b/src/mapping_matrix.c index 11a14ce1..f9821f7e 100644 --- a/src/mapping_matrix.c +++ b/src/mapping_matrix.c @@ -58,7 +58,8 @@ opus_int32 mapping_matrix_get_size(int rows, int cols) opus_int16 *mapping_matrix_get_data(const MappingMatrix *matrix) { - return (opus_int16*)((char*)matrix + align(sizeof(MappingMatrix))); + /* void* cast avoids clang -Wcast-align warning */ + return (opus_int16*)(void*)((char*)matrix + align(sizeof(MappingMatrix))); } void mapping_matrix_init(MappingMatrix * const matrix, diff --git a/src/opus_projection_decoder.c b/src/opus_projection_decoder.c index c879ead7..1ccd8b72 100644 --- a/src/opus_projection_decoder.c +++ b/src/opus_projection_decoder.c @@ -93,12 +93,16 @@ static void opus_projection_copy_channel_out_short( static MappingMatrix *get_demixing_matrix(OpusProjectionDecoder *st) { - return (MappingMatrix*)((char*)st + align(sizeof(OpusProjectionDecoder))); + /* void* cast avoids clang -Wcast-align warning */ + return (MappingMatrix*)(void*)((char*)st + + align(sizeof(OpusProjectionDecoder))); } static OpusMSDecoder *get_multistream_decoder(OpusProjectionDecoder *st) { - return (OpusMSDecoder*)((char*)st + align(sizeof(OpusProjectionDecoder) + + /* void* cast avoids clang -Wcast-align warning */ + return (OpusMSDecoder*)(void*)((char*)st + + align(sizeof(OpusProjectionDecoder) + st->demixing_matrix_size_in_bytes)); } diff --git a/src/opus_projection_encoder.c b/src/opus_projection_encoder.c index 1fbcf471..8309e4b5 100644 --- a/src/opus_projection_encoder.c +++ b/src/opus_projection_encoder.c @@ -119,19 +119,26 @@ static int get_streams_from_channels(int channels, int mapping_family, static MappingMatrix *get_mixing_matrix(OpusProjectionEncoder *st) { - return (MappingMatrix *)((char*)st + align(sizeof(OpusProjectionEncoder))); + /* void* cast avoids clang -Wcast-align warning */ + return (MappingMatrix *)(void*)((char*)st + + align(sizeof(OpusProjectionEncoder))); } static MappingMatrix *get_demixing_matrix(OpusProjectionEncoder *st) { - return (MappingMatrix *)((char*)st + align(sizeof(OpusProjectionEncoder) + + /* void* cast avoids clang -Wcast-align warning */ + return (MappingMatrix *)(void*)((char*)st + + align(sizeof(OpusProjectionEncoder) + st->mixing_matrix_size_in_bytes)); } static OpusMSEncoder *get_multistream_encoder(OpusProjectionEncoder *st) { - return (OpusMSEncoder *)((char*)st + align(sizeof(OpusProjectionEncoder) + - st->mixing_matrix_size_in_bytes + st->demixing_matrix_size_in_bytes)); + /* void* cast avoids clang -Wcast-align warning */ + return (OpusMSEncoder *)(void*)((char*)st + + align(sizeof(OpusProjectionEncoder) + + st->mixing_matrix_size_in_bytes + + st->demixing_matrix_size_in_bytes)); } opus_int32 opus_projection_ambisonics_encoder_get_size(int channels, -- cgit v1.2.3