avoid int overflow too

This commit is contained in:
Michael Schwendt 2016-02-04 10:16:55 +01:00
parent 1f75efdeaa
commit a4d2feea0b
1 changed files with 4 additions and 4 deletions

View File

@ -6,7 +6,7 @@ diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/libaudiofile/modules/SimpleM
static const int kScaleBits = (Format + 1) * CHAR_BIT - 1;
- static const int kMinSignedValue = -1 << kScaleBits;
+ static const int kMinSignedValue = 0L-(1<<kScaleBits);
+ static const int kMinSignedValue = 0-(1U<<kScaleBits);
struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType>
{
@ -18,7 +18,7 @@ diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/test/FloatToInt.cpp audiofil
}
-static const int32_t kMinInt24 = -1<<23;
+static const int32_t kMinInt24 = 0L-(1<<23);
+static const int32_t kMinInt24 = 0-(1U<<23);
static const int32_t kMaxInt24 = (1<<23) - 1;
TEST_F(FloatToIntTest, Int24)
@ -30,7 +30,7 @@ diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/test/IntToFloat.cpp audiofil
}
-static const int32_t kMinInt24 = -1<<23;
+static const int32_t kMinInt24 = 0L-(1<<23);
+static const int32_t kMinInt24 = 0-(1U<<23);
static const int32_t kMaxInt24 = (1<<23) - 1;
TEST_F(IntToFloatTest, Int24)
@ -42,7 +42,7 @@ diff -Nurb --strip-trailing-cr audiofile-0.3.6-orig/test/Sign.cpp audiofile-0.3.
}
-static const int32_t kMinInt24 = -1<<23;
+static const int32_t kMinInt24 = 0L-(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;