cereal icon indicating copy to clipboard operation
cereal copied to clipboard

Compile warnings when building tests on arm, ppc, s390x

Open swt2c opened this issue 1 year ago • 0 comments

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.

swt2c avatar Oct 13 '22 16:10 swt2c