cereal
cereal copied to clipboard
Compile warnings when building tests on arm, ppc, s390x
When building on arm64, the following warnings are issued when building the tests.
[ 35%] Building CXX object unittests/CMakeFiles/test_unordered_multiset.dir/unordered_multiset.cpp.o
cd /builddir/build/BUILD/cereal-1.3.2/redhat-linux-build/unittests && /usr/bin/g++ -I/builddir/build/BUILD/cereal-1.3.2/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -Wall -Wextra -pedantic -Wshadow -Wold-style-cast -std=gnu++11 -MD -MT unittests/CMakeFiles/test_unordered_multiset.dir/unordered_multiset.cpp.o -MF CMakeFiles/test_unordered_multiset.dir/unordered_multiset.cpp.o.d -o CMakeFiles/test_unordered_multiset.dir/unordered_multiset.cpp.o -c /builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multiset.cpp
In file included from /builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.cpp:28:
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp: In instantiation of 'void test_unordered_multimap() [with IArchive = cereal::BinaryInputArchive; OArchive = cereal::BinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.cpp:34:83: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:75:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:76:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp: In instantiation of 'void test_unordered_multimap() [with IArchive = cereal::PortableBinaryInputArchive; OArchive = cereal::PortableBinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.cpp:39:99: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:75:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:76:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp: In instantiation of 'void test_unordered_multimap() [with IArchive = cereal::XMLInputArchive; OArchive = cereal::XMLOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.cpp:44:77: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:75:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:76:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp: In instantiation of 'void test_unordered_multimap() [with IArchive = cereal::JSONInputArchive; OArchive = cereal::JSONOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.cpp:49:79: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:75:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_multimap.hpp:76:40: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplunordered_multimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
In file included from /builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.cpp:28:
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp: In instantiation of 'void test_unordered_map() [with IArchive = cereal::BinaryInputArchive; OArchive = cereal::BinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.cpp:34:78: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp:57:53: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
57 | o_esplunordered_map.insert({random_value<char>(gen), { random_value<int>(gen), random_value<int>(gen) }});
| ~~~~~~~~~~~~~~~~~~^~~~~
In file included from /builddir/build/BUILD/cereal-1.3.2/unittests/map.cpp:28:
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp: In instantiation of 'void test_map() [with IArchive = cereal::BinaryInputArchive; OArchive = cereal::BinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/map.cpp:34:68: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp:65:43: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
65 | o_esplmap.insert({random_value<char>(gen), { random_value<int>(gen), random_value<int>(gen) }});
| ~~~~~~~~~~~~~~~~~~^~~~~
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp: In instantiation of 'void test_map() [with IArchive = cereal::PortableBinaryInputArchive; OArchive = cereal::PortableBinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/map.cpp:39:84: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp:65:43: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp: In instantiation of 'void test_unordered_map() [with IArchive = cereal::PortableBinaryInputArchive; OArchive = cereal::PortableBinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.cpp:39:94: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp:57:53: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp: In instantiation of 'void test_map() [with IArchive = cereal::XMLInputArchive; OArchive = cereal::XMLOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/map.cpp:44:62: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp:65:43: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp: In instantiation of 'void test_map() [with IArchive = cereal::JSONInputArchive; OArchive = cereal::JSONOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/map.cpp:49:64: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/map.hpp:65:43: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp: In instantiation of 'void test_unordered_map() [with IArchive = cereal::XMLInputArchive; OArchive = cereal::XMLOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.cpp:44:72: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp:57:53: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp: In instantiation of 'void test_unordered_map() [with IArchive = cereal::JSONInputArchive; OArchive = cereal::JSONOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.cpp:49:74: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/unordered_map.hpp:57:53: warning: narrowing conversion of 'random_value<char>(gen)' from 'std::enable_if<true, char>::type' {aka 'char'} to 'signed char' [-Wnarrowing]
In file included from /builddir/build/BUILD/cereal-1.3.2/unittests/multimap.cpp:28:
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp: In instantiation of 'void test_multimap() [with IArchive = cereal::BinaryInputArchive; OArchive = cereal::BinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.cpp:34:73: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:75:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:76:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp: In instantiation of 'void test_multimap() [with IArchive = cereal::PortableBinaryInputArchive; OArchive = cereal::PortableBinaryOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.cpp:39:89: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:75:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:76:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp: In instantiation of 'void test_multimap() [with IArchive = cereal::XMLInputArchive; OArchive = cereal::XMLOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.cpp:44:67: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:75:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:76:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp: In instantiation of 'void test_multimap() [with IArchive = cereal::JSONInputArchive; OArchive = cereal::JSONOutputArchive]':
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.cpp:49:69: required from here
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:75:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
75 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
/builddir/build/BUILD/cereal-1.3.2/unittests/multimap.hpp:76:30: warning: narrowing conversion of 'key' from 'char' to 'signed char' [-Wnarrowing]
76 | o_esplmultimap.insert({key, { random_value<int>(gen), random_value<int>(gen) }});
| ^~~
With the default configuration (which seems to be werror?) this results in a compilation failure. Disabling werror works around it.