Module: fix compile error for non-comptime-known global initializer

This commit is contained in:
Veikka Tuominen 2022-11-17 23:28:19 +02:00
parent 98b3734b67
commit 034507ef7c
2 changed files with 13 additions and 1 deletions

View File

@ -4633,7 +4633,7 @@ fn semaDecl(mod: *Module, decl_index: Decl.Index) !bool {
const address_space_src: LazySrcLoc = .{ .node_offset_var_decl_addrspace = 0 };
const ty_src: LazySrcLoc = .{ .node_offset_var_decl_ty = 0 };
const init_src: LazySrcLoc = .{ .node_offset_var_decl_init = 0 };
const decl_tv = try sema.resolveInstValue(&block_scope, init_src, result_ref, undefined);
const decl_tv = try sema.resolveInstValue(&block_scope, init_src, result_ref, "global variable initializer must be comptime-known");
// Note this resolves the type of the Decl, not the value; if this Decl
// is a struct, for example, this resolves `type` (which needs no resolution),

View File

@ -0,0 +1,12 @@
var a: u32 = 2;
const b = a;
pub export fn entry() void {
_ = b;
}
// error
// backend=stage2
// target=native
//
// :2:11: error: unable to resolve comptime value
// :2:11: note: global variable initializer must be comptime-known