Skip to content

tuple_test generates compiler warnings about double promotion.

tuple_test generates compiler warnings about double promotion.

12/1906] Building CXX object test/CMakeFiles/tuple_test.dir/tuple_test.cpp.o
In file included from ../test/tuple_test.cpp:10:
../test/main.h:666:16: warning: comparison of integers of different signs: 'const unsigned long' and 'const int' [-Wsign-compare]
    if ((actual==expected) == expect_equal)
         ~~~~~~^ ~~~~~~~~
../test/tuple_test.cpp:50:3: note: in instantiation of function template specialization 'Eigen::test_is_equal<unsigned long, int>' requested here
  VERIFY_IS_EQUAL(tuple_impl::tuple_size<decltype(tuple0)>::value, 0);
  ^
../test/main.h:366:38: note: expanded from macro 'VERIFY_IS_EQUAL'
#define VERIFY_IS_EQUAL(a, b) VERIFY(test_is_equal(a, b, true))
                                     ^
../test/main.h:666:10: warning: implicit conversion increases floating-point precision: 'const float' to 'double' [-Wdouble-promotion]
    if ((actual==expected) == expect_equal)
         ^~~~~~~~
../test/tuple_test.cpp:89:3: note: in instantiation of function template specialization 'Eigen::test_is_equal<float, double>' requested here
  VERIFY_IS_EQUAL( (tuple_impl::get<1>(tuple_impl::get<2>(tuple_tie))), 5.0 );
  ^
../test/main.h:366:38: note: expanded from macro 'VERIFY_IS_EQUAL'
#define VERIFY_IS_EQUAL(a, b) VERIFY(test_is_equal(a, b, true))
                                     ^
2 warnings generated.```