| ... | ... | @@ -2577,11 +2577,10 @@ static AstNode *resolve_typdef_as_builtin(Context *c, const TypedefNameDecl *typ |
| 2577 | 2577 | } |
| 2578 | 2578 | |
| 2579 | 2579 | static AstNode *resolve_typedef_decl(Context *c, const TypedefNameDecl *typedef_decl) { |
| 2580 | | auto existing_entry = c->decl_table.maybe_get((void*)typedef_decl); |
| 2580 | auto existing_entry = c->decl_table.maybe_get((void*)typedef_decl->getCanonicalDecl()); |
| 2581 | 2581 | if (existing_entry) { |
| 2582 | 2582 | return existing_entry->value; |
| 2583 | 2583 | } |
| 2584 | | |
| 2585 | 2584 | QualType child_qt = typedef_decl->getUnderlyingType(); |
| 2586 | 2585 | Buf *type_name = buf_create_from_str(decl_name(typedef_decl)); |
| 2587 | 2586 | |
| ... | ... | @@ -2624,7 +2623,7 @@ static AstNode *resolve_typedef_decl(Context *c, const TypedefNameDecl *typedef_ |
| 2624 | 2623 | add_global_var(c, type_name, type_node); |
| 2625 | 2624 | |
| 2626 | 2625 | AstNode *symbol_node = trans_create_node_symbol(c, type_name); |
| 2627 | | c->decl_table.put(typedef_decl, symbol_node); |
| 2626 | c->decl_table.put(typedef_decl->getCanonicalDecl(), symbol_node); |
| 2628 | 2627 | return symbol_node; |
| 2629 | 2628 | } |
| 2630 | 2629 | |
| ... | ... | @@ -2750,6 +2749,7 @@ static AstNode *resolve_enum_decl(Context *c, const EnumDecl *enum_decl) { |
| 2750 | 2749 | AstNode *symbol_node = trans_create_node_symbol(c, full_type_name); |
| 2751 | 2750 | add_global_weak_alias(c, bare_name, full_type_name); |
| 2752 | 2751 | add_global_var(c, full_type_name, enum_node); |
| 2752 | c->decl_table.put(enum_decl->getCanonicalDecl(), symbol_node); |
| 2753 | 2753 | return symbol_node; |
| 2754 | 2754 | } |
| 2755 | 2755 | } |