diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2024-05-02 01:59:38 +0100 |
|---|---|---|
| committer | Matthew Lugg <mlugg@mlugg.co.uk> | 2024-05-04 22:03:56 +0100 |
| commit | db890dbae72bc31e50d4ec641f2afce683df772d (patch) | |
| tree | b1b3f0b3f9f921cfd1ac365446becb235151a970 /src/codegen | |
| parent | 5bbb2f966a4d29c7003767255515b7c69a2f1178 (diff) | |
| download | zig-db890dbae72bc31e50d4ec641f2afce683df772d.tar.gz zig-db890dbae72bc31e50d4ec641f2afce683df772d.zip | |
InternPool: eliminate `var_args_param_type`
This was a "fake" type used to handle C varargs parameters, much like
generic poison. In fact, it is treated identically to generic poison in
all cases other than one (the final coercion of a call argument), which
is trivially special-cased. Thus, it makes sense to remove this special
tag and instead use `generic_poison_type` in its place. This fixes
several bugs in Sema related to missing handling of this tag.
Resolves: #19781
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/c/Type.zig | 1 | ||||
| -rw-r--r-- | src/codegen/llvm.zig | 1 |
2 files changed, 0 insertions, 2 deletions
diff --git a/src/codegen/c/Type.zig b/src/codegen/c/Type.zig index 5068073f32..e6a9dc69a3 100644 --- a/src/codegen/c/Type.zig +++ b/src/codegen/c/Type.zig @@ -1468,7 +1468,6 @@ pub const Pool = struct { .bool_false, .empty_struct, .generic_poison, - .var_args_param_type, .none, => unreachable, diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 9be2316a55..3529e9f411 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -3235,7 +3235,6 @@ pub const Object = struct { .bool_false, .empty_struct, .generic_poison, - .var_args_param_type, .none, => unreachable, else => switch (ip.indexToKey(t.toIntern())) { |
