1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-24 07:40:52 +00:00
freebsd/lib/libc++
Dimitry Andric bc9e19dce0 Fix buildworld with gcc 12 after llvm-19 import
Unfortunately gcc 12's is not yet capable of compiling all of libc++
19's C++23 code, which results in errors similar to:

  /usr/src/freebsd/src/contrib/llvm-project/libcxx/include/__algorithm/ranges_contains.h:41:3: error: 'static constexpr bool std::__1::ranges::__contains::__fn::operator()(_Iter, _Sent, const _Type&, _Proj)' must be a non-static member function
     41 |   operator()(_Iter __first, _Sent __last, const _Type& __value, _Proj __proj = {}) {
        |   ^~~~~~~~
  /usr/src/freebsd/src/contrib/llvm-project/libcxx/include/__algorithm/ranges_contains.h:48:3: error: 'static constexpr bool std::__1::ranges::__contains::__fn::operator()(_Range&&, const _Type&, _Proj)' must be a non-static member function
     48 |   operator()(_Range&& __range, const _Type& __value, _Proj __proj = {}) {
        |   ^~~~~~~~

Until we can get rid of gcc 12, work around this by making it compile
libc++ in C++20 mode instead.

NOTE: The resulting libc++ library will not be C++23 compatible! Please
try to avoid shipping it, and use gcc 13 instead, if you must use gcc.

PR:		280562
MFC after:	3 days
2024-10-25 18:08:32 +02:00
..
__assertion_handler Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0 2024-10-23 20:26:01 +02:00
__config_site Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0 2024-10-23 20:26:01 +02:00
libc++.ldscript Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
libcxx.imp libcxx-compat: update libcxx.imp for headers that were reintroduced by reverts 2024-10-23 20:26:50 +02:00
Makefile Fix buildworld with gcc 12 after llvm-19 import 2024-10-25 18:08:32 +02:00
Makefile.depend Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00