From: Matthias Braun Date: Wed, 3 Feb 2010 20:25:52 +0000 (+0000) Subject: fix 'COMMON' variables in cparser X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=e0dc840844ae424f37cb00f9a39251cd277edc3a;p=cparser fix 'COMMON' variables in cparser [r27033] --- diff --git a/ast2firm.c b/ast2firm.c index e699f4a..764ea68 100644 --- a/ast2firm.c +++ b/ast2firm.c @@ -4549,6 +4549,9 @@ static void create_global_variable(entity_t *entity) ir_type *var_type = entity->variable.thread_local ? get_tls_type() : get_glob_type(); create_variable_entity(entity, DECLARATION_KIND_GLOBAL_VARIABLE, var_type); + /* uninitialized globals get merged in C */ + if (entity->variable.initializer == NULL) + linkage |= IR_LINKAGE_MERGE; add_entity_linkage(entity->variable.v.entity, linkage); }