Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 451648 Details for
Bug 582792
media-libs/audiofile-0.3.6-r1: building w/gcc-6: error: left operand of shift expression '(-1 << 7)' is negative [-fpermissive]
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
audiofile-0.3.6-gcc6-build-fixes.patch
audiofile-0.3.6-gcc6-build-fixes.patch (text/plain), 3.70 KB, created by
Jonathan Scruggs (RETIRED)
on 2016-10-27 16:41:36 UTC
(
hide
)
Description:
audiofile-0.3.6-gcc6-build-fixes.patch
Filename:
MIME Type:
Creator:
Jonathan Scruggs (RETIRED)
Created:
2016-10-27 16:41:36 UTC
Size:
3.70 KB
patch
obsolete
>From 308571e254ad30101be8c1247d2b0b64cf488386 Mon Sep 17 00:00:00 2001 >From: Michael Schwendt <mschwendt@fedoraproject.org> >Date: Wed, 3 Feb 2016 21:56:11 +0100 >Subject: [PATCH] left shifting a negative int is undefined behaviour / > narrowing conversion issues / for GCC 6 > >fix left shifts for 32-bit to avoid int overflow > >avoid int overflow too > >char on ARM is unsigned by default >--- > 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(-) > >diff --git a/libaudiofile/modules/SimpleModule.h b/libaudiofile/modules/SimpleModule.h >index 03c6c69..e4cc138 100644 >--- a/libaudiofile/modules/SimpleModule.h >+++ b/libaudiofile/modules/SimpleModule.h >@@ -123,7 +123,7 @@ struct signConverter > typedef typename IntTypes<Format>::UnsignedType UnsignedType; > > static const int kScaleBits = (Format + 1) * CHAR_BIT - 1; >- static const int kMinSignedValue = -1 << kScaleBits; >+ static const int kMinSignedValue = 0-(1U<<kScaleBits); > > struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType> > { >diff --git a/test/FloatToInt.cpp b/test/FloatToInt.cpp >index 0d179a8..bf491b2 100644 >--- a/test/FloatToInt.cpp >+++ b/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) >diff --git a/test/IntToFloat.cpp b/test/IntToFloat.cpp >index b716635..1d91b58 100644 >--- a/test/IntToFloat.cpp >+++ b/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) >diff --git a/test/NeXT.cpp b/test/NeXT.cpp >index 7e39850..a37cea1 100644 >--- a/test/NeXT.cpp >+++ b/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 > }; >diff --git a/test/Sign.cpp b/test/Sign.cpp >index 7275399..c339514 100644 >--- a/test/Sign.cpp >+++ b/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; > >-- >2.10.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 582792
:
434972
| 451648