[Bug 280562] [exp-run] Against llvm-19-update branch on GitHub

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 01 Dec 2024 12:55:40 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280562

--- Comment #170 from commit-hook@FreeBSD.org ---
A commit in branch stable/13 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=7954b908bdb1b5c5aae962bc9d9dbe197345f875

commit 7954b908bdb1b5c5aae962bc9d9dbe197345f875
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-10-25 16:07:59 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-12-01 12:32:46 +0000

    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

    (cherry picked from commit bc9e19dce0abee80750e6fa04aaf979873bfe0d2)

 contrib/llvm-project/libcxx/src/expected.cpp | 2 ++
 lib/libc++/Makefile                          | 8 ++++++++
 2 files changed, 10 insertions(+)

-- 
You are receiving this mail because:
You are on the CC list for the bug.