From 4fb9c75fc944bbc3242feff653aacd69e17b75dc Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Wed, 7 Dec 2022 14:54:29 +0200 Subject: [PATCH] compiler-rt: do not export complex arithmetic on ofmt=c These functions cannot be properly implemented without #8465 Closes #13800 --- lib/compiler_rt/divdc3.zig | 4 +++- lib/compiler_rt/divhc3.zig | 4 +++- lib/compiler_rt/divsc3.zig | 4 +++- lib/compiler_rt/divtc3.zig | 4 +++- lib/compiler_rt/divxc3.zig | 4 +++- lib/compiler_rt/muldc3.zig | 4 +++- lib/compiler_rt/mulhc3.zig | 4 +++- lib/compiler_rt/mulsc3.zig | 4 +++- lib/compiler_rt/multc3.zig | 4 +++- lib/compiler_rt/mulxc3.zig | 4 +++- 10 files changed, 30 insertions(+), 10 deletions(-) diff --git a/lib/compiler_rt/divdc3.zig b/lib/compiler_rt/divdc3.zig index f7592f639d..8aad682e61 100644 --- a/lib/compiler_rt/divdc3.zig +++ b/lib/compiler_rt/divdc3.zig @@ -3,7 +3,9 @@ const divc3 = @import("./divc3.zig"); const Complex = @import("./mulc3.zig").Complex; comptime { - @export(__divdc3, .{ .name = "__divdc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__divdc3, .{ .name = "__divdc3", .linkage = common.linkage }); + } } pub fn __divdc3(a: f64, b: f64, c: f64, d: f64) callconv(.C) Complex(f64) { diff --git a/lib/compiler_rt/divhc3.zig b/lib/compiler_rt/divhc3.zig index e2d682fe2d..3de8967593 100644 --- a/lib/compiler_rt/divhc3.zig +++ b/lib/compiler_rt/divhc3.zig @@ -3,7 +3,9 @@ const divc3 = @import("./divc3.zig"); const Complex = @import("./mulc3.zig").Complex; comptime { - @export(__divhc3, .{ .name = "__divhc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__divhc3, .{ .name = "__divhc3", .linkage = common.linkage }); + } } pub fn __divhc3(a: f16, b: f16, c: f16, d: f16) callconv(.C) Complex(f16) { diff --git a/lib/compiler_rt/divsc3.zig b/lib/compiler_rt/divsc3.zig index a64f14629c..c9e0c0cbf5 100644 --- a/lib/compiler_rt/divsc3.zig +++ b/lib/compiler_rt/divsc3.zig @@ -3,7 +3,9 @@ const divc3 = @import("./divc3.zig"); const Complex = @import("./mulc3.zig").Complex; comptime { - @export(__divsc3, .{ .name = "__divsc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__divsc3, .{ .name = "__divsc3", .linkage = common.linkage }); + } } pub fn __divsc3(a: f32, b: f32, c: f32, d: f32) callconv(.C) Complex(f32) { diff --git a/lib/compiler_rt/divtc3.zig b/lib/compiler_rt/divtc3.zig index 190df5c067..e2382a1372 100644 --- a/lib/compiler_rt/divtc3.zig +++ b/lib/compiler_rt/divtc3.zig @@ -3,7 +3,9 @@ const divc3 = @import("./divc3.zig"); const Complex = @import("./mulc3.zig").Complex; comptime { - @export(__divtc3, .{ .name = "__divtc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__divtc3, .{ .name = "__divtc3", .linkage = common.linkage }); + } } pub fn __divtc3(a: f128, b: f128, c: f128, d: f128) callconv(.C) Complex(f128) { diff --git a/lib/compiler_rt/divxc3.zig b/lib/compiler_rt/divxc3.zig index 32fb269ca5..c6ed5a210c 100644 --- a/lib/compiler_rt/divxc3.zig +++ b/lib/compiler_rt/divxc3.zig @@ -3,7 +3,9 @@ const divc3 = @import("./divc3.zig"); const Complex = @import("./mulc3.zig").Complex; comptime { - @export(__divxc3, .{ .name = "__divxc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__divxc3, .{ .name = "__divxc3", .linkage = common.linkage }); + } } pub fn __divxc3(a: f80, b: f80, c: f80, d: f80) callconv(.C) Complex(f80) { diff --git a/lib/compiler_rt/muldc3.zig b/lib/compiler_rt/muldc3.zig index 343ae5a064..cef8f660b2 100644 --- a/lib/compiler_rt/muldc3.zig +++ b/lib/compiler_rt/muldc3.zig @@ -4,7 +4,9 @@ const mulc3 = @import("./mulc3.zig"); pub const panic = common.panic; comptime { - @export(__muldc3, .{ .name = "__muldc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__muldc3, .{ .name = "__muldc3", .linkage = common.linkage }); + } } pub fn __muldc3(a: f64, b: f64, c: f64, d: f64) callconv(.C) mulc3.Complex(f64) { diff --git a/lib/compiler_rt/mulhc3.zig b/lib/compiler_rt/mulhc3.zig index f1fad90aff..70c68e2a72 100644 --- a/lib/compiler_rt/mulhc3.zig +++ b/lib/compiler_rt/mulhc3.zig @@ -4,7 +4,9 @@ const mulc3 = @import("./mulc3.zig"); pub const panic = common.panic; comptime { - @export(__mulhc3, .{ .name = "__mulhc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__mulhc3, .{ .name = "__mulhc3", .linkage = common.linkage }); + } } pub fn __mulhc3(a: f16, b: f16, c: f16, d: f16) callconv(.C) mulc3.Complex(f16) { diff --git a/lib/compiler_rt/mulsc3.zig b/lib/compiler_rt/mulsc3.zig index 3ea055f9ff..5fe289453b 100644 --- a/lib/compiler_rt/mulsc3.zig +++ b/lib/compiler_rt/mulsc3.zig @@ -4,7 +4,9 @@ const mulc3 = @import("./mulc3.zig"); pub const panic = common.panic; comptime { - @export(__mulsc3, .{ .name = "__mulsc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__mulsc3, .{ .name = "__mulsc3", .linkage = common.linkage }); + } } pub fn __mulsc3(a: f32, b: f32, c: f32, d: f32) callconv(.C) mulc3.Complex(f32) { diff --git a/lib/compiler_rt/multc3.zig b/lib/compiler_rt/multc3.zig index c6afcdefb2..94f2205d76 100644 --- a/lib/compiler_rt/multc3.zig +++ b/lib/compiler_rt/multc3.zig @@ -4,7 +4,9 @@ const mulc3 = @import("./mulc3.zig"); pub const panic = common.panic; comptime { - @export(__multc3, .{ .name = "__multc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__multc3, .{ .name = "__multc3", .linkage = common.linkage }); + } } pub fn __multc3(a: f128, b: f128, c: f128, d: f128) callconv(.C) mulc3.Complex(f128) { diff --git a/lib/compiler_rt/mulxc3.zig b/lib/compiler_rt/mulxc3.zig index decba868e8..4a90d0e453 100644 --- a/lib/compiler_rt/mulxc3.zig +++ b/lib/compiler_rt/mulxc3.zig @@ -4,7 +4,9 @@ const mulc3 = @import("./mulc3.zig"); pub const panic = common.panic; comptime { - @export(__mulxc3, .{ .name = "__mulxc3", .linkage = common.linkage }); + if (@import("builtin").zig_backend != .stage2_c) { + @export(__mulxc3, .{ .name = "__mulxc3", .linkage = common.linkage }); + } } pub fn __mulxc3(a: f80, b: f80, c: f80, d: f80) callconv(.C) mulc3.Complex(f80) {