diff options
author | Sergei Trofimovich <slyfox@inbox.ru> | 2017-09-19 02:06:55 +0100 |
---|---|---|
committer | Stephen F. Booth <me@sbooth.org> | 2017-09-18 20:06:55 -0500 |
commit | 0b583bafd09c29695af9e84f7e7182280411a78e (patch) | |
tree | c2cb9b06fed7a25c2e01cb9a0bea90607b3926d5 /tests | |
parent | 46483948413c1330c036240ed89429a1c6905843 (diff) |
taglib: fix test build failure on powerpc/c++11 (#834)
powerpc is a platform with 'char' == 'unsigned char'.
As a result '-1' is not expressible in char and build fails as:
```
# '-funsigned-char' to force test build failure on other platforms
$ cmake .. -DBUILD_TESTS=YES -DCMAKE_CXX_FLAGS="-O2 -funsigned-char" -DCMAKE_C_FLAGS="-O2 -funsigned-char"
...
$ make check
tests/test_synchdata.cpp: In member function 'void TestID3v2SynchData::testToUIntBroken()':
tests/test_synchdata.cpp:78:33: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
char data[] = { 0, 0, 0, -1 };
^
```
The fix is to expliticly cast -1 to 'char'.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_synchdata.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/test_synchdata.cpp b/tests/test_synchdata.cpp index b4ec4096..08d65079 100644 --- a/tests/test_synchdata.cpp +++ b/tests/test_synchdata.cpp @@ -75,8 +75,8 @@ public: void testToUIntBroken() { - char data[] = { 0, 0, 0, -1 }; - char data2[] = { 0, 0, -1, -1 }; + char data[] = { 0, 0, 0, (char)-1 }; + char data2[] = { 0, 0, (char)-1, (char)-1 }; CPPUNIT_ASSERT_EQUAL((unsigned int)255, ID3v2::SynchData::toUInt(ByteVector(data, 4))); CPPUNIT_ASSERT_EQUAL((unsigned int)65535, ID3v2::SynchData::toUInt(ByteVector(data2, 4))); @@ -84,7 +84,7 @@ public: void testToUIntBrokenAndTooLarge() { - char data[] = { 0, 0, 0, -1, 0 }; + char data[] = { 0, 0, 0, (char)-1, 0 }; ByteVector v(data, 5); CPPUNIT_ASSERT_EQUAL((unsigned int)255, ID3v2::SynchData::toUInt(v)); |