X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firmemory.c;h=4b3a7f8566c33b6a5acc47a686cfa238a88b434e;hb=5dfe14ff917ce1b96df2fc89c7074175d66587b8;hp=90bb5352b015a68ad811a5c16b32a625a4d5b6eb;hpb=ace092feb0715fd976e4537f55dc735abe57d02f;p=libfirm diff --git a/ir/ana/irmemory.c b/ir/ana/irmemory.c index 90bb5352b..4b3a7f856 100644 --- a/ir/ana/irmemory.c +++ b/ir/ana/irmemory.c @@ -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); } }