@@ -, +, @@ narrowing conversion issues / for GCC 6 --- libaudiofile/modules/SimpleModule.h | 2 +- test/FloatToInt.cpp | 2 +- test/IntToFloat.cpp | 2 +- test/NeXT.cpp | 14 +++++++------- test/Sign.cpp | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) --- a/libaudiofile/modules/SimpleModule.h +++ a/libaudiofile/modules/SimpleModule.h @@ -123,7 +123,7 @@ struct signConverter typedef typename IntTypes::UnsignedType UnsignedType; static const int kScaleBits = (Format + 1) * CHAR_BIT - 1; - static const int kMinSignedValue = -1 << kScaleBits; + static const int kMinSignedValue = 0-(1U< { --- a/test/FloatToInt.cpp +++ a/test/FloatToInt.cpp @@ -115,7 +115,7 @@ TEST_F(FloatToIntTest, Int16) EXPECT_EQ(readData[i], expectedData[i]); } -static const int32_t kMinInt24 = -1<<23; +static const int32_t kMinInt24 = 0-(1U<<23); static const int32_t kMaxInt24 = (1<<23) - 1; TEST_F(FloatToIntTest, Int24) --- a/test/IntToFloat.cpp +++ a/test/IntToFloat.cpp @@ -117,7 +117,7 @@ TEST_F(IntToFloatTest, Int16) EXPECT_EQ(readData[i], expectedData[i]); } -static const int32_t kMinInt24 = -1<<23; +static const int32_t kMinInt24 = 0-(1U<<23); static const int32_t kMaxInt24 = (1<<23) - 1; TEST_F(IntToFloatTest, Int24) --- a/test/NeXT.cpp +++ a/test/NeXT.cpp @@ -37,13 +37,13 @@ #include "TestUtilities.h" -const char kDataUnspecifiedLength[] = +const signed char kDataUnspecifiedLength[] = { '.', 's', 'n', 'd', 0, 0, 0, 24, // offset of 24 bytes - 0xff, 0xff, 0xff, 0xff, // unspecified length + -1, -1, -1, -1, // unspecified length 0, 0, 0, 3, // 16-bit linear - 0, 0, 172, 68, // 44100 Hz + 0, 0, -84, 68, // 44100 Hz (0xAC44) 0, 0, 0, 1, // 1 channel 0, 1, 0, 1, @@ -57,13 +57,13 @@ const char kDataUnspecifiedLength[] = 0, 55 }; -const char kDataTruncated[] = +const signed char kDataTruncated[] = { '.', 's', 'n', 'd', 0, 0, 0, 24, // offset of 24 bytes 0, 0, 0, 20, // length of 20 bytes 0, 0, 0, 3, // 16-bit linear - 0, 0, 172, 68, // 44100 Hz + 0, 0, -84, 68, // 44100 Hz (0xAC44) 0, 0, 0, 1, // 1 channel 0, 1, 0, 1, @@ -152,13 +152,13 @@ TEST(NeXT, Truncated) ASSERT_EQ(::unlink(testFileName.c_str()), 0); } -const char kDataZeroChannels[] = +const signed char kDataZeroChannels[] = { '.', 's', 'n', 'd', 0, 0, 0, 24, // offset of 24 bytes 0, 0, 0, 2, // 2 bytes 0, 0, 0, 3, // 16-bit linear - 0, 0, 172, 68, // 44100 Hz + 0, 0, -84, 68, // 44100 Hz (0xAC44) 0, 0, 0, 0, // 0 channels 0, 1 }; --- a/test/Sign.cpp +++ a/test/Sign.cpp @@ -116,7 +116,7 @@ TEST_F(SignConversionTest, Int16) EXPECT_EQ(readData[i], expectedData[i]); } -static const int32_t kMinInt24 = -1<<23; +static const int32_t kMinInt24 = 0-(1U<<23); static const int32_t kMaxInt24 = (1<<23) - 1; static const uint32_t kMaxUInt24 = (1<<24) - 1; --