aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-12-29 19:57:25 +0000
committergingerBill <bill@gingerbill.org>2018-12-29 19:57:25 +0000
commit3ba3421f5ff5b1a1e13347049f3789a119dd7fbf (patch)
treea11f4642253c52c4d2cdda17108b30293dc857f7 /src/ir.cpp
parent2bbad5903f38516899de8f26d5b522beb82dcae1 (diff)
Fix `static` procedure name mangling
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index c94b2ec59..e8039b8fe 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -7960,7 +7960,6 @@ void ir_build_stmt_internal(irProcedure *proc, Ast *node) {
Entity *e = entity_of_ident(ident);
GB_ASSERT(e->flags & EntityFlag_Static);
String name = e->token.string;
- HashKey key = hash_string(name);
String mangled_name = {};
{
@@ -7971,6 +7970,9 @@ void ir_build_stmt_internal(irProcedure *proc, Ast *node) {
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);
g->Global.name = mangled_name;
g->Global.is_internal = true;