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

From: Mark Millard <marklmi_at_yahoo.com>
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