diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-05-04 12:25:05 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-05-05 14:34:05 +0200 |
| commit | 7401f06f99ac93aa479dcde2b6e17e2cdbf34a60 (patch) | |
| tree | 1fd9b23d298fc98b2431099c65fae8e77b5afbfe | |
| parent | f0feda820e678a7a8f7c2716b515145f4b9a5303 (diff) | |
| download | zig-7401f06f99ac93aa479dcde2b6e17e2cdbf34a60.tar.gz zig-7401f06f99ac93aa479dcde2b6e17e2cdbf34a60.zip | |
compiler: Set libc++ ABI version to 2 for Emscripten.
It remains 1 everywhere else.
Also remove some code that allowed setting the libc++ ABI version on the
Compilation since there are no current plans to actually expose this in the CLI.
| -rw-r--r-- | src/Compilation.zig | 4 | ||||
| -rw-r--r-- | src/libcxx.zig | 12 |
2 files changed, 3 insertions, 13 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 043e10643f..f4ba013d56 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -259,8 +259,6 @@ crt_files: std.StringHashMapUnmanaged(CrtFile) = .empty, /// Null means only show snippet on first error. reference_trace: ?u32 = null, -libcxx_abi_version: libcxx.AbiVersion = libcxx.AbiVersion.default, - /// This mutex guards all `Compilation` mutable state. /// Disabled in single-threaded mode because the thread pool spawns in the same thread. mutex: if (builtin.single_threaded) struct { @@ -1171,7 +1169,6 @@ pub const CreateOptions = struct { force_load_objc: bool = false, /// Whether local symbols should be discarded from the symbol table. discard_local_symbols: bool = false, - libcxx_abi_version: libcxx.AbiVersion = libcxx.AbiVersion.default, /// (Windows) PDB source path prefix to instruct the linker how to resolve relative /// paths when consolidating CodeView streams into a single PDB file. pdb_source_path: ?[]const u8 = null, @@ -1555,7 +1552,6 @@ pub fn create(gpa: Allocator, arena: Allocator, options: CreateOptions) !*Compil .debug_compiler_runtime_libs = options.debug_compiler_runtime_libs, .debug_compile_errors = options.debug_compile_errors, .incremental = options.incremental, - .libcxx_abi_version = options.libcxx_abi_version, .root_name = root_name, .sysroot = sysroot, .windows_libs = windows_libs, diff --git a/src/libcxx.zig b/src/libcxx.zig index 15728eb0b2..615fee514f 100644 --- a/src/libcxx.zig +++ b/src/libcxx.zig @@ -8,13 +8,6 @@ const build_options = @import("build_options"); const trace = @import("tracy.zig").trace; const Module = @import("Package/Module.zig"); -pub const AbiVersion = enum(u2) { - @"1" = 1, - @"2" = 2, - - pub const default: AbiVersion = .@"1"; -}; - const libcxxabi_files = [_][]const u8{ "src/abort_message.cpp", "src/cxa_aux_runtime.cpp", @@ -535,11 +528,12 @@ pub fn addCxxArgs( const target = comp.getTarget(); const optimize_mode = comp.compilerRtOptMode(); + const abi_version: u2 = if (target.os.tag == .emscripten) 2 else 1; try cflags.append(try std.fmt.allocPrint(arena, "-D_LIBCPP_ABI_VERSION={d}", .{ - @intFromEnum(comp.libcxx_abi_version), + abi_version, })); try cflags.append(try std.fmt.allocPrint(arena, "-D_LIBCPP_ABI_NAMESPACE=__{d}", .{ - @intFromEnum(comp.libcxx_abi_version), + abi_version, })); try cflags.append(try std.fmt.allocPrint(arena, "-D_LIBCPP_HAS_{s}THREADS", .{ if (!comp.config.any_non_single_threaded) "NO_" else "", |
