aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-09-25 03:31:57 -0400
committerGitHub <noreply@github.com>2022-09-25 03:31:57 -0400
commit6d7b0690a0e49819ffd92e330f0fd48a7abc0d16 (patch)
treeda0e7fe7edb37c0367964c1b0d43d94eabeb9543 /src/codegen/llvm.zig
parentcae76d8293f6416ff698171c2ae10552fa014587 (diff)
parentc4400e8aa58c9ba5e4cc51836a2cfa6c2e22bfcc (diff)
downloadzig-6d7b0690a0e49819ffd92e330f0fd48a7abc0d16.tar.gz
zig-6d7b0690a0e49819ffd92e330f0fd48a7abc0d16.zip
Merge pull request #12942 from Vexu/stage2-fixes
misc stage2 fixes
Diffstat (limited to 'src/codegen/llvm.zig')
-rw-r--r--src/codegen/llvm.zig8
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