https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120325

            Bug ID: 120325
           Summary: [Regression] GCC-15 cannot build LLVM 20.1.5 with
                    CMAKE_CXX_STANDARD=20
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: calvin at wbinvd dot org
  Target Milestone: ---

Created attachment 61457
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61457&action=edit
Two errors

Hello all,

Building llvm-20.1.5 under the C++20 standard fails with gcc-15.1. The same
LLVM source builds successfully as C++20 with gcc-14.2.

I'm filing this for visibility, but per Jonathan Wakely's comment on the LLVM
Github issue, this likely needs to be fixed in LLVM:
https://github.com/llvm/llvm-project/issues/139072#issuecomment-2887806531

--

I ran an overnight git-bisect on gcc, and it landed here in libstdc++:
https://github.com/gcc-mirror/gcc/commit/3abe751ea86e3472fa2c97bf2014f9f93f569019
(full bisect log is in attachments).

The two error messages from GCC are attached: the first is the message I see on
the commit blamed by the bisect; the second is the error I see on the current
gcc-15 release branch. Using LLVM to build itself against libstdc++ results in
nearly identical errors as seen with gcc-15 (both compilers agree).

I'm building GCC as follows:

        ./configure \
                --prefix="${HOME}/gcc-bisect/" \
                --disable-multilib \
                --enable-default-pie \
                --disable-bootstrap
        BOOT_CFLAGS="-Os -pipe" make -j33 -s
        make install -s

...and building LLVM as follows:

        cmake -G Ninja \
                -DCMAKE_INSTALL_PREFIX="${HOME}/bisect-llvm-test" \
                -DCMAKE_BUILD_TYPE=Release \
                -DCMAKE_C_FLAGS="-Os -pipe" \
                -DCMAKE_C_COMPILER="${HOME}/gcc-bisect/bin/gcc" \
                -DCMAKE_CXX_FLAGS="-Os -pipe" \
                -DCMAKE_CXX_COMPILER="${HOME}/gcc-bisect/bin/g++" \
                -DCMAKE_CXX_STANDARD=20 \
                -DLLVM_ENABLE_PROJECTS=all \
                -DLLVM_ENABLE_RUNTIMES=all \
                ../llvm
        ninja all

Reply via email to