@@ -2569,11 +2569,10 @@ static AstNode *resolve_typdef_as_builtin(Context *c, const TypedefNameDecl *typ
2569
2569
}
2570
2570
2571
2571
static AstNode *resolve_typedef_decl (Context *c, const TypedefNameDecl *typedef_decl) {
2572
- auto existing_entry = c->decl_table .maybe_get ((void *)typedef_decl);
2572
+ auto existing_entry = c->decl_table .maybe_get ((void *)typedef_decl-> getCanonicalDecl () );
2573
2573
if (existing_entry) {
2574
2574
return existing_entry->value ;
2575
2575
}
2576
-
2577
2576
QualType child_qt = typedef_decl->getUnderlyingType ();
2578
2577
Buf *type_name = buf_create_from_str (decl_name (typedef_decl));
2579
2578
@@ -2616,7 +2615,7 @@ static AstNode *resolve_typedef_decl(Context *c, const TypedefNameDecl *typedef_
2616
2615
add_global_var (c, type_name, type_node);
2617
2616
2618
2617
AstNode *symbol_node = trans_create_node_symbol (c, type_name);
2619
- c->decl_table .put (typedef_decl, symbol_node);
2618
+ c->decl_table .put (typedef_decl-> getCanonicalDecl () , symbol_node);
2620
2619
return symbol_node;
2621
2620
}
2622
2621
@@ -2742,6 +2741,7 @@ static AstNode *resolve_enum_decl(Context *c, const EnumDecl *enum_decl) {
2742
2741
AstNode *symbol_node = trans_create_node_symbol (c, full_type_name);
2743
2742
add_global_weak_alias (c, bare_name, full_type_name);
2744
2743
add_global_var (c, full_type_name, enum_node);
2744
+ c->decl_table .put (enum_decl->getCanonicalDecl (), symbol_node);
2745
2745
return symbol_node;
2746
2746
}
2747
2747
}
0 commit comments