mirror of
https://github.com/ziglang/zig.git
synced 2026-02-20 16:24:51 +00:00
fix use decl regression
This commit is contained in:
parent
18f248b94d
commit
c793c534b8
@ -2453,8 +2453,8 @@ static void analyze_fn_body(CodeGen *g, FnTableEntry *fn_table_entry) {
|
||||
analyze_fn_ir(g, fn_table_entry, return_type_node);
|
||||
}
|
||||
|
||||
static void add_symbols_from_import(CodeGen *g, AstNode *dst_use_node) {
|
||||
IrInstruction *use_target_value = dst_use_node->data.use.value;
|
||||
static void add_symbols_from_import(CodeGen *g, AstNode *src_use_node, AstNode *dst_use_node) {
|
||||
IrInstruction *use_target_value = src_use_node->data.use.value;
|
||||
if (use_target_value->value.type->id == TypeTableEntryIdInvalid) {
|
||||
dst_use_node->owner->any_imports_failed = true;
|
||||
return;
|
||||
@ -2501,7 +2501,7 @@ static void add_symbols_from_import(CodeGen *g, AstNode *dst_use_node) {
|
||||
for (size_t i = 0; i < target_import->use_decls.length; i += 1) {
|
||||
AstNode *use_decl_node = target_import->use_decls.at(i);
|
||||
if (use_decl_node->data.use.visib_mod != VisibModPrivate)
|
||||
add_symbols_from_import(g, dst_use_node);
|
||||
add_symbols_from_import(g, use_decl_node, dst_use_node);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2510,7 +2510,7 @@ void resolve_use_decl(CodeGen *g, AstNode *node) {
|
||||
|
||||
if (node->data.use.resolution != TldResolutionUnresolved)
|
||||
return;
|
||||
add_symbols_from_import(g, node);
|
||||
add_symbols_from_import(g, node, node);
|
||||
}
|
||||
|
||||
void preview_use_decl(CodeGen *g, AstNode *node) {
|
||||
|
||||
@ -132,6 +132,7 @@ static const char *decl_name(const Decl *decl) {
|
||||
static void parseh_init_tld(Context *c, Tld *tld, TldId id, Buf *name) {
|
||||
init_tld(tld, id, name, c->visib_mod, c->source_node, &c->import->decls_scope->base);
|
||||
tld->resolution = TldResolutionOk;
|
||||
tld->import = c->import;
|
||||
}
|
||||
|
||||
static Tld *create_inline_fn_tld(Context *c, Buf *fn_name, TldVar *tld_var) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user