diff options
| -rw-r--r-- | src/libcxx.zig | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/libcxx.zig b/src/libcxx.zig index 08d7a11dc5..1baa6df1b1 100644 --- a/src/libcxx.zig +++ b/src/libcxx.zig @@ -237,19 +237,18 @@ pub fn buildLibCXX(comp: *Compilation, prog_node: std.Progress.Node) BuildError! try cflags.append("-DNDEBUG"); try cflags.append(hardeningModeFlag(optimize_mode)); try cflags.append("-D_LIBCPP_BUILDING_LIBRARY"); + try cflags.append("-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS"); try cflags.append("-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER"); + try cflags.append("-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS"); try cflags.append("-DLIBCXX_BUILDING_LIBCXXABI"); try cflags.append("-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS"); - try cflags.append("-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS"); - try cflags.append("-D_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS"); - try cflags.append("-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS"); // See libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h // for potentially enabling some fancy features here, which would // require corresponding changes in libcxx.zig, as well as // Compilation.addCCArgs. This option makes it use serial backend which // is simple and works everywhere. - try cflags.append("-D_LIBCPP_PSTL_CPU_BACKEND_SERIAL"); + try cflags.append("-D_LIBCPP_PSTL_BACKEND_SERIAL"); try cflags.append(abi_version_arg); try cflags.append(abi_namespace_arg); @@ -283,8 +282,10 @@ pub fn buildLibCXX(comp: *Compilation, prog_node: std.Progress.Node) BuildError! try cflags.append("-fPIC"); } try cflags.append("-nostdinc++"); - try cflags.append("-std=c++20"); + try cflags.append("-std=c++23"); try cflags.append("-Wno-user-defined-literals"); + try cflags.append("-Wno-covered-switch-default"); + try cflags.append("-Wno-suggest-override"); // These depend on only the zig lib directory file path, which is // purposefully either in the cache or not in the cache. The decision @@ -476,19 +477,17 @@ pub fn buildLibCXXABI(comp: *Compilation, prog_node: std.Progress.Node) BuildErr continue; } try cflags.append("-D_LIBCXXABI_HAS_NO_THREADS"); - try cflags.append("-D_LIBCPP_HAS_NO_THREADS"); } else if (target.abi.isGnu()) { if (target.os.tag != .linux or !(target.os.version_range.linux.glibc.order(.{ .major = 2, .minor = 18, .patch = 0 }) == .lt)) try cflags.append("-DHAVE___CXA_THREAD_ATEXIT_IMPL"); } - try cflags.append("-D_LIBCPP_DISABLE_EXTERN_TEMPLATE"); - try cflags.append("-D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS"); + try cflags.append("-DNDEBUG"); + try cflags.append(hardeningModeFlag(optimize_mode)); try cflags.append("-D_LIBCXXABI_BUILDING_LIBRARY"); try cflags.append("-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS"); try cflags.append("-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS"); - // This must be coordinated with the same flag in libcxx - try cflags.append("-D_LIBCPP_PSTL_CPU_BACKEND_SERIAL"); + try cflags.append("-D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS"); try cflags.append(abi_version_arg); try cflags.append(abi_namespace_arg); @@ -507,14 +506,15 @@ pub fn buildLibCXXABI(comp: *Compilation, prog_node: std.Progress.Node) BuildErr } } - try cflags.append(hardeningModeFlag(optimize_mode)); - if (target_util.supports_fpic(target)) { try cflags.append("-fPIC"); } try cflags.append("-nostdinc++"); try cflags.append("-fstrict-aliasing"); - try cflags.append("-std=c++20"); + try cflags.append("-std=c++23"); + try cflags.append("-Wno-user-defined-literals"); + try cflags.append("-Wno-covered-switch-default"); + try cflags.append("-Wno-suggest-override"); // These depend on only the zig lib directory file path, which is // purposefully either in the cache or not in the cache. The decision |
