Commit fac2a2e754
Changed files (1)
lib
std
special
compiler_rt
lib/std/special/compiler_rt/atomics.zig
@@ -54,14 +54,15 @@ const SpinlockTable = struct {
fn acquire(self: *@This()) void {
while (true) {
- const flag = if (comptime arch.isSPARC())
- asm volatile ("ldstub [%[addr]], %[flag]"
+ const flag = if (comptime arch.isSPARC()) flag: {
+ break :flag asm volatile ("ldstub [%[addr]], %[flag]"
: [flag] "=r" (-> @TypeOf(self.v)),
: [addr] "r" (&self.v),
: "memory"
- )
- else
- @atomicRmw(@TypeOf(self.v), &self.v, .Xchg, .Locked, .Acquire);
+ );
+ } else flag: {
+ break :flag @atomicRmw(@TypeOf(self.v), &self.v, .Xchg, .Locked, .Acquire);
+ };
switch (flag) {
.Unlocked => break,