Why lang/gcc14-devel builds are failing on the build servers: needs USES= compiler:c++14-lang (or higher) instead of compiler:c++11-lang
Date: Thu, 08 Feb 2024 05:51:31 UTC
The error on the FreeBSD build servers: QUOTE /wrkdirs/usr/ports/lang/gcc14-devel/work/gcc-14-20240114/gcc/config/aarch64/aarch64.cc:13095:50: error: constexpr variable 'tiles' must be initialized by a constant expression 13095 | static constexpr std::pair<unsigned int, char> tiles[] = { | ^ ~ 13096 | { 0xff, 'b' }, | ~~~~~~~~~~~~~~ 13097 | { 0x55, 'h' }, | ~~~~~~~~~~~~~~ 13098 | { 0x11, 's' }, | ~~~~~~~~~~~~~~ 13099 | { 0x01, 'd' } | ~~~~~~~~~~~~~ 13100 | }; | ~ /wrkdirs/usr/ports/lang/gcc14-devel/work/gcc-14-20240114/gcc/config/aarch64/aarch64.cc:13096:5: note: non-constexpr constructor 'pair<int, char, nullptr>' cannot be used in a constant expression 13096 | { 0xff, 'b' }, | ^ /usr/include/c++/v1/__utility/pair.h:225:5: note: declared here 225 | pair(_U1&& __u1, _U2&& __u2) END QUOTE is because C++11 did not have pair constructors being constexpr. C++14 (and later) does. Yet lang/gcc14-devel 's Makefile says: USES= compiler:c++11-lang cpe gmake iconv libtool makeinfo perl5 tar:xz === Mark Millard marklmi at yahoo.com