Browse Source

Fix `static` procedure name mangling

gingerBill 6 years ago
parent
commit
3ba3421f5f
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/ir.cpp

+ 3 - 1
src/ir.cpp

@@ -7960,7 +7960,6 @@ void ir_build_stmt_internal(irProcedure *proc, Ast *node) {
 					Entity *e = entity_of_ident(ident);
 					Entity *e = entity_of_ident(ident);
 					GB_ASSERT(e->flags & EntityFlag_Static);
 					GB_ASSERT(e->flags & EntityFlag_Static);
 					String name = e->token.string;
 					String name = e->token.string;
-					HashKey key = hash_string(name);
 
 
 					String mangled_name = {};
 					String mangled_name = {};
 					{
 					{
@@ -7971,6 +7970,9 @@ void ir_build_stmt_internal(irProcedure *proc, Ast *node) {
 						mangled_name.len = gb_string_length(str);
 						mangled_name.len = gb_string_length(str);
 					}
 					}
 
 
+					HashKey key = hash_string(mangled_name);
+					ir_add_entity_name(m, e, mangled_name);
+
 					irValue *g = ir_value_global(e, value);
 					irValue *g = ir_value_global(e, value);
 					g->Global.name = mangled_name;
 					g->Global.name = mangled_name;
 					g->Global.is_internal = true;
 					g->Global.is_internal = true;