authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-01-12 18:10:05-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-01-12 18:10:05-05:00
logc793c534b87395bd42c5c53c6ac76537026a5586
tree8a72904a127a3ceb40be4174e62353e6d4f2524a
parent18f248b94d1c936328058a6d67afe0003f022c5c

fix use decl regression


2 files changed, 5 insertions(+), 4 deletions(-)

src/analyze.cpp+4-4
......@@ -2453,8 +2453,8 @@ static void analyze_fn_body(CodeGen *g, FnTableEntry *fn_table_entry) {
24532453 analyze_fn_ir(g, fn_table_entry, return_type_node);
24542454}
24552455
2456static void add_symbols_from_import(CodeGen *g, AstNode *dst_use_node) {
2457 IrInstruction *use_target_value = dst_use_node->data.use.value;
2456static void add_symbols_from_import(CodeGen *g, AstNode *src_use_node, AstNode *dst_use_node) {
2457 IrInstruction *use_target_value = src_use_node->data.use.value;
24582458 if (use_target_value->value.type->id == TypeTableEntryIdInvalid) {
24592459 dst_use_node->owner->any_imports_failed = true;
24602460 return;
......@@ -2501,7 +2501,7 @@ static void add_symbols_from_import(CodeGen *g, AstNode *dst_use_node) {
25012501 for (size_t i = 0; i < target_import->use_decls.length; i += 1) {
25022502 AstNode *use_decl_node = target_import->use_decls.at(i);
25032503 if (use_decl_node->data.use.visib_mod != VisibModPrivate)
2504 add_symbols_from_import(g, dst_use_node);
2504 add_symbols_from_import(g, use_decl_node, dst_use_node);
25052505 }
25062506}
25072507
......@@ -2510,7 +2510,7 @@ void resolve_use_decl(CodeGen *g, AstNode *node) {
25102510
25112511 if (node->data.use.resolution != TldResolutionUnresolved)
25122512 return;
2513 add_symbols_from_import(g, node);
2513 add_symbols_from_import(g, node, node);
25142514}
25152515
25162516void preview_use_decl(CodeGen *g, AstNode *node) {
src/parseh.cpp+1
......@@ -132,6 +132,7 @@ static const char *decl_name(const Decl *decl) {
132132static void parseh_init_tld(Context *c, Tld *tld, TldId id, Buf *name) {
133133 init_tld(tld, id, name, c->visib_mod, c->source_node, &c->import->decls_scope->base);
134134 tld->resolution = TldResolutionOk;
135 tld->import = c->import;
135136}
136137
137138static Tld *create_inline_fn_tld(Context *c, Buf *fn_name, TldVar *tld_var) {