boostorg / gil

Boost.GIL - Generic Image Library | Requires C++14 since Boost 1.80
https://boostorg.github.io/gil
Boost Software License 1.0
178 stars 164 forks source link

color_convert_rgb / gcc-5~c++14: converting to std::tuple from initializer list would use explicit constructor constexpr std::tuple #710

Closed mloskot closed 2 years ago

mloskot commented 2 years ago

Actual behavior

The /test/extension/toolbox/color_convert_hsl.cpp is failing on Boost regression build:

https://www.boost.org/development/tests/develop/developer/output/teeks99-dkr-dg5-boost-bin-v2-libs-gil-test-extension-toolbox-color_convert_rgb-test-gcc-5~c++14-debug-debug-symbols-off-threading-multi-visibility-hidden.html

Compile [2022-07-10 16:43:20 UTC]: fail

    "g++-5"   -fvisibility-inlines-hidden -std=c++14 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden  -DBOOST_ALL_NO_LIB=1 -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION  -I".." -I"../libs/gil/test"  -c -o "/var/boost/run/results/boost/bin.v2/libs/gil/test/extension/toolbox/color_convert_rgb.test/gcc-5~c++14/debug/debug-symbols-off/threading-multi/visibility-hidden/color_convert_rgb.o" "../libs/gil/test/extension/toolbox/color_convert_rgb.cpp"

../libs/gil/test/extension/toolbox/color_convert_rgb.cpp: In function 'void test_colors_rgb_to_hsl()':
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, int, int, int}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
     };
     ^
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, int, int, int}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, int, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, int, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, int, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, int, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'
../libs/gil/test/extension/toolbox/color_convert_rgb.cpp:54:5: error: converting to 'std::tuple<unsigned char, unsigned char, unsigned char, float, float, float>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, float, int, double}; <template-parameter-2-2> = void; _Elements = {unsigned char, unsigned char, unsigned char, float, float, float}]'

Expected behavior

Compilation pass or skip, if compiler/mode not supported.

Environment