aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-06-13 20:39:40 -0400
committerGitHub <noreply@github.com>2021-06-13 20:39:40 -0400
commit86ebd4b975d2f1e01f468e06daab6e28c06f9719 (patch)
tree250bfe03e0768bdf7619fa8bb588b6815e1d3f0d /lib/std
parentdf4f11f42f44b4ee2a06e43095bc160277ceed42 (diff)
parente63ff4f1c110165c4b92025cb5b9d5531e861643 (diff)
downloadzig-86ebd4b975d2f1e01f468e06daab6e28c06f9719.tar.gz
zig-86ebd4b975d2f1e01f468e06daab6e28c06f9719.zip
Merge pull request #9106 from Vexu/fmt
Add formatting check to CI pipeline
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/Thread/Futex.zig16
-rw-r--r--lib/std/c/darwin.zig4
-rw-r--r--lib/std/fmt/parse_float.zig15
-rw-r--r--lib/std/special/compiler_rt.zig831
-rw-r--r--lib/std/special/compiler_rt/atomics.zig130
-rw-r--r--lib/std/zig/parse.zig57
6 files changed, 674 insertions, 379 deletions
diff --git a/lib/std/Thread/Futex.zig b/lib/std/Thread/Futex.zig
index 01353e9fb8..356a4e2046 100644
--- a/lib/std/Thread/Futex.zig
+++ b/lib/std/Thread/Futex.zig
@@ -84,7 +84,7 @@ else
const WindowsFutex = struct {
const windows = std.os.windows;
-
+
fn wait(ptr: *const Atomic(u32), expect: u32, timeout: ?u64) error{TimedOut}!void {
var timeout_value: windows.LARGE_INTEGER = undefined;
var timeout_ptr: ?*const windows.LARGE_INTEGER = null;
@@ -299,7 +299,7 @@ const PosixFutex = struct {
state: State = .empty,
cond: std.c.pthread_cond_t = .{},
mutex: std.c.pthread_mutex_t = .{},
-
+
const Self = @This();
const State = enum {
empty,
@@ -381,7 +381,7 @@ test "Futex - wait/wake" {
const wait_noop_result = Futex.wait(&value, 0, 0);
try testing.expectError(error.TimedOut, wait_noop_result);
-
+
const wait_longer_result = Futex.wait(&value, 0, std.time.ns_per_ms);
try testing.expectError(error.TimedOut, wait_longer_result);
@@ -416,7 +416,7 @@ test "Futex - Signal" {
const Thread = struct {
tx: *Self,
rx: *Self,
-
+
const start_value = 1;
fn run(self: Thread) void {
@@ -472,7 +472,7 @@ test "Futex - Broadcast" {
self.broadcast.store(BROADCAST_RECEIVED, .Release);
Futex.wake(&self.broadcast, 1);
}
- }
+ }
fn run() !void {
var self = Self{};
@@ -542,7 +542,7 @@ test "Futex - Chain" {
if (chain.index + 1 < chain.self.threads.len) {
next_signal = &chain.self.threads[chain.index + 1].signal;
}
-
+
this_signal.wait();
next_signal.notify();
}
@@ -554,7 +554,7 @@ test "Futex - Chain" {
for (self.threads) |*entry, index| {
entry.signal = .{};
entry.thread = try std.Thread.spawn(Chain.run, .{
- .self = &self,
+ .self = &self,
.index = index,
});
}
@@ -567,4 +567,4 @@ test "Futex - Chain" {
}
}
}).run();
-} \ No newline at end of file
+}
diff --git a/lib/std/c/darwin.zig b/lib/std/c/darwin.zig
index b8a554721f..ca18b5130a 100644
--- a/lib/std/c/darwin.zig
+++ b/lib/std/c/darwin.zig
@@ -246,7 +246,7 @@ pub const ULF_WAIT_ADAPTIVE_SPIN = 0x40000;
pub extern "c" fn __ulock_wait2(op: u32, addr: ?*const c_void, val: u64, timeout_us: u32, val2: u64) c_int;
pub extern "c" fn __ulock_wait(op: u32, addr: ?*const c_void, val: u64, timeout_us: u32) c_int;
-pub extern "c" fn __ulock_wake(op: u32, addr: ?*const c_void, val: u64) c_int;
+pub extern "c" fn __ulock_wake(op: u32, addr: ?*const c_void, val: u64) c_int;
pub const OS_UNFAIR_LOCK_INIT = os_unfair_lock{};
pub const os_unfair_lock_t = *os_unfair_lock;
@@ -258,4 +258,4 @@ pub extern "c" fn os_unfair_lock_lock(o: os_unfair_lock_t) void;
pub extern "c" fn os_unfair_lock_unlock(o: os_unfair_lock_t) void;
pub extern "c" fn os_unfair_lock_trylock(o: os_unfair_lock_t) bool;
pub extern "c" fn os_unfair_lock_assert_owner(o: os_unfair_lock_t) void;
-pub extern "c" fn os_unfair_lock_assert_not_owner(o: os_unfair_lock_t) void; \ No newline at end of file
+pub extern "c" fn os_unfair_lock_assert_not_owner(o: os_unfair_lock_t) void;
diff --git a/lib/std/fmt/parse_float.zig b/lib/std/fmt/parse_float.zig
index 3173d749b4..1f6d7222ac 100644
--- a/lib/std/fmt/parse_float.zig
+++ b/lib/std/fmt/parse_float.zig
@@ -34,7 +34,7 @@
// - Only supports round-to-zero
// - Does not handle denormals
-const std = @import("../std.zig");
+const std = @import("std");
const ascii = std.ascii;
// The mantissa field in FloatRepr is 64bit wide and holds only 19 digits
@@ -231,6 +231,8 @@ fn parseRepr(s: []const u8, n: *FloatRepr) !ParseResult {
} else if (c == '.') {
i += 1;
state = .LeadingFractionalZeros;
+ } else if (c == '_') {
+ i += 1;
} else {
state = .MantissaIntegral;
}
@@ -259,6 +261,8 @@ fn parseRepr(s: []const u8, n: *FloatRepr) !ParseResult {
} else if (c == '.') {
i += 1;
state = .MantissaFractional;
+ } else if (c == '_') {
+ i += 1;
} else {
state = .MantissaFractional;
}
@@ -276,6 +280,8 @@ fn parseRepr(s: []const u8, n: *FloatRepr) !ParseResult {
} else if (c == 'e' or c == 'E') {
i += 1;
state = .ExponentSign;
+ } else if (c == '_') {
+ i += 1;
} else {
state = .ExponentSign;
}
@@ -283,6 +289,8 @@ fn parseRepr(s: []const u8, n: *FloatRepr) !ParseResult {
.ExponentSign => {
if (c == '+') {
i += 1;
+ } else if (c == '_') {
+ return error.InvalidCharacter;
} else if (c == '-') {
negative_exp = true;
i += 1;
@@ -293,6 +301,8 @@ fn parseRepr(s: []const u8, n: *FloatRepr) !ParseResult {
.LeadingExponentZeros => {
if (c == '0') {
i += 1;
+ } else if (c == '_') {
+ i += 1;
} else {
state = .Exponent;
}
@@ -305,6 +315,8 @@ fn parseRepr(s: []const u8, n: *FloatRepr) !ParseResult {
}
i += 1;
+ } else if (c == '_') {
+ i += 1;
} else {
return error.InvalidCharacter;
}
@@ -405,6 +417,7 @@ test "fmt.parseFloat" {
try expectEqual(try parseFloat(T, "-INF"), -std.math.inf(T));
try expectEqual(try parseFloat(T, "0.4e0066999999999999999999999999999999999999999999999999999"), std.math.inf(T));
+ try expect(approxEqAbs(T, try parseFloat(T, "0_1_2_3_4_5_6.7_8_9_0_0_0e0_0_1_0"), @as(T, 123456.789000e10), epsilon));
if (T != f16) {
try expect(approxEqAbs(T, try parseFloat(T, "1e-2"), 0.01, epsilon));
diff --git a/lib/std/special/compiler_rt.zig b/lib/std/special/compiler_rt.zig
index 9be31f7d09..a777067800 100644
--- a/lib/std/special/compiler_rt.zig
+++ b/lib/std/special/compiler_rt.zig
@@ -20,10 +20,13 @@ comptime {
switch (arch) {
.i386,
.x86_64,
- => @export(@import("compiler_rt/stack_probe.zig").zig_probe_stack, .{
- .name = "__zig_probe_stack",
- .linkage = linkage,
- }),
+ => {
+ const zig_probe_stack = @import("compiler_rt/stack_probe.zig").zig_probe_stack;
+ @export(zig_probe_stack, .{
+ .name = "__zig_probe_stack",
+ .linkage = linkage,
+ });
+ },
else => {},
}
@@ -31,355 +34,567 @@ comptime {
// __clear_cache manages its own logic about whether to be exported or not.
_ = @import("compiler_rt/clear_cache.zig").clear_cache;
- @export(@import("compiler_rt/compareXf2.zig").__lesf2, .{ .name = "__lesf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__ledf2, .{ .name = "__ledf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__letf2", .linkage = linkage });
+ const __lesf2 = @import("compiler_rt/compareXf2.zig").__lesf2;
+ @export(__lesf2, .{ .name = "__lesf2", .linkage = linkage });
+ const __ledf2 = @import("compiler_rt/compareXf2.zig").__ledf2;
+ @export(__ledf2, .{ .name = "__ledf2", .linkage = linkage });
+ const __letf2 = @import("compiler_rt/compareXf2.zig").__letf2;
+ @export(__letf2, .{ .name = "__letf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__gesf2, .{ .name = "__gesf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__gedf2, .{ .name = "__gedf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__getf2, .{ .name = "__getf2", .linkage = linkage });
+ const __gesf2 = @import("compiler_rt/compareXf2.zig").__gesf2;
+ @export(__gesf2, .{ .name = "__gesf2", .linkage = linkage });
+ const __gedf2 = @import("compiler_rt/compareXf2.zig").__gedf2;
+ @export(__gedf2, .{ .name = "__gedf2", .linkage = linkage });
+ const __getf2 = @import("compiler_rt/compareXf2.zig").__getf2;
+ @export(__getf2, .{ .name = "__getf2", .linkage = linkage });
if (!is_test) {
- @export(@import("compiler_rt/compareXf2.zig").__lesf2, .{ .name = "__cmpsf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__ledf2, .{ .name = "__cmpdf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__cmptf2", .linkage = linkage });
-
- @export(@import("compiler_rt/compareXf2.zig").__eqsf2, .{ .name = "__eqsf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__eqdf2, .{ .name = "__eqdf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__eqtf2", .linkage = linkage });
-
- @export(@import("compiler_rt/compareXf2.zig").__ltsf2, .{ .name = "__ltsf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__ltdf2, .{ .name = "__ltdf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__lttf2", .linkage = linkage });
-
- @export(@import("compiler_rt/compareXf2.zig").__nesf2, .{ .name = "__nesf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__nedf2, .{ .name = "__nedf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__netf2", .linkage = linkage });
-
- @export(@import("compiler_rt/compareXf2.zig").__gtsf2, .{ .name = "__gtsf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__gtdf2, .{ .name = "__gtdf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__getf2, .{ .name = "__gttf2", .linkage = linkage });
-
- @export(@import("compiler_rt/extendXfYf2.zig").__extendhfsf2, .{ .name = "__gnu_h2f_ieee", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__truncsfhf2, .{ .name = "__gnu_f2h_ieee", .linkage = linkage });
+ @export(__lesf2, .{ .name = "__cmpsf2", .linkage = linkage });
+ @export(__ledf2, .{ .name = "__cmpdf2", .linkage = linkage });
+ @export(__letf2, .{ .name = "__cmptf2", .linkage = linkage });
+
+ const __eqsf2 = @import("compiler_rt/compareXf2.zig").__eqsf2;
+ @export(__eqsf2, .{ .name = "__eqsf2", .linkage = linkage });
+ const __eqdf2 = @import("compiler_rt/compareXf2.zig").__eqdf2;
+ @export(__eqdf2, .{ .name = "__eqdf2", .linkage = linkage });
+ @export(__letf2, .{ .name = "__eqtf2", .linkage = linkage });
+
+ const __ltsf2 = @import("compiler_rt/compareXf2.zig").__ltsf2;
+ @export(__ltsf2, .{ .name = "__ltsf2", .linkage = linkage });
+ const __ltdf2 = @import("compiler_rt/compareXf2.zig").__ltdf2;
+ @export(__ltdf2, .{ .name = "__ltdf2", .linkage = linkage });
+ @export(__letf2, .{ .name = "__lttf2", .linkage = linkage });
+
+ const __nesf2 = @import("compiler_rt/compareXf2.zig").__nesf2;
+ @export(__nesf2, .{ .name = "__nesf2", .linkage = linkage });
+ const __nedf2 = @import("compiler_rt/compareXf2.zig").__nedf2;
+ @export(__nedf2, .{ .name = "__nedf2", .linkage = linkage });
+ @export(__letf2, .{ .name = "__netf2", .linkage = linkage });
+
+ const __gtsf2 = @import("compiler_rt/compareXf2.zig").__gtsf2;
+ @export(__gtsf2, .{ .name = "__gtsf2", .linkage = linkage });
+ const __gtdf2 = @import("compiler_rt/compareXf2.zig").__gtdf2;
+ @export(__gtdf2, .{ .name = "__gtdf2", .linkage = linkage });
+ @export(__getf2, .{ .name = "__gttf2", .linkage = linkage });
+
+ const __extendhfsf2 = @import("compiler_rt/extendXfYf2.zig").__extendhfsf2;
+ @export(__extendhfsf2, .{ .name = "__gnu_h2f_ieee", .linkage = linkage });
+ const __truncsfhf2 = @import("compiler_rt/truncXfYf2.zig").__truncsfhf2;
+ @export(__truncsfhf2, .{ .name = "__gnu_f2h_ieee", .linkage = linkage });
}
- @export(@import("compiler_rt/compareXf2.zig").__unordsf2, .{ .name = "__unordsf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__unorddf2, .{ .name = "__unorddf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__unordtf2, .{ .name = "__unordtf2", .linkage = linkage });
-
- @export(@import("compiler_rt/addXf3.zig").__addsf3, .{ .name = "__addsf3", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__adddf3, .{ .name = "__adddf3", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__addtf3, .{ .name = "__addtf3", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__subsf3, .{ .name = "__subsf3", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__subdf3, .{ .name = "__subdf3", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__subtf3, .{ .name = "__subtf3", .linkage = linkage });
-
- @export(@import("compiler_rt/mulXf3.zig").__mulsf3, .{ .name = "__mulsf3", .linkage = linkage });
- @export(@import("compiler_rt/mulXf3.zig").__muldf3, .{ .name = "__muldf3", .linkage = linkage });
- @export(@import("compiler_rt/mulXf3.zig").__multf3, .{ .name = "__multf3", .linkage = linkage });
-
- @export(@import("compiler_rt/divsf3.zig").__divsf3, .{ .name = "__divsf3", .linkage = linkage });
- @export(@import("compiler_rt/divdf3.zig").__divdf3, .{ .name = "__divdf3", .linkage = linkage });
- @export(@import("compiler_rt/divtf3.zig").__divtf3, .{ .name = "__divtf3", .linkage = linkage });
-
- @export(@import("compiler_rt/shift.zig").__ashldi3, .{ .name = "__ashldi3", .linkage = linkage });
- @export(@import("compiler_rt/shift.zig").__ashlti3, .{ .name = "__ashlti3", .linkage = linkage });
- @export(@import("compiler_rt/shift.zig").__ashrdi3, .{ .name = "__ashrdi3", .linkage = linkage });
- @export(@import("compiler_rt/shift.zig").__ashrti3, .{ .name = "__ashrti3", .linkage = linkage });
- @export(@import("compiler_rt/shift.zig").__lshrdi3, .{ .name = "__lshrdi3", .linkage = linkage });
- @export(@import("compiler_rt/shift.zig").__lshrti3, .{ .name = "__lshrti3", .linkage = linkage });
-
- @export(@import("compiler_rt/floatsiXf.zig").__floatsidf, .{ .name = "__floatsidf", .linkage = linkage });
- @export(@import("compiler_rt/floatsiXf.zig").__floatsisf, .{ .name = "__floatsisf", .linkage = linkage });
- @export(@import("compiler_rt/floatdidf.zig").__floatdidf, .{ .name = "__floatdidf", .linkage = linkage });
- @export(@import("compiler_rt/floatsiXf.zig").__floatsitf, .{ .name = "__floatsitf", .linkage = linkage });
-
- @export(@import("compiler_rt/floatunsisf.zig").__floatunsisf, .{ .name = "__floatunsisf", .linkage = linkage });
- @export(@import("compiler_rt/floatundisf.zig").__floatundisf, .{ .name = "__floatundisf", .linkage = linkage });
- @export(@import("compiler_rt/floatunsidf.zig").__floatunsidf, .{ .name = "__floatunsidf", .linkage = linkage });
- @export(@import("compiler_rt/floatundidf.zig").__floatundidf, .{ .name = "__floatundidf", .linkage = linkage });
-
- @export(@import("compiler_rt/floatditf.zig").__floatditf, .{ .name = "__floatditf", .linkage = linkage });
- @export(@import("compiler_rt/floattitf.zig").__floattitf, .{ .name = "__floattitf", .linkage = linkage });
- @export(@import("compiler_rt/floattidf.zig").__floattidf, .{ .name = "__floattidf", .linkage = linkage });
- @export(@import("compiler_rt/floatXisf.zig").__floattisf, .{ .name = "__floattisf", .linkage = linkage });
- @export(@import("compiler_rt/floatXisf.zig").__floatdisf, .{ .name = "__floatdisf", .linkage = linkage });
-
- @export(@import("compiler_rt/floatunditf.zig").__floatunditf, .{ .name = "__floatunditf", .linkage = linkage });
- @export(@import("compiler_rt/floatunsitf.zig").__floatunsitf, .{ .name = "__floatunsitf", .linkage = linkage });
-
- @export(@import("compiler_rt/floatuntitf.zig").__floatuntitf, .{ .name = "__floatuntitf", .linkage = linkage });
- @export(@import("compiler_rt/floatuntidf.zig").__floatuntidf, .{ .name = "__floatuntidf", .linkage = linkage });
- @export(@import("compiler_rt/floatuntisf.zig").__floatuntisf, .{ .name = "__floatuntisf", .linkage = linkage });
-
- @export(@import("compiler_rt/extendXfYf2.zig").__extenddftf2, .{ .name = "__extenddftf2", .linkage = linkage });
- @export(@import("compiler_rt/extendXfYf2.zig").__extendsftf2, .{ .name = "__extendsftf2", .linkage = linkage });
- @export(@import("compiler_rt/extendXfYf2.zig").__extendhfsf2, .{ .name = "__extendhfsf2", .linkage = linkage });
- @export(@import("compiler_rt/extendXfYf2.zig").__extendhftf2, .{ .name = "__extendhftf2", .linkage = linkage });
-
- @export(@import("compiler_rt/truncXfYf2.zig").__truncsfhf2, .{ .name = "__truncsfhf2", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__truncdfhf2, .{ .name = "__truncdfhf2", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__trunctfhf2, .{ .name = "__trunctfhf2", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__trunctfdf2, .{ .name = "__trunctfdf2", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__trunctfsf2, .{ .name = "__trunctfsf2", .linkage = linkage });
-
- @export(@import("compiler_rt/truncXfYf2.zig").__truncdfsf2, .{ .name = "__truncdfsf2", .linkage = linkage });
-
- @export(@import("compiler_rt/extendXfYf2.zig").__extendsfdf2, .{ .name = "__extendsfdf2", .linkage = linkage });
-
- @export(@import("compiler_rt/fixunssfsi.zig").__fixunssfsi, .{ .name = "__fixunssfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixunssfdi.zig").__fixunssfdi, .{ .name = "__fixunssfdi", .linkage = linkage });
- @export(@import("compiler_rt/fixunssfti.zig").__fixunssfti, .{ .name = "__fixunssfti", .linkage = linkage });
-
- @export(@import("compiler_rt/fixunsdfsi.zig").__fixunsdfsi, .{ .name = "__fixunsdfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixunsdfdi.zig").__fixunsdfdi, .{ .name = "__fixunsdfdi", .linkage = linkage });
- @export(@import("compiler_rt/fixunsdfti.zig").__fixunsdfti, .{ .name = "__fixunsdfti", .linkage = linkage });
-
- @export(@import("compiler_rt/fixunstfsi.zig").__fixunstfsi, .{ .name = "__fixunstfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixunstfdi.zig").__fixunstfdi, .{ .name = "__fixunstfdi", .linkage = linkage });
- @export(@import("compiler_rt/fixunstfti.zig").__fixunstfti, .{ .name = "__fixunstfti", .linkage = linkage });
-
- @export(@import("compiler_rt/fixdfdi.zig").__fixdfdi, .{ .name = "__fixdfdi", .linkage = linkage });
- @export(@import("compiler_rt/fixdfsi.zig").__fixdfsi, .{ .name = "__fixdfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixdfti.zig").__fixdfti, .{ .name = "__fixdfti", .linkage = linkage });
- @export(@import("compiler_rt/fixsfdi.zig").__fixsfdi, .{ .name = "__fixsfdi", .linkage = linkage });
- @export(@import("compiler_rt/fixsfsi.zig").__fixsfsi, .{ .name = "__fixsfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixsfti.zig").__fixsfti, .{ .name = "__fixsfti", .linkage = linkage });
- @export(@import("compiler_rt/fixtfdi.zig").__fixtfdi, .{ .name = "__fixtfdi", .linkage = linkage });
- @export(@import("compiler_rt/fixtfsi.zig").__fixtfsi, .{ .name = "__fixtfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixtfti.zig").__fixtfti, .{ .name = "__fixtfti", .linkage = linkage });
-
- @export(@import("compiler_rt/int.zig").__udivmoddi4, .{ .name = "__udivmoddi4", .linkage = linkage });
- @export(@import("compiler_rt/popcountdi2.zig").__popcountdi2, .{ .name = "__popcountdi2", .linkage = linkage });
-
- @export(@import("compiler_rt/int.zig").__mulsi3, .{ .name = "__mulsi3", .linkage = linkage });
- @export(@import("compiler_rt/muldi3.zig").__muldi3, .{ .name = "__muldi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__divmoddi4, .{ .name = "__divmoddi4", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__divsi3, .{ .name = "__divsi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__divdi3, .{ .name = "__divdi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__udivsi3, .{ .name = "__udivsi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__udivdi3, .{ .name = "__udivdi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__modsi3, .{ .name = "__modsi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__moddi3, .{ .name = "__moddi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__umodsi3, .{ .name = "__umodsi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__umoddi3, .{ .name = "__umoddi3", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__divmodsi4, .{ .name = "__divmodsi4", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__udivmodsi4, .{ .name = "__udivmodsi4", .linkage = linkage });
-
- @export(@import("compiler_rt/negXf2.zig").__negsf2, .{ .name = "__negsf2", .linkage = linkage });
- @export(@import("compiler_rt/negXf2.zig").__negdf2, .{ .name = "__negdf2", .linkage = linkage });
-
- @export(@import("compiler_rt/clzsi2.zig").__clzsi2, .{ .name = "__clzsi2", .linkage = linkage });
+ const __unordsf2 = @import("compiler_rt/compareXf2.zig").__unordsf2;
+ @export(__unordsf2, .{ .name = "__unordsf2", .linkage = linkage });
+ const __unorddf2 = @import("compiler_rt/compareXf2.zig").__unorddf2;
+ @export(__unorddf2, .{ .name = "__unorddf2", .linkage = linkage });
+ const __unordtf2 = @import("compiler_rt/compareXf2.zig").__unordtf2;
+ @export(__unordtf2, .{ .name = "__unordtf2", .linkage = linkage });
+
+ const __addsf3 = @import("compiler_rt/addXf3.zig").__addsf3;
+ @export(__addsf3, .{ .name = "__addsf3", .linkage = linkage });
+ const __adddf3 = @import("compiler_rt/addXf3.zig").__adddf3;
+ @export(__adddf3, .{ .name = "__adddf3", .linkage = linkage });
+ const __addtf3 = @import("compiler_rt/addXf3.zig").__addtf3;
+ @export(__addtf3, .{ .name = "__addtf3", .linkage = linkage });
+ const __subsf3 = @import("compiler_rt/addXf3.zig").__subsf3;
+ @export(__subsf3, .{ .name = "__subsf3", .linkage = linkage });
+ const __subdf3 = @import("compiler_rt/addXf3.zig").__subdf3;
+ @export(__subdf3, .{ .name = "__subdf3", .linkage = linkage });
+ const __subtf3 = @import("compiler_rt/addXf3.zig").__subtf3;
+ @export(__subtf3, .{ .name = "__subtf3", .linkage = linkage });
+
+ const __mulsf3 = @import("compiler_rt/mulXf3.zig").__mulsf3;
+ @export(__mulsf3, .{ .name = "__mulsf3", .linkage = linkage });
+ const __muldf3 = @import("compiler_rt/mulXf3.zig").__muldf3;
+ @export(__muldf3, .{ .name = "__muldf3", .linkage = linkage });
+ const __multf3 = @import("compiler_rt/mulXf3.zig").__multf3;
+ @export(__multf3, .{ .name = "__multf3", .linkage = linkage });
+
+ const __divsf3 = @import("compiler_rt/divsf3.zig").__divsf3;
+ @export(__divsf3, .{ .name = "__divsf3", .linkage = linkage });
+ const __divdf3 = @import("compiler_rt/divdf3.zig").__divdf3;
+ @export(__divdf3, .{ .name = "__divdf3", .linkage = linkage });
+ const __divtf3 = @import("compiler_rt/divtf3.zig").__divtf3;
+ @export(__divtf3, .{ .name = "__divtf3", .linkage = linkage });
+
+ const __ashldi3 = @import("compiler_rt/shift.zig").__ashldi3;
+ @export(__ashldi3, .{ .name = "__ashldi3", .linkage = linkage });
+ const __ashlti3 = @import("compiler_rt/shift.zig").__ashlti3;
+ @export(__ashlti3, .{ .name = "__ashlti3", .linkage = linkage });
+ const __ashrdi3 = @import("compiler_rt/shift.zig").__ashrdi3;
+ @export(__ashrdi3, .{ .name = "__ashrdi3", .linkage = linkage });
+ const __ashrti3 = @import("compiler_rt/shift.zig").__ashrti3;
+ @export(__ashrti3, .{ .name = "__ashrti3", .linkage = linkage });
+ const __lshrdi3 = @import("compiler_rt/shift.zig").__lshrdi3;
+ @export(__lshrdi3, .{ .name = "__lshrdi3", .linkage = linkage });
+ const __lshrti3 = @import("compiler_rt/shift.zig").__lshrti3;
+ @export(__lshrti3, .{ .name = "__lshrti3", .linkage = linkage });
+
+ const __floatsidf = @import("compiler_rt/floatsiXf.zig").__floatsidf;
+ @export(__floatsidf, .{ .name = "__floatsidf", .linkage = linkage });
+ const __floatsisf = @import("compiler_rt/floatsiXf.zig").__floatsisf;
+ @export(__floatsisf, .{ .name = "__floatsisf", .linkage = linkage });
+ const __floatdidf = @import("compiler_rt/floatdidf.zig").__floatdidf;
+ @export(__floatdidf, .{ .name = "__floatdidf", .linkage = linkage });
+ const __floatsitf = @import("compiler_rt/floatsiXf.zig").__floatsitf;
+ @export(__floatsitf, .{ .name = "__floatsitf", .linkage = linkage });
+
+ const __floatunsisf = @import("compiler_rt/floatunsisf.zig").__floatunsisf;
+ @export(__floatunsisf, .{ .name = "__floatunsisf", .linkage = linkage });
+ const __floatundisf = @import("compiler_rt/floatundisf.zig").__floatundisf;
+ @export(__floatundisf, .{ .name = "__floatundisf", .linkage = linkage });
+ const __floatunsidf = @import("compiler_rt/floatunsidf.zig").__floatunsidf;
+ @export(__floatunsidf, .{ .name = "__floatunsidf", .linkage = linkage });
+ const __floatundidf = @import("compiler_rt/floatundidf.zig").__floatundidf;
+ @export(__floatundidf, .{ .name = "__floatundidf", .linkage = linkage });
+
+ const __floatditf = @import("compiler_rt/floatditf.zig").__floatditf;
+ @export(__floatditf, .{ .name = "__floatditf", .linkage = linkage });
+ const __floattitf = @import("compiler_rt/floattitf.zig").__floattitf;
+ @export(__floattitf, .{ .name = "__floattitf", .linkage = linkage });
+ const __floattidf = @import("compiler_rt/floattidf.zig").__floattidf;
+ @export(__floattidf, .{ .name = "__floattidf", .linkage = linkage });
+ const __floattisf = @import("compiler_rt/floatXisf.zig").__floattisf;
+ @export(__floattisf, .{ .name = "__floattisf", .linkage = linkage });
+ const __floatdisf = @import("compiler_rt/floatXisf.zig").__floatdisf;
+ @export(__floatdisf, .{ .name = "__floatdisf", .linkage = linkage });
+
+ const __floatunditf = @import("compiler_rt/floatunditf.zig").__floatunditf;
+ @export(__floatunditf, .{ .name = "__floatunditf", .linkage = linkage });
+ const __floatunsitf = @import("compiler_rt/floatunsitf.zig").__floatunsitf;
+ @export(__floatunsitf, .{ .name = "__floatunsitf", .linkage = linkage });
+
+ const __floatuntitf = @import("compiler_rt/floatuntitf.zig").__floatuntitf;
+ @export(__floatuntitf, .{ .name = "__floatuntitf", .linkage = linkage });
+ const __floatuntidf = @import("compiler_rt/floatuntidf.zig").__floatuntidf;
+ @export(__floatuntidf, .{ .name = "__floatuntidf", .linkage = linkage });
+ const __floatuntisf = @import("compiler_rt/floatuntisf.zig").__floatuntisf;
+ @export(__floatuntisf, .{ .name = "__floatuntisf", .linkage = linkage });
+
+ const __extenddftf2 = @import("compiler_rt/extendXfYf2.zig").__extenddftf2;
+ @export(__extenddftf2, .{ .name = "__extenddftf2", .linkage = linkage });
+ const __extendsftf2 = @import("compiler_rt/extendXfYf2.zig").__extendsftf2;
+ @export(__extendsftf2, .{ .name = "__extendsftf2", .linkage = linkage });
+ const __extendhfsf2 = @import("compiler_rt/extendXfYf2.zig").__extendhfsf2;
+ @export(__extendhfsf2, .{ .name = "__extendhfsf2", .linkage = linkage });
+ const __extendhftf2 = @import("compiler_rt/extendXfYf2.zig").__extendhftf2;
+ @export(__extendhftf2, .{ .name = "__extendhftf2", .linkage = linkage });
+
+ const __truncsfhf2 = @import("compiler_rt/truncXfYf2.zig").__truncsfhf2;
+ @export(__truncsfhf2, .{ .name = "__truncsfhf2", .linkage = linkage });
+ const __truncdfhf2 = @import("compiler_rt/truncXfYf2.zig").__truncdfhf2;
+ @export(__truncdfhf2, .{ .name = "__truncdfhf2", .linkage = linkage });
+ const __trunctfhf2 = @import("compiler_rt/truncXfYf2.zig").__trunctfhf2;
+ @export(__trunctfhf2, .{ .name = "__trunctfhf2", .linkage = linkage });
+ const __trunctfdf2 = @import("compiler_rt/truncXfYf2.zig").__trunctfdf2;
+ @export(__trunctfdf2, .{ .name = "__trunctfdf2", .linkage = linkage });
+ const __trunctfsf2 = @import("compiler_rt/truncXfYf2.zig").__trunctfsf2;
+ @export(__trunctfsf2, .{ .name = "__trunctfsf2", .linkage = linkage });
+
+ const __truncdfsf2 = @import("compiler_rt/truncXfYf2.zig").__truncdfsf2;
+ @export(__truncdfsf2, .{ .name = "__truncdfsf2", .linkage = linkage });
+
+ const __extendsfdf2 = @import("compiler_rt/extendXfYf2.zig").__extendsfdf2;
+ @export(__extendsfdf2, .{ .name = "__extendsfdf2", .linkage = linkage });
+
+ const __fixunssfsi = @import("compiler_rt/fixunssfsi.zig").__fixunssfsi;
+ @export(__fixunssfsi, .{ .name = "__fixunssfsi", .linkage = linkage });
+ const __fixunssfdi = @import("compiler_rt/fixunssfdi.zig").__fixunssfdi;
+ @export(__fixunssfdi, .{ .name = "__fixunssfdi", .linkage = linkage });
+ const __fixunssfti = @import("compiler_rt/fixunssfti.zig").__fixunssfti;
+ @export(__fixunssfti, .{ .name = "__fixunssfti", .linkage = linkage });
+
+ const __fixunsdfsi = @import("compiler_rt/fixunsdfsi.zig").__fixunsdfsi;
+ @export(__fixunsdfsi, .{ .name = "__fixunsdfsi", .linkage = linkage });
+ const __fixunsdfdi = @import("compiler_rt/fixunsdfdi.zig").__fixunsdfdi;
+ @export(__fixunsdfdi, .{ .name = "__fixunsdfdi", .linkage = linkage });
+ const __fixunsdfti = @import("compiler_rt/fixunsdfti.zig").__fixunsdfti;
+ @export(__fixunsdfti, .{ .name = "__fixunsdfti", .linkage = linkage });
+
+ const __fixunstfsi = @import("compiler_rt/fixunstfsi.zig").__fixunstfsi;
+ @export(__fixunstfsi, .{ .name = "__fixunstfsi", .linkage = linkage });
+ const __fixunstfdi = @import("compiler_rt/fixunstfdi.zig").__fixunstfdi;
+ @export(__fixunstfdi, .{ .name = "__fixunstfdi", .linkage = linkage });
+ const __fixunstfti = @import("compiler_rt/fixunstfti.zig").__fixunstfti;
+ @export(__fixunstfti, .{ .name = "__fixunstfti", .linkage = linkage });
+
+ const __fixdfdi = @import("compiler_rt/fixdfdi.zig").__fixdfdi;
+ @export(__fixdfdi, .{ .name = "__fixdfdi", .linkage = linkage });
+ const __fixdfsi = @import("compiler_rt/fixdfsi.zig").__fixdfsi;
+ @export(__fixdfsi, .{ .name = "__fixdfsi", .linkage = linkage });
+ const __fixdfti = @import("compiler_rt/fixdfti.zig").__fixdfti;
+ @export(__fixdfti, .{ .name = "__fixdfti", .linkage = linkage });
+ const __fixsfdi = @import("compiler_rt/fixsfdi.zig").__fixsfdi;
+ @export(__fixsfdi, .{ .name = "__fixsfdi", .linkage = linkage });
+ const __fixsfsi = @import("compiler_rt/fixsfsi.zig").__fixsfsi;
+ @export(__fixsfsi, .{ .name = "__fixsfsi", .linkage = linkage });
+ const __fixsfti = @import("compiler_rt/fixsfti.zig").__fixsfti;
+ @export(__fixsfti, .{ .name = "__fixsfti", .linkage = linkage });
+ const __fixtfdi = @import("compiler_rt/fixtfdi.zig").__fixtfdi;
+ @export(__fixtfdi, .{ .name = "__fixtfdi", .linkage = linkage });
+ const __fixtfsi = @import("compiler_rt/fixtfsi.zig").__fixtfsi;
+ @export(__fixtfsi, .{ .name = "__fixtfsi", .linkage = linkage });
+ const __fixtfti = @import("compiler_rt/fixtfti.zig").__fixtfti;
+ @export(__fixtfti, .{ .name = "__fixtfti", .linkage = linkage });
+
+ const __udivmoddi4 = @import("compiler_rt/int.zig").__udivmoddi4;
+ @export(__udivmoddi4, .{ .name = "__udivmoddi4", .linkage = linkage });
+ const __popcountdi2 = @import("compiler_rt/popcountdi2.zig").__popcountdi2;
+ @export(__popcountdi2, .{ .name = "__popcountdi2", .linkage = linkage });
+
+ const __mulsi3 = @import("compiler_rt/int.zig").__mulsi3;
+ @export(__mulsi3, .{ .name = "__mulsi3", .linkage = linkage });
+ const __muldi3 = @import("compiler_rt/muldi3.zig").__muldi3;
+ @export(__muldi3, .{ .name = "__muldi3", .linkage = linkage });
+ const __divmoddi4 = @import("compiler_rt/int.zig").__divmoddi4;
+ @export(__divmoddi4, .{ .name = "__divmoddi4", .linkage = linkage });
+ const __divsi3 = @import("compiler_rt/int.zig").__divsi3;
+ @export(__divsi3, .{ .name = "__divsi3", .linkage = linkage });
+ const __divdi3 = @import("compiler_rt/int.zig").__divdi3;
+ @export(__divdi3, .{ .name = "__divdi3", .linkage = linkage });
+ const __udivsi3 = @import("compiler_rt/int.zig").__udivsi3;
+ @export(__udivsi3, .{ .name = "__udivsi3", .linkage = linkage });
+ const __udivdi3 = @import("compiler_rt/int.zig").__udivdi3;
+ @export(__udivdi3, .{ .name = "__udivdi3", .linkage = linkage });
+ const __modsi3 = @import("compiler_rt/int.zig").__modsi3;
+ @export(__modsi3, .{ .name = "__modsi3", .linkage = linkage });
+ const __moddi3 = @import("compiler_rt/int.zig").__moddi3;
+ @export(__moddi3, .{ .name = "__moddi3", .linkage = linkage });
+ const __umodsi3 = @import("compiler_rt/int.zig").__umodsi3;
+ @export(__umodsi3, .{ .name = "__umodsi3", .linkage = linkage });
+ const __umoddi3 = @import("compiler_rt/int.zig").__umoddi3;
+ @export(__umoddi3, .{ .name = "__umoddi3", .linkage = linkage });
+ const __divmodsi4 = @import("compiler_rt/int.zig").__divmodsi4;
+ @export(__divmodsi4, .{ .name = "__divmodsi4", .linkage = linkage });
+ const __udivmodsi4 = @import("compiler_rt/int.zig").__udivmodsi4;
+ @export(__udivmodsi4, .{ .name = "__udivmodsi4", .linkage = linkage });
+
+ const __negsf2 = @import("compiler_rt/negXf2.zig").__negsf2;
+ @export(__negsf2, .{ .name = "__negsf2", .linkage = linkage });
+ const __negdf2 = @import("compiler_rt/negXf2.zig").__negdf2;
+ @export(__negdf2, .{ .name = "__negdf2", .linkage = linkage });
+
+ const __clzsi2 = @import("compiler_rt/clzsi2.zig").__clzsi2;
+ @export(__clzsi2, .{ .name = "__clzsi2", .linkage = linkage });
if (builtin.link_libc and os_tag == .openbsd) {
- @export(@import("compiler_rt/emutls.zig").__emutls_get_address, .{ .name = "__emutls_get_address", .linkage = linkage });
+ const __emutls_get_address = @import("compiler_rt/emutls.zig").__emutls_get_address;
+ @export(__emutls_get_address, .{ .name = "__emutls_get_address", .linkage = linkage });
}
if ((arch.isARM() or arch.isThumb()) and !is_test) {
- @export(@import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr0, .{ .name = "__aeabi_unwind_cpp_pr0", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = linkage });
-
- @export(@import("compiler_rt/muldi3.zig").__muldi3, .{ .name = "__aeabi_lmul", .linkage = linkage });
-
- @export(@import("compiler_rt/arm.zig").__aeabi_ldivmod, .{ .name = "__aeabi_ldivmod", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_uldivmod, .{ .name = "__aeabi_uldivmod", .linkage = linkage });
-
- @export(@import("compiler_rt/int.zig").__divsi3, .{ .name = "__aeabi_idiv", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_idivmod, .{ .name = "__aeabi_idivmod", .linkage = linkage });
- @export(@import("compiler_rt/int.zig").__udivsi3, .{ .name = "__aeabi_uidiv", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_uidivmod, .{ .name = "__aeabi_uidivmod", .linkage = linkage });
-
- @export(@import("compiler_rt/arm.zig").__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memcpy, .{ .name = "__aeabi_memcpy4", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memcpy, .{ .name = "__aeabi_memcpy8", .linkage = linkage });
-
- @export(@import("compiler_rt/arm.zig").__aeabi_memmove, .{ .name = "__aeabi_memmove", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memmove, .{ .name = "__aeabi_memmove4", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memmove, .{ .name = "__aeabi_memmove8", .linkage = linkage });
-
- @export(@import("compiler_rt/arm.zig").__aeabi_memset, .{ .name = "__aeabi_memset", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memset, .{ .name = "__aeabi_memset4", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memset, .{ .name = "__aeabi_memset8", .linkage = linkage });
-
- @export(@import("compiler_rt/arm.zig").__aeabi_memclr, .{ .name = "__aeabi_memclr", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memclr, .{ .name = "__aeabi_memclr4", .linkage = linkage });
- @export(@import("compiler_rt/arm.zig").__aeabi_memclr, .{ .name = "__aeabi_memclr8", .linkage = linkage });
+ const __aeabi_unwind_cpp_pr0 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr0;
+ @export(__aeabi_unwind_cpp_pr0, .{ .name = "__aeabi_unwind_cpp_pr0", .linkage = linkage });
+ const __aeabi_unwind_cpp_pr1 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr1;
+ @export(__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = linkage });
+ const __aeabi_unwind_cpp_pr2 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr2;
+ @export(__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = linkage });
+
+ @export(__muldi3, .{ .name = "__aeabi_lmul", .linkage = linkage });
+
+ const __aeabi_ldivmod = @import("compiler_rt/arm.zig").__aeabi_ldivmod;
+ @export(__aeabi_ldivmod, .{ .name = "__aeabi_ldivmod", .linkage = linkage });
+ const __aeabi_uldivmod = @import("compiler_rt/arm.zig").__aeabi_uldivmod;
+ @export(__aeabi_uldivmod, .{ .name = "__aeabi_uldivmod", .linkage = linkage });
+
+ @export(__divsi3, .{ .name = "__aeabi_idiv", .linkage = linkage });
+ const __aeabi_idivmod = @import("compiler_rt/arm.zig").__aeabi_idivmod;
+ @export(__aeabi_idivmod, .{ .name = "__aeabi_idivmod", .linkage = linkage });
+ @export(__udivsi3, .{ .name = "__aeabi_uidiv", .linkage = linkage });
+ const __aeabi_uidivmod = @import("compiler_rt/arm.zig").__aeabi_uidivmod;
+ @export(__aeabi_uidivmod, .{ .name = "__aeabi_uidivmod", .linkage = linkage });
+
+ const __aeabi_memcpy = @import("compiler_rt/arm.zig").__aeabi_memcpy;
+ @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = linkage });
+ @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy4", .linkage = linkage });
+ @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy8", .linkage = linkage });
+
+ const __aeabi_memmove = @import("compiler_rt/arm.zig").__aeabi_memmove;
+ @export(__aeabi_memmove, .{ .name = "__aeabi_memmove", .linkage = linkage });
+ @export(__aeabi_memmove, .{ .name = "__aeabi_memmove4", .linkage = linkage });
+ @export(__aeabi_memmove, .{ .name = "__aeabi_memmove8", .linkage = linkage });
+
+ const __aeabi_memset = @import("compiler_rt/arm.zig").__aeabi_memset;
+ @export(__aeabi_memset, .{ .name = "__aeabi_memset", .linkage = linkage });
+ @export(__aeabi_memset, .{ .name = "__aeabi_memset4", .linkage = linkage });
+ @export(__aeabi_memset, .{ .name = "__aeabi_memset8", .linkage = linkage });
+
+ const __aeabi_memclr = @import("compiler_rt/arm.zig").__aeabi_memclr;
+ @export(__aeabi_memclr, .{ .name = "__aeabi_memclr", .linkage = linkage });
+ @export(__aeabi_memclr, .{ .name = "__aeabi_memclr4", .linkage = linkage });
+ @export(__aeabi_memclr, .{ .name = "__aeabi_memclr8", .linkage = linkage });
if (os_tag == .linux) {
- @export(@import("compiler_rt/arm.zig").__aeabi_read_tp, .{ .name = "__aeabi_read_tp", .linkage = linkage });
+ const __aeabi_read_tp = @import("compiler_rt/arm.zig").__aeabi_read_tp;
+ @export(__aeabi_read_tp, .{ .name = "__aeabi_read_tp", .linkage = linkage });
}
- @export(@import("compiler_rt/extendXfYf2.zig").__aeabi_f2d, .{ .name = "__aeabi_f2d", .linkage = linkage });
- @export(@import("compiler_rt/floatsiXf.zig").__aeabi_i2d, .{ .name = "__aeabi_i2d", .linkage = linkage });
- @export(@import("compiler_rt/floatdidf.zig").__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = linkage });
- @export(@import("compiler_rt/floatXisf.zig").__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = linkage });
- @export(@import("compiler_rt/floatunsidf.zig").__aeabi_ui2d, .{ .name = "__aeabi_ui2d", .linkage = linkage });
- @export(@import("compiler_rt/floatundidf.zig").__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = linkage });
- @export(@import("compiler_rt/floatunsisf.zig").__aeabi_ui2f, .{ .name = "__aeabi_ui2f", .linkage = linkage });
- @export(@import("compiler_rt/floatundisf.zig").__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = linkage });
-
- @export(@import("compiler_rt/negXf2.zig").__aeabi_fneg, .{ .name = "__aeabi_fneg", .linkage = linkage });
- @export(@import("compiler_rt/negXf2.zig").__aeabi_dneg, .{ .name = "__aeabi_dneg", .linkage = linkage });
-
- @export(@import("compiler_rt/mulXf3.zig").__aeabi_fmul, .{ .name = "__aeabi_fmul", .linkage = linkage });
- @export(@import("compiler_rt/mulXf3.zig").__aeabi_dmul, .{ .name = "__aeabi_dmul", .linkage = linkage });
-
- @export(@import("compiler_rt/truncXfYf2.zig").__aeabi_d2h, .{ .name = "__aeabi_d2h", .linkage = linkage });
-
- @export(@import("compiler_rt/fixunssfdi.zig").__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = linkage });
- @export(@import("compiler_rt/fixunsdfdi.zig").__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = linkage });
-
- @export(@import("compiler_rt/fixsfdi.zig").__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = linkage });
- @export(@import("compiler_rt/fixdfdi.zig").__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = linkage });
-
- @export(@import("compiler_rt/fixunsdfsi.zig").__aeabi_d2uiz, .{ .name = "__aeabi_d2uiz", .linkage = linkage });
-
- @export(@import("compiler_rt/extendXfYf2.zig").__aeabi_h2f, .{ .name = "__aeabi_h2f", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__aeabi_f2h, .{ .name = "__aeabi_f2h", .linkage = linkage });
-
- @export(@import("compiler_rt/floatsiXf.zig").__aeabi_i2f, .{ .name = "__aeabi_i2f", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__aeabi_d2f, .{ .name = "__aeabi_d2f", .linkage = linkage });
-
- @export(@import("compiler_rt/addXf3.zig").__aeabi_fadd, .{ .name = "__aeabi_fadd", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__aeabi_dadd, .{ .name = "__aeabi_dadd", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__aeabi_fsub, .{ .name = "__aeabi_fsub", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__aeabi_dsub, .{ .name = "__aeabi_dsub", .linkage = linkage });
-
- @export(@import("compiler_rt/fixunssfsi.zig").__aeabi_f2uiz, .{ .name = "__aeabi_f2uiz", .linkage = linkage });
-
- @export(@import("compiler_rt/fixsfsi.zig").__aeabi_f2iz, .{ .name = "__aeabi_f2iz", .linkage = linkage });
- @export(@import("compiler_rt/fixdfsi.zig").__aeabi_d2iz, .{ .name = "__aeabi_d2iz", .linkage = linkage });
-
- @export(@import("compiler_rt/divsf3.zig").__aeabi_fdiv, .{ .name = "__aeabi_fdiv", .linkage = linkage });
- @export(@import("compiler_rt/divdf3.zig").__aeabi_ddiv, .{ .name = "__aeabi_ddiv", .linkage = linkage });
-
- @export(@import("compiler_rt/shift.zig").__aeabi_llsl, .{ .name = "__aeabi_llsl", .linkage = linkage });
- @export(@import("compiler_rt/shift.zig").__aeabi_lasr, .{ .name = "__aeabi_lasr", .linkage = linkage });
- @export(@import("compiler_rt/shift.zig").__aeabi_llsr, .{ .name = "__aeabi_llsr", .linkage = linkage });
-
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_fcmpeq, .{ .name = "__aeabi_fcmpeq", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_fcmplt, .{ .name = "__aeabi_fcmplt", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_fcmple, .{ .name = "__aeabi_fcmple", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_fcmpge, .{ .name = "__aeabi_fcmpge", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_fcmpgt, .{ .name = "__aeabi_fcmpgt", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_fcmpun, .{ .name = "__aeabi_fcmpun", .linkage = linkage });
-
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmpeq, .{ .name = "__aeabi_dcmpeq", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmplt, .{ .name = "__aeabi_dcmplt", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmple, .{ .name = "__aeabi_dcmple", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmpge, .{ .name = "__aeabi_dcmpge", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage });
+ const __aeabi_f2d = @import("compiler_rt/extendXfYf2.zig").__aeabi_f2d;
+ @export(__aeabi_f2d, .{ .name = "__aeabi_f2d", .linkage = linkage });
+ const __aeabi_i2d = @import("compiler_rt/floatsiXf.zig").__aeabi_i2d;
+ @export(__aeabi_i2d, .{ .name = "__aeabi_i2d", .linkage = linkage });
+ const __aeabi_l2d = @import("compiler_rt/floatdidf.zig").__aeabi_l2d;
+ @export(__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = linkage });
+ const __aeabi_l2f = @import("compiler_rt/floatXisf.zig").__aeabi_l2f;
+ @export(__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = linkage });
+ const __aeabi_ui2d = @import("compiler_rt/floatunsidf.zig").__aeabi_ui2d;
+ @export(__aeabi_ui2d, .{ .name = "__aeabi_ui2d", .linkage = linkage });
+ const __aeabi_ul2d = @import("compiler_rt/floatundidf.zig").__aeabi_ul2d;
+ @export(__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = linkage });
+ const __aeabi_ui2f = @import("compiler_rt/floatunsisf.zig").__aeabi_ui2f;
+ @export(__aeabi_ui2f, .{ .name = "__aeabi_ui2f", .linkage = linkage });
+ const __aeabi_ul2f = @import("compiler_rt/floatundisf.zig").__aeabi_ul2f;
+ @export(__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = linkage });
+
+ const __aeabi_fneg = @import("compiler_rt/negXf2.zig").__aeabi_fneg;
+ @export(__aeabi_fneg, .{ .name = "__aeabi_fneg", .linkage = linkage });
+ const __aeabi_dneg = @import("compiler_rt/negXf2.zig").__aeabi_dneg;
+ @export(__aeabi_dneg, .{ .name = "__aeabi_dneg", .linkage = linkage });
+
+ const __aeabi_fmul = @import("compiler_rt/mulXf3.zig").__aeabi_fmul;
+ @export(__aeabi_fmul, .{ .name = "__aeabi_fmul", .linkage = linkage });
+ const __aeabi_dmul = @import("compiler_rt/mulXf3.zig").__aeabi_dmul;
+ @export(__aeabi_dmul, .{ .name = "__aeabi_dmul", .linkage = linkage });
+
+ const __aeabi_d2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2h;
+ @export(__aeabi_d2h, .{ .name = "__aeabi_d2h", .linkage = linkage });
+
+ const __aeabi_f2ulz = @import("compiler_rt/fixunssfdi.zig").__aeabi_f2ulz;
+ @export(__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = linkage });
+ const __aeabi_d2ulz = @import("compiler_rt/fixunsdfdi.zig").__aeabi_d2ulz;
+ @export(__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = linkage });
+
+ const __aeabi_f2lz = @import("compiler_rt/fixsfdi.zig").__aeabi_f2lz;
+ @export(__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = linkage });
+ const __aeabi_d2lz = @import("compiler_rt/fixdfdi.zig").__aeabi_d2lz;
+ @export(__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = linkage });
+
+ const __aeabi_d2uiz = @import("compiler_rt/fixunsdfsi.zig").__aeabi_d2uiz;
+ @export(__aeabi_d2uiz, .{ .name = "__aeabi_d2uiz", .linkage = linkage });
+
+ const __aeabi_h2f = @import("compiler_rt/extendXfYf2.zig").__aeabi_h2f;
+ @export(__aeabi_h2f, .{ .name = "__aeabi_h2f", .linkage = linkage });
+ const __aeabi_f2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_f2h;
+ @export(__aeabi_f2h, .{ .name = "__aeabi_f2h", .linkage = linkage });
+
+ const __aeabi_i2f = @import("compiler_rt/floatsiXf.zig").__aeabi_i2f;
+ @export(__aeabi_i2f, .{ .name = "__aeabi_i2f", .linkage = linkage });
+ const __aeabi_d2f = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2f;
+ @export(__aeabi_d2f, .{ .name = "__aeabi_d2f", .linkage = linkage });
+
+ const __aeabi_fadd = @import("compiler_rt/addXf3.zig").__aeabi_fadd;
+ @export(__aeabi_fadd, .{ .name = "__aeabi_fadd", .linkage = linkage });
+ const __aeabi_dadd = @import("compiler_rt/addXf3.zig").__aeabi_dadd;
+ @export(__aeabi_dadd, .{ .name = "__aeabi_dadd", .linkage = linkage });
+ const __aeabi_fsub = @import("compiler_rt/addXf3.zig").__aeabi_fsub;
+ @export(__aeabi_fsub, .{ .name = "__aeabi_fsub", .linkage = linkage });
+ const __aeabi_dsub = @import("compiler_rt/addXf3.zig").__aeabi_dsub;
+ @export(__aeabi_dsub, .{ .name = "__aeabi_dsub", .linkage = linkage });
+
+ const __aeabi_f2uiz = @import("compiler_rt/fixunssfsi.zig").__aeabi_f2uiz;
+ @export(__aeabi_f2uiz, .{ .name = "__aeabi_f2uiz", .linkage = linkage });
+
+ const __aeabi_f2iz = @import("compiler_rt/fixsfsi.zig").__aeabi_f2iz;
+ @export(__aeabi_f2iz, .{ .name = "__aeabi_f2iz", .linkage = linkage });
+ const __aeabi_d2iz = @import("compiler_rt/fixdfsi.zig").__aeabi_d2iz;
+ @export(__aeabi_d2iz, .{ .name = "__aeabi_d2iz", .linkage = linkage });
+
+ const __aeabi_fdiv = @import("compiler_rt/divsf3.zig").__aeabi_fdiv;
+ @export(__aeabi_fdiv, .{ .name = "__aeabi_fdiv", .linkage = linkage });
+ const __aeabi_ddiv = @import("compiler_rt/divdf3.zig").__aeabi_ddiv;
+ @export(__aeabi_ddiv, .{ .name = "__aeabi_ddiv", .linkage = linkage });
+
+ const __aeabi_llsl = @import("compiler_rt/shift.zig").__aeabi_llsl;
+ @export(__aeabi_llsl, .{ .name = "__aeabi_llsl", .linkage = linkage });
+ const __aeabi_lasr = @import("compiler_rt/shift.zig").__aeabi_lasr;
+ @export(__aeabi_lasr, .{ .name = "__aeabi_lasr", .linkage = linkage });
+ const __aeabi_llsr = @import("compiler_rt/shift.zig").__aeabi_llsr;
+ @export(__aeabi_llsr, .{ .name = "__aeabi_llsr", .linkage = linkage });
+
+ const __aeabi_fcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpeq;
+ @export(__aeabi_fcmpeq, .{ .name = "__aeabi_fcmpeq", .linkage = linkage });
+ const __aeabi_fcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmplt;
+ @export(__aeabi_fcmplt, .{ .name = "__aeabi_fcmplt", .linkage = linkage });
+ const __aeabi_fcmple = @import("compiler_rt/compareXf2.zig").__aeabi_fcmple;
+ @export(__aeabi_fcmple, .{ .name = "__aeabi_fcmple", .linkage = linkage });
+ const __aeabi_fcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpge;
+ @export(__aeabi_fcmpge, .{ .name = "__aeabi_fcmpge", .linkage = linkage });
+ const __aeabi_fcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpgt;
+ @export(__aeabi_fcmpgt, .{ .name = "__aeabi_fcmpgt", .linkage = linkage });
+ const __aeabi_fcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpun;
+ @export(__aeabi_fcmpun, .{ .name = "__aeabi_fcmpun", .linkage = linkage });
+
+ const __aeabi_dcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpeq;
+ @export(__aeabi_dcmpeq, .{ .name = "__aeabi_dcmpeq", .linkage = linkage });
+ const __aeabi_dcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmplt;
+ @export(__aeabi_dcmplt, .{ .name = "__aeabi_dcmplt", .linkage = linkage });
+ const __aeabi_dcmple = @import("compiler_rt/compareXf2.zig").__aeabi_dcmple;
+ @export(__aeabi_dcmple, .{ .name = "__aeabi_dcmple", .linkage = linkage });
+ const __aeabi_dcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpge;
+ @export(__aeabi_dcmpge, .{ .name = "__aeabi_dcmpge", .linkage = linkage });
+ const __aeabi_dcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpgt;
+ @export(__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage });
+ const __aeabi_dcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpun;
+ @export(__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage });
}
if (arch == .i386 and abi == .msvc) {
// Don't let LLVM apply the stdcall name mangling on those MSVC builtins
- @export(@import("compiler_rt/aulldiv.zig")._alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage });
- @export(@import("compiler_rt/aulldiv.zig")._aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage });
- @export(@import("compiler_rt/aullrem.zig")._allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage });
- @export(@import("compiler_rt/aullrem.zig")._aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage });
+ const _alldiv = @import("compiler_rt/aulldiv.zig")._alldiv;
+ @export(_alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage });
+ const _aulldiv = @import("compiler_rt/aulldiv.zig")._aulldiv;
+ @export(_aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage });
+ const _allrem = @import("compiler_rt/aullrem.zig")._allrem;
+ @export(_allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage });
+ const _aullrem = @import("compiler_rt/aullrem.zig")._aullrem;
+ @export(_aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage });
}
if (arch.isSPARC()) {
// SPARC systems use a different naming scheme
- @export(@import("compiler_rt/sparc.zig")._Qp_add, .{ .name = "_Qp_add", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_div, .{ .name = "_Qp_div", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_mul, .{ .name = "_Qp_mul", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_sub, .{ .name = "_Qp_sub", .linkage = linkage });
-
- @export(@import("compiler_rt/sparc.zig")._Qp_cmp, .{ .name = "_Qp_cmp", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_feq, .{ .name = "_Qp_feq", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_fne, .{ .name = "_Qp_fne", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_flt, .{ .name = "_Qp_flt", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_fle, .{ .name = "_Qp_fle", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_fgt, .{ .name = "_Qp_fgt", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_fge, .{ .name = "_Qp_fge", .linkage = linkage });
-
- @export(@import("compiler_rt/sparc.zig")._Qp_itoq, .{ .name = "_Qp_itoq", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_uitoq, .{ .name = "_Qp_uitoq", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_xtoq, .{ .name = "_Qp_xtoq", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_uxtoq, .{ .name = "_Qp_uxtoq", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_stoq, .{ .name = "_Qp_stoq", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_dtoq, .{ .name = "_Qp_dtoq", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_qtoi, .{ .name = "_Qp_qtoi", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_qtoui, .{ .name = "_Qp_qtoui", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_qtox, .{ .name = "_Qp_qtox", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_qtoux, .{ .name = "_Qp_qtoux", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_qtos, .{ .name = "_Qp_qtos", .linkage = linkage });
- @export(@import("compiler_rt/sparc.zig")._Qp_qtod, .{ .name = "_Qp_qtod", .linkage = linkage });
+ const _Qp_add = @import("compiler_rt/sparc.zig")._Qp_add;
+ @export(_Qp_add, .{ .name = "_Qp_add", .linkage = linkage });
+ const _Qp_div = @import("compiler_rt/sparc.zig")._Qp_div;
+ @export(_Qp_div, .{ .name = "_Qp_div", .linkage = linkage });
+ const _Qp_mul = @import("compiler_rt/sparc.zig")._Qp_mul;
+ @export(_Qp_mul, .{ .name = "_Qp_mul", .linkage = linkage });
+ const _Qp_sub = @import("compiler_rt/sparc.zig")._Qp_sub;
+ @export(_Qp_sub, .{ .name = "_Qp_sub", .linkage = linkage });
+
+ const _Qp_cmp = @import("compiler_rt/sparc.zig")._Qp_cmp;
+ @export(_Qp_cmp, .{ .name = "_Qp_cmp", .linkage = linkage });
+ const _Qp_feq = @import("compiler_rt/sparc.zig")._Qp_feq;
+ @export(_Qp_feq, .{ .name = "_Qp_feq", .linkage = linkage });
+ const _Qp_fne = @import("compiler_rt/sparc.zig")._Qp_fne;
+ @export(_Qp_fne, .{ .name = "_Qp_fne", .linkage = linkage });
+ const _Qp_flt = @import("compiler_rt/sparc.zig")._Qp_flt;
+ @export(_Qp_flt, .{ .name = "_Qp_flt", .linkage = linkage });
+ const _Qp_fle = @import("compiler_rt/sparc.zig")._Qp_fle;
+ @export(_Qp_fle, .{ .name = "_Qp_fle", .linkage = linkage });
+ const _Qp_fgt = @import("compiler_rt/sparc.zig")._Qp_fgt;
+ @export(_Qp_fgt, .{ .name = "_Qp_fgt", .linkage = linkage });
+ const _Qp_fge = @import("compiler_rt/sparc.zig")._Qp_fge;
+ @export(_Qp_fge, .{ .name = "_Qp_fge", .linkage = linkage });
+
+ const _Qp_itoq = @import("compiler_rt/sparc.zig")._Qp_itoq;
+ @export(_Qp_itoq, .{ .name = "_Qp_itoq", .linkage = linkage });
+ const _Qp_uitoq = @import("compiler_rt/sparc.zig")._Qp_uitoq;
+ @export(_Qp_uitoq, .{ .name = "_Qp_uitoq", .linkage = linkage });
+ const _Qp_xtoq = @import("compiler_rt/sparc.zig")._Qp_xtoq;
+ @export(_Qp_xtoq, .{ .name = "_Qp_xtoq", .linkage = linkage });
+ const _Qp_uxtoq = @import("compiler_rt/sparc.zig")._Qp_uxtoq;
+ @export(_Qp_uxtoq, .{ .name = "_Qp_uxtoq", .linkage = linkage });
+ const _Qp_stoq = @import("compiler_rt/sparc.zig")._Qp_stoq;
+ @export(_Qp_stoq, .{ .name = "_Qp_stoq", .linkage = linkage });
+ const _Qp_dtoq = @import("compiler_rt/sparc.zig")._Qp_dtoq;
+ @export(_Qp_dtoq, .{ .name = "_Qp_dtoq", .linkage = linkage });
+ const _Qp_qtoi = @import("compiler_rt/sparc.zig")._Qp_qtoi;
+ @export(_Qp_qtoi, .{ .name = "_Qp_qtoi", .linkage = linkage });
+ const _Qp_qtoui = @import("compiler_rt/sparc.zig")._Qp_qtoui;
+ @export(_Qp_qtoui, .{ .name = "_Qp_qtoui", .linkage = linkage });
+ const _Qp_qtox = @import("compiler_rt/sparc.zig")._Qp_qtox;
+ @export(_Qp_qtox, .{ .name = "_Qp_qtox", .linkage = linkage });
+ const _Qp_qtoux = @import("compiler_rt/sparc.zig")._Qp_qtoux;
+ @export(_Qp_qtoux, .{ .name = "_Qp_qtoux", .linkage = linkage });
+ const _Qp_qtos = @import("compiler_rt/sparc.zig")._Qp_qtos;
+ @export(_Qp_qtos, .{ .name = "_Qp_qtos", .linkage = linkage });
+ const _Qp_qtod = @import("compiler_rt/sparc.zig")._Qp_qtod;
+ @export(_Qp_qtod, .{ .name = "_Qp_qtod", .linkage = linkage });
}
if ((arch == .powerpc or arch.isPPC64()) and !is_test) {
- @export(@import("compiler_rt/addXf3.zig").__addtf3, .{ .name = "__addkf3", .linkage = linkage });
- @export(@import("compiler_rt/addXf3.zig").__subtf3, .{ .name = "__subkf3", .linkage = linkage });
- @export(@import("compiler_rt/mulXf3.zig").__multf3, .{ .name = "__mulkf3", .linkage = linkage });
- @export(@import("compiler_rt/divtf3.zig").__divtf3, .{ .name = "__divkf3", .linkage = linkage });
- @export(@import("compiler_rt/extendXfYf2.zig").__extendsftf2, .{ .name = "__extendsfkf2", .linkage = linkage });
- @export(@import("compiler_rt/extendXfYf2.zig").__extenddftf2, .{ .name = "__extenddfkf2", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__trunctfsf2, .{ .name = "__trunckfsf2", .linkage = linkage });
- @export(@import("compiler_rt/truncXfYf2.zig").__trunctfdf2, .{ .name = "__trunckfdf2", .linkage = linkage });
- @export(@import("compiler_rt/fixtfdi.zig").__fixtfdi, .{ .name = "__fixkfdi", .linkage = linkage });
- @export(@import("compiler_rt/fixtfsi.zig").__fixtfsi, .{ .name = "__fixkfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixunstfsi.zig").__fixunstfsi, .{ .name = "__fixunskfsi", .linkage = linkage });
- @export(@import("compiler_rt/fixunstfdi.zig").__fixunstfdi, .{ .name = "__fixunskfdi", .linkage = linkage });
- @export(@import("compiler_rt/floatsiXf.zig").__floatsitf, .{ .name = "__floatsikf", .linkage = linkage });
- @export(@import("compiler_rt/floatditf.zig").__floatditf, .{ .name = "__floatdikf", .linkage = linkage });
- @export(@import("compiler_rt/floatunditf.zig").__floatunditf, .{ .name = "__floatundikf", .linkage = linkage });
- @export(@import("compiler_rt/floatunsitf.zig").__floatunsitf, .{ .name = "__floatunsikf", .linkage = linkage });
-
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__eqkf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__nekf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__getf2, .{ .name = "__gekf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__ltkf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__letf2, .{ .name = "__lekf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__getf2, .{ .name = "__gtkf2", .linkage = linkage });
- @export(@import("compiler_rt/compareXf2.zig").__unordtf2, .{ .name = "__unordkf2", .linkage = linkage });
+ @export(__addtf3, .{ .name = "__addkf3", .linkage = linkage });
+ @export(__subtf3, .{ .name = "__subkf3", .linkage = linkage });
+ @export(__multf3, .{ .name = "__mulkf3", .linkage = linkage });
+ @export(__divtf3, .{ .name = "__divkf3", .linkage = linkage });
+ @export(__extendsftf2, .{ .name = "__extendsfkf2", .linkage = linkage });
+ @export(__extenddftf2, .{ .name = "__extenddfkf2", .linkage = linkage });
+ @export(__trunctfsf2, .{ .name = "__trunckfsf2", .linkage = linkage });
+ @export(__trunctfdf2, .{ .name = "__trunckfdf2", .linkage = linkage });
+ @export(__fixtfdi, .{ .name = "__fixkfdi", .linkage = linkage });
+ @export(__fixtfsi, .{ .name = "__fixkfsi", .linkage = linkage });
+ @export(__fixunstfsi, .{ .name = "__fixunskfsi", .linkage = linkage });
+ @export(__fixunstfdi, .{ .name = "__fixunskfdi", .linkage = linkage });
+ @export(__floatsitf, .{ .name = "__floatsikf", .linkage = linkage });
+ @export(__floatditf, .{ .name = "__floatdikf", .linkage = linkage });
+ @export(__floatunditf, .{ .name = "__floatundikf", .linkage = linkage });
+ @export(__floatunsitf, .{ .name = "__floatunsikf", .linkage = linkage });
+
+ @export(__letf2, .{ .name = "__eqkf2", .linkage = linkage });
+ @export(__letf2, .{ .name = "__nekf2", .linkage = linkage });
+ @export(__getf2, .{ .name = "__gekf2", .linkage = linkage });
+ @export(__letf2, .{ .name = "__ltkf2", .linkage = linkage });
+ @export(__letf2, .{ .name = "__lekf2", .linkage = linkage });
+ @export(__getf2, .{ .name = "__gtkf2", .linkage = linkage });
+ @export(__unordtf2, .{ .name = "__unordkf2", .linkage = linkage });
}
if (builtin.os.tag == .windows) {
// Default stack-probe functions emitted by LLVM
if (is_mingw) {
- @export(@import("compiler_rt/stack_probe.zig")._chkstk, .{ .name = "_alloca", .linkage = strong_linkage });
- @export(@import("compiler_rt/stack_probe.zig").___chkstk_ms, .{ .name = "___chkstk_ms", .linkage = strong_linkage });
+ const _chkstk = @import("compiler_rt/stack_probe.zig")._chkstk;
+ @export(_chkstk, .{ .name = "_alloca", .linkage = strong_linkage });
+ const ___chkstk_ms = @import("compiler_rt/stack_probe.zig").___chkstk_ms;
+ @export(___chkstk_ms, .{ .name = "___chkstk_ms", .linkage = strong_linkage });
} else if (!builtin.link_libc) {
// This symbols are otherwise exported by MSVCRT.lib
- @export(@import("compiler_rt/stack_probe.zig")._chkstk, .{ .name = "_chkstk", .linkage = strong_linkage });
- @export(@import("compiler_rt/stack_probe.zig").__chkstk, .{ .name = "__chkstk", .linkage = strong_linkage });
+ const _chkstk = @import("compiler_rt/stack_probe.zig")._chkstk;
+ @export(_chkstk, .{ .name = "_chkstk", .linkage = strong_linkage });
+ const __chkstk = @import("compiler_rt/stack_probe.zig").__chkstk;
+ @export(__chkstk, .{ .name = "__chkstk", .linkage = strong_linkage });
}
switch (arch) {
.i386 => {
- @export(@import("compiler_rt/divti3.zig").__divti3, .{ .name = "__divti3", .linkage = linkage });
- @export(@import("compiler_rt/modti3.zig").__modti3, .{ .name = "__modti3", .linkage = linkage });
- @export(@import("compiler_rt/multi3.zig").__multi3, .{ .name = "__multi3", .linkage = linkage });
- @export(@import("compiler_rt/udivti3.zig").__udivti3, .{ .name = "__udivti3", .linkage = linkage });
- @export(@import("compiler_rt/udivmodti4.zig").__udivmodti4, .{ .name = "__udivmodti4", .linkage = linkage });
- @export(@import("compiler_rt/umodti3.zig").__umodti3, .{ .name = "__umodti3", .linkage = linkage });
+ const __divti3 = @import("compiler_rt/divti3.zig").__divti3;
+ @export(__divti3, .{ .name = "__divti3", .linkage = linkage });
+ const __modti3 = @import("compiler_rt/modti3.zig").__modti3;
+ @export(__modti3, .{ .name = "__modti3", .linkage = linkage });
+ const __multi3 = @import("compiler_rt/multi3.zig").__multi3;
+ @export(__multi3, .{ .name = "__multi3", .linkage = linkage });
+ const __udivti3 = @import("compiler_rt/udivti3.zig").__udivti3;
+ @export(__udivti3, .{ .name = "__udivti3", .linkage = linkage });
+ const __udivmodti4 = @import("compiler_rt/udivmodti4.zig").__udivmodti4;
+ @export(__udivmodti4, .{ .name = "__udivmodti4", .linkage = linkage });
+ const __umodti3 = @import("compiler_rt/umodti3.zig").__umodti3;
+ @export(__umodti3, .{ .name = "__umodti3", .linkage = linkage });
},
.x86_64 => {
// The "ti" functions must use Vector(2, u64) parameter types to adhere to the ABI
// that LLVM expects compiler-rt to have.
- @export(@import("compiler_rt/divti3.zig").__divti3_windows_x86_64, .{ .name = "__divti3", .linkage = linkage });
- @export(@import("compiler_rt/modti3.zig").__modti3_windows_x86_64, .{ .name = "__modti3", .linkage = linkage });
- @export(@import("compiler_rt/multi3.zig").__multi3_windows_x86_64, .{ .name = "__multi3", .linkage = linkage });
- @export(@import("compiler_rt/udivti3.zig").__udivti3_windows_x86_64, .{ .name = "__udivti3", .linkage = linkage });
- @export(@import("compiler_rt/udivmodti4.zig").__udivmodti4_windows_x86_64, .{ .name = "__udivmodti4", .linkage = linkage });
- @export(@import("compiler_rt/umodti3.zig").__umodti3_windows_x86_64, .{ .name = "__umodti3", .linkage = linkage });
+ const __divti3_windows_x86_64 = @import("compiler_rt/divti3.zig").__divti3_windows_x86_64;
+ @export(__divti3_windows_x86_64, .{ .name = "__divti3", .linkage = linkage });
+ const __modti3_windows_x86_64 = @import("compiler_rt/modti3.zig").__modti3_windows_x86_64;
+ @export(__modti3_windows_x86_64, .{ .name = "__modti3", .linkage = linkage });
+ const __multi3_windows_x86_64 = @import("compiler_rt/multi3.zig").__multi3_windows_x86_64;
+ @export(__multi3_windows_x86_64, .{ .name = "__multi3", .linkage = linkage });
+ const __udivti3_windows_x86_64 = @import("compiler_rt/udivti3.zig").__udivti3_windows_x86_64;
+ @export(__udivti3_windows_x86_64, .{ .name = "__udivti3", .linkage = linkage });
+ const __udivmodti4_windows_x86_64 = @import("compiler_rt/udivmodti4.zig").__udivmodti4_windows_x86_64;
+ @export(__udivmodti4_windows_x86_64, .{ .name = "__udivmodti4", .linkage = linkage });
+ const __umodti3_windows_x86_64 = @import("compiler_rt/umodti3.zig").__umodti3_windows_x86_64;
+ @export(__umodti3_windows_x86_64, .{ .name = "__umodti3", .linkage = linkage });
},
else => {},
}
} else {
- @export(@import("compiler_rt/divti3.zig").__divti3, .{ .name = "__divti3", .linkage = linkage });
- @export(@import("compiler_rt/modti3.zig").__modti3, .{ .name = "__modti3", .linkage = linkage });
- @export(@import("compiler_rt/multi3.zig").__multi3, .{ .name = "__multi3", .linkage = linkage });
- @export(@import("compiler_rt/udivti3.zig").__udivti3, .{ .name = "__udivti3", .linkage = linkage });
- @export(@import("compiler_rt/udivmodti4.zig").__udivmodti4, .{ .name = "__udivmodti4", .linkage = linkage });
- @export(@import("compiler_rt/umodti3.zig").__umodti3, .{ .name = "__umodti3", .linkage = linkage });
+ const __divti3 = @import("compiler_rt/divti3.zig").__divti3;
+ @export(__divti3, .{ .name = "__divti3", .linkage = linkage });
+ const __modti3 = @import("compiler_rt/modti3.zig").__modti3;
+ @export(__modti3, .{ .name = "__modti3", .linkage = linkage });
+ const __multi3 = @import("compiler_rt/multi3.zig").__multi3;
+ @export(__multi3, .{ .name = "__multi3", .linkage = linkage });
+ const __udivti3 = @import("compiler_rt/udivti3.zig").__udivti3;
+ @export(__udivti3, .{ .name = "__udivti3", .linkage = linkage });
+ const __udivmodti4 = @import("compiler_rt/udivmodti4.zig").__udivmodti4;
+ @export(__udivmodti4, .{ .name = "__udivmodti4", .linkage = linkage });
+ const __umodti3 = @import("compiler_rt/umodti3.zig").__umodti3;
+ @export(__umodti3, .{ .name = "__umodti3", .linkage = linkage });
}
- @export(@import("compiler_rt/muloti4.zig").__muloti4, .{ .name = "__muloti4", .linkage = linkage });
- @export(@import("compiler_rt/mulodi4.zig").__mulodi4, .{ .name = "__mulodi4", .linkage = linkage });
+ const __muloti4 = @import("compiler_rt/muloti4.zig").__muloti4;
+ @export(__muloti4, .{ .name = "__muloti4", .linkage = linkage });
+ const __mulodi4 = @import("compiler_rt/mulodi4.zig").__mulodi4;
+ @export(__mulodi4, .{ .name = "__mulodi4", .linkage = linkage });
}
pub usingnamespace @import("compiler_rt/atomics.zig");
diff --git a/lib/std/special/compiler_rt/atomics.zig b/lib/std/special/compiler_rt/atomics.zig
index 3ca946c62a..e448a580ca 100644
--- a/lib/std/special/compiler_rt/atomics.zig
+++ b/lib/std/special/compiler_rt/atomics.zig
@@ -148,10 +148,14 @@ fn atomicLoadFn(comptime T: type) fn (*T, i32) callconv(.C) T {
comptime {
if (supports_atomic_ops) {
- @export(atomicLoadFn(u8), .{ .name = "__atomic_load_1", .linkage = linkage });
- @export(atomicLoadFn(u16), .{ .name = "__atomic_load_2", .linkage = linkage });
- @export(atomicLoadFn(u32), .{ .name = "__atomic_load_4", .linkage = linkage });
- @export(atomicLoadFn(u64), .{ .name = "__atomic_load_8", .linkage = linkage });
+ const atomicLoad_u8 = atomicLoadFn(u8);
+ const atomicLoad_u16 = atomicLoadFn(u16);
+ const atomicLoad_u32 = atomicLoadFn(u32);
+ const atomicLoad_u64 = atomicLoadFn(u64);
+ @export(atomicLoad_u8, .{ .name = "__atomic_load_1", .linkage = linkage });
+ @export(atomicLoad_u16, .{ .name = "__atomic_load_2", .linkage = linkage });
+ @export(atomicLoad_u32, .{ .name = "__atomic_load_4", .linkage = linkage });
+ @export(atomicLoad_u64, .{ .name = "__atomic_load_8", .linkage = linkage });
}
}
@@ -171,10 +175,14 @@ fn atomicStoreFn(comptime T: type) fn (*T, T, i32) callconv(.C) void {
comptime {
if (supports_atomic_ops) {
- @export(atomicStoreFn(u8), .{ .name = "__atomic_store_1", .linkage = linkage });
- @export(atomicStoreFn(u16), .{ .name = "__atomic_store_2", .linkage = linkage });
- @export(atomicStoreFn(u32), .{ .name = "__atomic_store_4", .linkage = linkage });
- @export(atomicStoreFn(u64), .{ .name = "__atomic_store_8", .linkage = linkage });
+ const atomicStore_u8 = atomicStoreFn(u8);
+ const atomicStore_u16 = atomicStoreFn(u16);
+ const atomicStore_u32 = atomicStoreFn(u32);
+ const atomicStore_u64 = atomicStoreFn(u64);
+ @export(atomicStore_u8, .{ .name = "__atomic_store_1", .linkage = linkage });
+ @export(atomicStore_u16, .{ .name = "__atomic_store_2", .linkage = linkage });
+ @export(atomicStore_u32, .{ .name = "__atomic_store_4", .linkage = linkage });
+ @export(atomicStore_u64, .{ .name = "__atomic_store_8", .linkage = linkage });
}
}
@@ -196,10 +204,14 @@ fn atomicExchangeFn(comptime T: type) fn (*T, T, i32) callconv(.C) T {
comptime {
if (supports_atomic_ops) {
- @export(atomicExchangeFn(u8), .{ .name = "__atomic_exchange_1", .linkage = linkage });
- @export(atomicExchangeFn(u16), .{ .name = "__atomic_exchange_2", .linkage = linkage });
- @export(atomicExchangeFn(u32), .{ .name = "__atomic_exchange_4", .linkage = linkage });
- @export(atomicExchangeFn(u64), .{ .name = "__atomic_exchange_8", .linkage = linkage });
+ const atomicExchange_u8 = atomicExchangeFn(u8);
+ const atomicExchange_u16 = atomicExchangeFn(u16);
+ const atomicExchange_u32 = atomicExchangeFn(u32);
+ const atomicExchange_u64 = atomicExchangeFn(u64);
+ @export(atomicExchange_u8, .{ .name = "__atomic_exchange_1", .linkage = linkage });
+ @export(atomicExchange_u16, .{ .name = "__atomic_exchange_2", .linkage = linkage });
+ @export(atomicExchange_u32, .{ .name = "__atomic_exchange_4", .linkage = linkage });
+ @export(atomicExchange_u64, .{ .name = "__atomic_exchange_8", .linkage = linkage });
}
}
@@ -229,10 +241,14 @@ fn atomicCompareExchangeFn(comptime T: type) fn (*T, *T, T, i32, i32) callconv(.
comptime {
if (supports_atomic_ops) {
- @export(atomicCompareExchangeFn(u8), .{ .name = "__atomic_compare_exchange_1", .linkage = linkage });
- @export(atomicCompareExchangeFn(u16), .{ .name = "__atomic_compare_exchange_2", .linkage = linkage });
- @export(atomicCompareExchangeFn(u32), .{ .name = "__atomic_compare_exchange_4", .linkage = linkage });
- @export(atomicCompareExchangeFn(u64), .{ .name = "__atomic_compare_exchange_8", .linkage = linkage });
+ const atomicCompareExchange_u8 = atomicCompareExchangeFn(u8);
+ const atomicCompareExchange_u16 = atomicCompareExchangeFn(u16);
+ const atomicCompareExchange_u32 = atomicCompareExchangeFn(u32);
+ const atomicCompareExchange_u64 = atomicCompareExchangeFn(u64);
+ @export(atomicCompareExchange_u8, .{ .name = "__atomic_compare_exchange_1", .linkage = linkage });
+ @export(atomicCompareExchange_u16, .{ .name = "__atomic_compare_exchange_2", .linkage = linkage });
+ @export(atomicCompareExchange_u32, .{ .name = "__atomic_compare_exchange_4", .linkage = linkage });
+ @export(atomicCompareExchange_u64, .{ .name = "__atomic_compare_exchange_8", .linkage = linkage });
}
}
@@ -264,34 +280,58 @@ fn fetchFn(comptime T: type, comptime op: builtin.AtomicRmwOp) fn (*T, T, i32) c
comptime {
if (supports_atomic_ops) {
- @export(fetchFn(u8, .Add), .{ .name = "__atomic_fetch_add_1", .linkage = linkage });
- @export(fetchFn(u16, .Add), .{ .name = "__atomic_fetch_add_2", .linkage = linkage });
- @export(fetchFn(u32, .Add), .{ .name = "__atomic_fetch_add_4", .linkage = linkage });
- @export(fetchFn(u64, .Add), .{ .name = "__atomic_fetch_add_8", .linkage = linkage });
-
- @export(fetchFn(u8, .Sub), .{ .name = "__atomic_fetch_sub_1", .linkage = linkage });
- @export(fetchFn(u16, .Sub), .{ .name = "__atomic_fetch_sub_2", .linkage = linkage });
- @export(fetchFn(u32, .Sub), .{ .name = "__atomic_fetch_sub_4", .linkage = linkage });
- @export(fetchFn(u64, .Sub), .{ .name = "__atomic_fetch_sub_8", .linkage = linkage });
-
- @export(fetchFn(u8, .And), .{ .name = "__atomic_fetch_and_1", .linkage = linkage });
- @export(fetchFn(u16, .And), .{ .name = "__atomic_fetch_and_2", .linkage = linkage });
- @export(fetchFn(u32, .And), .{ .name = "__atomic_fetch_and_4", .linkage = linkage });
- @export(fetchFn(u64, .And), .{ .name = "__atomic_fetch_and_8", .linkage = linkage });
-
- @export(fetchFn(u8, .Or), .{ .name = "__atomic_fetch_or_1", .linkage = linkage });
- @export(fetchFn(u16, .Or), .{ .name = "__atomic_fetch_or_2", .linkage = linkage });
- @export(fetchFn(u32, .Or), .{ .name = "__atomic_fetch_or_4", .linkage = linkage });
- @export(fetchFn(u64, .Or), .{ .name = "__atomic_fetch_or_8", .linkage = linkage });
-
- @export(fetchFn(u8, .Xor), .{ .name = "__atomic_fetch_xor_1", .linkage = linkage });
- @export(fetchFn(u16, .Xor), .{ .name = "__atomic_fetch_xor_2", .linkage = linkage });
- @export(fetchFn(u32, .Xor), .{ .name = "__atomic_fetch_xor_4", .linkage = linkage });
- @export(fetchFn(u64, .Xor), .{ .name = "__atomic_fetch_xor_8", .linkage = linkage });
-
- @export(fetchFn(u8, .Nand), .{ .name = "__atomic_fetch_nand_1", .linkage = linkage });
- @export(fetchFn(u16, .Nand), .{ .name = "__atomic_fetch_nand_2", .linkage = linkage });
- @export(fetchFn(u32, .Nand), .{ .name = "__atomic_fetch_nand_4", .linkage = linkage });
- @export(fetchFn(u64, .Nand), .{ .name = "__atomic_fetch_nand_8", .linkage = linkage });
+ const fetch_add_u8 = fetchFn(u8, .Add);
+ const fetch_add_u16 = fetchFn(u16, .Add);
+ const fetch_add_u32 = fetchFn(u32, .Add);
+ const fetch_add_u64 = fetchFn(u64, .Add);
+ @export(fetch_add_u8, .{ .name = "__atomic_fetch_add_1", .linkage = linkage });
+ @export(fetch_add_u16, .{ .name = "__atomic_fetch_add_2", .linkage = linkage });
+ @export(fetch_add_u32, .{ .name = "__atomic_fetch_add_4", .linkage = linkage });
+ @export(fetch_add_u64, .{ .name = "__atomic_fetch_add_8", .linkage = linkage });
+
+ const fetch_sub_u8 = fetchFn(u8, .Sub);
+ const fetch_sub_u16 = fetchFn(u16, .Sub);
+ const fetch_sub_u32 = fetchFn(u32, .Sub);
+ const fetch_sub_u64 = fetchFn(u64, .Sub);
+ @export(fetch_sub_u8, .{ .name = "__atomic_fetch_sub_1", .linkage = linkage });
+ @export(fetch_sub_u16, .{ .name = "__atomic_fetch_sub_2", .linkage = linkage });
+ @export(fetch_sub_u32, .{ .name = "__atomic_fetch_sub_4", .linkage = linkage });
+ @export(fetch_sub_u64, .{ .name = "__atomic_fetch_sub_8", .linkage = linkage });
+
+ const fetch_and_u8 = fetchFn(u8, .And);
+ const fetch_and_u16 = fetchFn(u16, .And);
+ const fetch_and_u32 = fetchFn(u32, .And);
+ const fetch_and_u64 = fetchFn(u64, .And);
+ @export(fetch_and_u8, .{ .name = "__atomic_fetch_and_1", .linkage = linkage });
+ @export(fetch_and_u16, .{ .name = "__atomic_fetch_and_2", .linkage = linkage });
+ @export(fetch_and_u32, .{ .name = "__atomic_fetch_and_4", .linkage = linkage });
+ @export(fetch_and_u64, .{ .name = "__atomic_fetch_and_8", .linkage = linkage });
+
+ const fetch_or_u8 = fetchFn(u8, .Or);
+ const fetch_or_u16 = fetchFn(u16, .Or);
+ const fetch_or_u32 = fetchFn(u32, .Or);
+ const fetch_or_u64 = fetchFn(u64, .Or);
+ @export(fetch_or_u8, .{ .name = "__atomic_fetch_or_1", .linkage = linkage });
+ @export(fetch_or_u16, .{ .name = "__atomic_fetch_or_2", .linkage = linkage });
+ @export(fetch_or_u32, .{ .name = "__atomic_fetch_or_4", .linkage = linkage });
+ @export(fetch_or_u64, .{ .name = "__atomic_fetch_or_8", .linkage = linkage });
+
+ const fetch_xor_u8 = fetchFn(u8, .Xor);
+ const fetch_xor_u16 = fetchFn(u16, .Xor);
+ const fetch_xor_u32 = fetchFn(u32, .Xor);
+ const fetch_xor_u64 = fetchFn(u64, .Xor);
+ @export(fetch_xor_u8, .{ .name = "__atomic_fetch_xor_1", .linkage = linkage });
+ @export(fetch_xor_u16, .{ .name = "__atomic_fetch_xor_2", .linkage = linkage });
+ @export(fetch_xor_u32, .{ .name = "__atomic_fetch_xor_4", .linkage = linkage });
+ @export(fetch_xor_u64, .{ .name = "__atomic_fetch_xor_8", .linkage = linkage });
+
+ const fetch_nand_u8 = fetchFn(u8, .Nand);
+ const fetch_nand_u16 = fetchFn(u16, .Nand);
+ const fetch_nand_u32 = fetchFn(u32, .Nand);
+ const fetch_nand_u64 = fetchFn(u64, .Nand);
+ @export(fetch_nand_u8, .{ .name = "__atomic_fetch_nand_1", .linkage = linkage });
+ @export(fetch_nand_u16, .{ .name = "__atomic_fetch_nand_2", .linkage = linkage });
+ @export(fetch_nand_u32, .{ .name = "__atomic_fetch_nand_4", .linkage = linkage });
+ @export(fetch_nand_u64, .{ .name = "__atomic_fetch_nand_8", .linkage = linkage });
}
}
diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig
index 4d5cadb37b..cc323382cd 100644
--- a/lib/std/zig/parse.zig
+++ b/lib/std/zig/parse.zig
@@ -2005,9 +2005,12 @@ const Parser = struct {
if (field_init != 0) {
try p.scratch.append(p.gpa, field_init);
while (true) {
- switch (p.token_tags[p.tok_i]) {
+ switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_brace => { p.tok_i += 1; break; },
+ .r_brace => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_paren, .r_bracket => return p.failExpected(.r_brace),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -2045,7 +2048,10 @@ const Parser = struct {
try p.scratch.append(p.gpa, elem_init);
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_brace => { p.tok_i += 1; break; },
+ .r_brace => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_paren, .r_bracket => return p.failExpected(.r_brace),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -2121,7 +2127,10 @@ const Parser = struct {
try p.scratch.append(p.gpa, param);
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_paren => { p.tok_i += 1; break; },
+ .r_paren => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_brace, .r_bracket => return p.failExpected(.r_paren),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -2129,7 +2138,7 @@ const Parser = struct {
}
const comma = (p.token_tags[p.tok_i - 2] == .comma);
const params = p.scratch.items[scratch_top..];
- switch(params.len) {
+ switch (params.len) {
0 => return p.addNode(.{
.tag = if (comma) .async_call_one_comma else .async_call_one,
.main_token = lparen,
@@ -2174,7 +2183,10 @@ const Parser = struct {
try p.scratch.append(p.gpa, param);
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_paren => { p.tok_i += 1; break; },
+ .r_paren => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_brace, .r_bracket => return p.failExpected(.r_paren),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -2182,7 +2194,7 @@ const Parser = struct {
}
const comma = (p.token_tags[p.tok_i - 2] == .comma);
const params = p.scratch.items[scratch_top..];
- res = switch(params.len) {
+ res = switch (params.len) {
0 => try p.addNode(.{
.tag = if (comma) .call_one_comma else .call_one,
.main_token = lparen,
@@ -2448,7 +2460,10 @@ const Parser = struct {
while (true) {
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_brace => { p.tok_i += 1; break; },
+ .r_brace => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_paren, .r_bracket => return p.failExpected(.r_brace),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -2497,7 +2512,10 @@ const Parser = struct {
try p.scratch.append(p.gpa, elem_init);
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_brace => { p.tok_i += 1; break; },
+ .r_brace => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_paren, .r_bracket => return p.failExpected(.r_brace),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -2555,7 +2573,10 @@ const Parser = struct {
const identifier = try p.expectToken(.identifier);
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_brace => { p.tok_i += 1; break; },
+ .r_brace => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_paren, .r_bracket => return p.failExpected(.r_brace),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -2992,14 +3013,14 @@ const Parser = struct {
_ = try p.parsePtrPayload();
const items = p.scratch.items[scratch_top..];
- switch(items.len) {
+ switch (items.len) {
0 => return p.addNode(.{
.tag = .switch_case_one,
.main_token = arrow_token,
.data = .{
.lhs = 0,
.rhs = try p.expectAssignExpr(),
- }
+ },
}),
1 => return p.addNode(.{
.tag = .switch_case_one,
@@ -3007,7 +3028,7 @@ const Parser = struct {
.data = .{
.lhs = items[0],
.rhs = try p.expectAssignExpr(),
- }
+ },
}),
else => return p.addNode(.{
.tag = .switch_case,
@@ -3375,7 +3396,10 @@ const Parser = struct {
}
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_paren => { p.tok_i += 1; break; },
+ .r_paren => {
+ p.tok_i += 1;
+ break;
+ },
.colon, .r_brace, .r_bracket => return p.failExpected(.r_paren),
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
@@ -3444,7 +3468,10 @@ const Parser = struct {
try p.scratch.append(p.gpa, param);
switch (p.token_tags[p.tok_i]) {
.comma => p.tok_i += 1,
- .r_paren => { p.tok_i += 1; break; },
+ .r_paren => {
+ p.tok_i += 1;
+ break;
+ },
// Likely just a missing comma; give error but continue parsing.
else => try p.warnExpected(.comma),
}