Commit 1c45903274

Andrew Kelley <andrew@ziglang.org>
2024-10-22 02:17:30
handle _fltused in compiler_rt
so we don't have to do an entire compilation unit for just this silly symbol
1 parent 2294861
Changed files (2)
lib/c.zig
@@ -38,8 +38,6 @@ comptime {
         @export(&strncpy, .{ .name = "strncpy", .linkage = .strong });
         @export(&strcat, .{ .name = "strcat", .linkage = .strong });
         @export(&strncat, .{ .name = "strncat", .linkage = .strong });
-    } else if (is_msvc) {
-        @export(&_fltused, .{ .name = "_fltused", .linkage = .strong });
     }
 }
 
@@ -62,8 +60,6 @@ fn wasm_start() callconv(.C) void {
     _ = main(0, undefined);
 }
 
-var _fltused: c_int = 1;
-
 fn strcpy(dest: [*:0]u8, src: [*:0]const u8) callconv(.C) [*:0]u8 {
     var i: usize = 0;
     while (src[i] != 0) : (i += 1) {
lib/compiler_rt.zig
@@ -1,6 +1,7 @@
 const builtin = @import("builtin");
+const common = @import("compiler_rt/common.zig");
 
-pub const panic = @import("compiler_rt/common.zig").panic;
+pub const panic = common.panic;
 
 comptime {
     // Integer routines
@@ -236,4 +237,10 @@ comptime {
         _ = @import("compiler_rt/bcmp.zig");
         _ = @import("compiler_rt/ssp.zig");
     }
+
+    if (!builtin.link_libc and builtin.abi == .msvc) {
+        @export(&_fltused, .{ .name = "_fltused", .linkage = common.linkage, .visibility = common.visibility });
+    }
 }
+
+var _fltused: c_int = 1;