diff options
author | Mark Harris <mark.hsj@gmail.com> | 2018-07-21 17:55:24 -0700 |
---|---|---|
committer | Mark Harris <mark.hsj@gmail.com> | 2018-07-21 21:35:39 -0700 |
commit | 01b035f8ba4f48e9e1ad9f9407f77ce9a7e4aa44 (patch) | |
tree | 650ba740211d9f62460076d6fea50c29d839758e /src | |
parent | c1c247d7e715100a50ca185948c7336bdd4dfdba (diff) | |
download | opus-01b035f8ba4f48e9e1ad9f9407f77ce9a7e4aa44.tar.gz |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/mapping_matrix.c | 3 | ||||
-rw-r--r-- | src/opus_projection_decoder.c | 8 | ||||
-rw-r--r-- | src/opus_projection_encoder.c | 15 |
3 files changed, 19 insertions, 7 deletions
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, |