| ... | ... | @@ -1252,6 +1252,13 @@ static void resolve_c_import_decl(CodeGen *g, ImportTableEntry *parent_import, A |
| 1252 | 1252 | child_import->block_context = new_block_context(child_import->root, nullptr); |
| 1253 | 1253 | child_import->importers.append({parent_import, node}); |
| 1254 | 1254 | |
| 1255 | if (node->data.c_import.visib_mod != VisibModPrivate) { |
| 1256 | for (int i = 0; i < parent_import->importers.length; i += 1) { |
| 1257 | ImporterInfo importer = parent_import->importers.at(i); |
| 1258 | child_import->importers.append(importer); |
| 1259 | } |
| 1260 | } |
| 1261 | |
| 1255 | 1262 | detect_top_level_decl_deps(g, child_import, child_import->root); |
| 1256 | 1263 | analyze_top_level_decls_root(g, child_import, child_import->root); |
| 1257 | 1264 | } |
| ... | ... | @@ -4743,7 +4750,9 @@ static void collect_expr_decl_deps(CodeGen *g, ImportTableEntry *import, AstNode |
| 4743 | 4750 | collect_expr_decl_deps(g, import, node->data.prefix_op_expr.primary_expr, decl_node); |
| 4744 | 4751 | break; |
| 4745 | 4752 | case NodeTypeFnCallExpr: |
| 4746 | | collect_expr_decl_deps(g, import, node->data.fn_call_expr.fn_ref_expr, decl_node); |
| 4753 | if (!node->data.fn_call_expr.is_builtin) { |
| 4754 | collect_expr_decl_deps(g, import, node->data.fn_call_expr.fn_ref_expr, decl_node); |
| 4755 | } |
| 4747 | 4756 | for (int i = 0; i < node->data.fn_call_expr.params.length; i += 1) { |
| 4748 | 4757 | AstNode *arg_node = node->data.fn_call_expr.params.at(i); |
| 4749 | 4758 | collect_expr_decl_deps(g, import, arg_node, decl_node); |