From 7b2cbcf0fe6dcaea7ee108c13422f6d00ed4bc8e Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Sun, 15 Oct 2023 15:38:16 +0200 Subject: codegen+elf: check if extern is a variable ref --- src/codegen.zig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/codegen.zig') diff --git a/src/codegen.zig b/src/codegen.zig index de5ff9651a..54ed9c0cf5 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -892,9 +892,12 @@ fn genDeclRef( if (bin_file.cast(link.File.Elf)) |elf_file| { if (is_extern) { - const variable = decl.getOwnedVariable(mod).?; const name = mod.intern_pool.stringToSlice(decl.name); - const lib_name = mod.intern_pool.stringToSliceUnwrap(variable.lib_name); + // TODO audit this + const lib_name = if (decl.getOwnedVariable(mod)) |ov| + mod.intern_pool.stringToSliceUnwrap(ov.lib_name) + else + null; return GenResult.mcv(.{ .load_actual_got = try elf_file.getGlobalSymbol(name, lib_name) }); } const sym_index = try elf_file.getOrCreateMetadataForDecl(decl_index); -- cgit v1.2.3