From edfada4317760a152ad9c36b39f5a2e68eeaebf8 Mon Sep 17 00:00:00 2001 From: mlugg Date: Thu, 21 Sep 2023 23:33:04 +0100 Subject: [PATCH] Sema: mark transitive failure when @import refers to a failed file --- src/Sema.zig | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/Sema.zig b/src/Sema.zig index a77069f8ec..ca5b692da1 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -5800,9 +5800,7 @@ fn zirCImport(sema: *Sema, parent_block: *Block, inst: Zir.Inst.Index) CompileEr try mod.semaFile(result.file); const file_root_decl_index = result.file.root_decl.unwrap().?; - const file_root_decl = mod.declPtr(file_root_decl_index); - try mod.declareDeclDependency(sema.owner_decl_index, file_root_decl_index); - return Air.internedToRef(file_root_decl.val.toIntern()); + return sema.analyzeDeclVal(parent_block, src, file_root_decl_index); } fn zirSuspendBlock(sema: *Sema, parent_block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { @@ -13036,9 +13034,7 @@ fn zirImport(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. }; try mod.semaFile(result.file); const file_root_decl_index = result.file.root_decl.unwrap().?; - const file_root_decl = mod.declPtr(file_root_decl_index); - try mod.declareDeclDependency(sema.owner_decl_index, file_root_decl_index); - return Air.internedToRef(file_root_decl.val.toIntern()); + return sema.analyzeDeclVal(block, operand_src, file_root_decl_index); } fn zirEmbedFile(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref {