diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-09-25 03:31:57 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-25 03:31:57 -0400 |
| commit | 6d7b0690a0e49819ffd92e330f0fd48a7abc0d16 (patch) | |
| tree | da0e7fe7edb37c0367964c1b0d43d94eabeb9543 /src/codegen | |
| parent | cae76d8293f6416ff698171c2ae10552fa014587 (diff) | |
| parent | c4400e8aa58c9ba5e4cc51836a2cfa6c2e22bfcc (diff) | |
| download | zig-6d7b0690a0e49819ffd92e330f0fd48a7abc0d16.tar.gz zig-6d7b0690a0e49819ffd92e330f0fd48a7abc0d16.zip | |
Merge pull request #12942 from Vexu/stage2-fixes
misc stage2 fixes
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/llvm.zig | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index b2b811beba..b2b9d7de2c 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -5972,7 +5972,9 @@ pub const FuncGen = struct { } if (!std.mem.eql(u8, name, "_")) { - name_map.putAssumeCapacityNoClobber(name, total_i); + const gop = name_map.getOrPutAssumeCapacity(name); + if (gop.found_existing) return self.todo("duplicate asm output name '{s}'", .{name}); + gop.value_ptr.* = total_i; } total_i += 1; } @@ -6028,7 +6030,9 @@ pub const FuncGen = struct { } if (!std.mem.eql(u8, name, "_")) { - name_map.putAssumeCapacityNoClobber(name, total_i); + const gop = name_map.getOrPutAssumeCapacity(name); + if (gop.found_existing) return self.todo("duplicate asm input name '{s}'", .{name}); + gop.value_ptr.* = total_i; } // In the case of indirect inputs, LLVM requires the callsite to have |
