git: a34d2231fa38 - main - Partially revert 6527682ab705 for llvm-based projects
Date: Thu, 24 Apr 2025 14:36:49 UTC
The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a34d2231fa38a5e440ecdc94dbca3b3deb5a7f50 commit a34d2231fa38a5e440ecdc94dbca3b3deb5a7f50 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2025-04-24 12:03:38 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2025-04-24 14:36:40 +0000 Partially revert 6527682ab705 for llvm-based projects Upstream llvm compiles most of their subprojects with -std=c++17 explicitly, not -std=gnu++17. In gnu++17 mode, both clang and gcc define the macro 'i386' on i386, which clashes with a namespace identifier in contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/i386.h. Since the default after 6527682ab705 is now CXXSTD=gnu++17, explicitly set CXXSTD=c++17 for lib/clang, lib/libclang_rt and lib/libomp. --- lib/clang/llvm.build.mk | 1 + lib/libclang_rt/Makefile.inc | 1 + lib/libomp/Makefile | 1 + 3 files changed, 3 insertions(+) diff --git a/lib/clang/llvm.build.mk b/lib/clang/llvm.build.mk index c731deba8976..e88b2ff1033e 100644 --- a/lib/clang/llvm.build.mk +++ b/lib/clang/llvm.build.mk @@ -119,6 +119,7 @@ LDFLAGS+= -Wl,-m,elf64lriscv_fbsd .endif .endif +CXXSTD= c++17 CXXFLAGS+= -fno-exceptions CXXFLAGS+= -fno-rtti .if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING) diff --git a/lib/libclang_rt/Makefile.inc b/lib/libclang_rt/Makefile.inc index e7db5a469661..c472e8b741be 100644 --- a/lib/libclang_rt/Makefile.inc +++ b/lib/libclang_rt/Makefile.inc @@ -33,3 +33,4 @@ CXXFLAGS+= -fvisibility-inlines-hidden CXXFLAGS+= -fvisibility=hidden CFLAGS+= -I${CRTSRC}/include CFLAGS+= -I${CRTSRC}/lib +CXXSTD= c++17 diff --git a/lib/libomp/Makefile b/lib/libomp/Makefile index f1513e70f3f6..6c14c7d21077 100644 --- a/lib/libomp/Makefile +++ b/lib/libomp/Makefile @@ -57,6 +57,7 @@ CFLAGS+= -fdata-sections CXXFLAGS+= -fvisibility-inlines-hidden CXXFLAGS+= -fno-exceptions CXXFLAGS+= -fno-rtti +CXXSTD= c++17 .if ${COMPILER_TYPE} == "clang" .if ${MACHINE_CPUARCH} == "i386"