diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2022-10-01 09:03:28 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2022-10-01 09:03:28 -0400 |
| commit | 272e31227c2636afbf286d5154808cab930cec66 (patch) | |
| tree | ee531886e7f76bd8bbd60b71028688cbb3f95df2 /src/codegen | |
| parent | b7bd44a654671e76f15ed1a4e1226c0d7cc20d92 (diff) | |
| download | zig-272e31227c2636afbf286d5154808cab930cec66.tar.gz zig-272e31227c2636afbf286d5154808cab930cec66.zip | |
llvm: add assert to reliably catch undefined value use
This assert makes it possible to detect a regression of #13030 in the
future without relying on undefined value tracking.
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/llvm.zig | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 1b793265da..ffa710c67a 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -2332,10 +2332,13 @@ pub const Object = struct { // buffer is only used for int_type, `builtin` is a struct. const builtin_ty = mod.declPtr(builtin_decl).val.toType(undefined); const builtin_namespace = builtin_ty.getNamespace().?; - const stack_trace_decl = builtin_namespace.decls + const stack_trace_decl_index = builtin_namespace.decls .getKeyAdapted(stack_trace_str, Module.DeclAdapter{ .mod = mod }).?; + const stack_trace_decl = mod.declPtr(stack_trace_decl_index); - return mod.declPtr(stack_trace_decl).val.toType(undefined); + // Sema should have ensured that StackTrace was analyzed. + assert(stack_trace_decl.has_tv); + return stack_trace_decl.val.toType(undefined); } }; |
