commit 5e086b2b4c4558681cc23c6cc602704fd06d6fc8 (tree)
parent d3f87f8ac01039722197a13a12342fc747a90567
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sun, 2 Jan 2022 17:58:54 -0700
compiler-rt: small refactor in atomics
Diffstat:
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/lib/std/special/compiler_rt/atomics.zig b/lib/std/special/compiler_rt/atomics.zig
@@ -119,15 +119,6 @@ fn __atomic_compare_exchange(
return 0;
}
-comptime {
- if (supports_atomic_ops) {
- @export(__atomic_load, .{ .name = "__atomic_load", .linkage = linkage });
- @export(__atomic_store, .{ .name = "__atomic_store", .linkage = linkage });
- @export(__atomic_exchange, .{ .name = "__atomic_exchange", .linkage = linkage });
- @export(__atomic_compare_exchange, .{ .name = "__atomic_compare_exchange", .linkage = linkage });
- }
-}
-
// Specialized versions of the GCC atomic builtin functions.
// LLVM emits those iff the object size is known and the pointers are correctly
// aligned.
@@ -380,6 +371,11 @@ fn __atomic_fetch_nand_8(ptr: *u64, val: u64, model: i32) callconv(.C) u64 {
comptime {
if (supports_atomic_ops) {
+ @export(__atomic_load, .{ .name = "__atomic_load", .linkage = linkage });
+ @export(__atomic_store, .{ .name = "__atomic_store", .linkage = linkage });
+ @export(__atomic_exchange, .{ .name = "__atomic_exchange", .linkage = linkage });
+ @export(__atomic_compare_exchange, .{ .name = "__atomic_compare_exchange", .linkage = linkage });
+
@export(__atomic_fetch_add_1, .{ .name = "__atomic_fetch_add_1", .linkage = linkage });
@export(__atomic_fetch_add_2, .{ .name = "__atomic_fetch_add_2", .linkage = linkage });
@export(__atomic_fetch_add_4, .{ .name = "__atomic_fetch_add_4", .linkage = linkage });