Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Feb 2024 09:39:54 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Nuno Teixeira <eduardo@freebsd.org>
Cc:        Mark Millard <marklmi@yahoo.com>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD Mailing List <freebsd-ports@freebsd.org>, "salvadore@freebsd.org" <salvadore@freebsd.org>
Subject:   Re: 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
Message-ID:  <2B9415F3-80C7-4B48-9CF0-7F1FD0BE3FEA@FreeBSD.org>
In-Reply-To: <CAFDf7UKhVxXH-SmW%2BS1k0a1kOoGtyZmEQvN0zX4Etucy3pAsjA@mail.gmail.com>
References:  <62C8F08E-8D73-4918-A91F-4FC01E94FD8A.ref@yahoo.com> <62C8F08E-8D73-4918-A91F-4FC01E94FD8A@yahoo.com> <CAFDf7UKhVxXH-SmW%2BS1k0a1kOoGtyZmEQvN0zX4Etucy3pAsjA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Deprecated? It's essential to figure out the compiler type and version, =
if you need that in a port Makefile!

How are you going to do that otherwise? If you don't set USES=3Dcompiler, =
at the least, COMPILER_TYPE and _VERSION aren't even defined...

-Dimitry

> On 8 Feb 2024, at 08:40, Nuno Teixeira <eduardo@freebsd.org> wrote:
>=20
> USES compiler is somehow deprecated as clang and gcc on base and ports =
supports capable compiler described in handbook:
> https://docs.freebsd.org/en/books/porters-handbook/book/#uses-compiler
>=20
> Mark Millard <marklmi@yahoo.com> escreveu (quinta, 8/02/2024 =C3=A0(s) =
05:52):
> The error on the FreeBSD build servers:
>=20
> QUOTE
> =
/wrkdirs/usr/ports/lang/gcc14-devel/work/gcc-14-20240114/gcc/config/aarch6=
4/aarch64.cc:13095:50: error: constexpr variable 'tiles' must be =
initialized by a constant expression
> 13095 | static constexpr std::pair<unsigned int, char> tiles[] =3D {
> | ^ ~
> 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/aarch6=
4/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
>=20
> is because C++11 did not have pair constructors being constexpr.
> C++14 (and later) does. Yet lang/gcc14-devel 's Makefile says:
>=20
> USES=3D           compiler:c++11-lang cpe gmake iconv libtool makeinfo =
perl5 tar:xz
>=20
>=20
> =3D=3D=3D
> Mark Millard
> marklmi at yahoo.com
>=20
>=20
>=20
>=20
> --=20
> Nuno Teixeira
> FreeBSD Committer (ports)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2B9415F3-80C7-4B48-9CF0-7F1FD0BE3FEA>