fix old bug in irmemory: external_allocated stuff is also using_unknown
authorMatthias Braun <matze@braunis.de>
Sun, 21 Sep 2008 22:04:11 +0000 (22:04 +0000)
committerMatthias Braun <matze@braunis.de>
Sun, 21 Sep 2008 22:04:11 +0000 (22:04 +0000)
[r22154]

ir/ana/irmemory.c

index 90bb535..4b3a7f8 100644 (file)
@@ -924,10 +924,13 @@ static void init_entity_usage(ir_type * tp) {
        /* We have to be conservative: All external visible entities are unknown */
        for (i = get_compound_n_members(tp) - 1; i >= 0; --i) {
                ir_entity       *entity = get_compound_member(tp, i);
-               ir_entity_usage  flags;
+               ir_entity_usage  flags  = 0;
+
+               if (get_entity_visibility(entity) == visibility_external_visible
+                               || get_entity_visibility(entity) == visibility_external_allocated) {
+                       flags |= ir_usage_unknown;
+               }
 
-               flags = get_entity_visibility(entity) == visibility_external_visible ?
-                               ir_usage_unknown : 0;
                set_entity_usage(entity, flags);
        }
 }