From 6cbc67391de721a3116885666088b857915ad179 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Thu, 3 May 2012 20:37:15 +0200 Subject: [PATCH] fix entity_has_definition --- ir/tr/entity.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/ir/tr/entity.c b/ir/tr/entity.c index 1e58292ad..4382d268e 100644 --- a/ir/tr/entity.c +++ b/ir/tr/entity.c @@ -433,18 +433,9 @@ ir_label_t get_entity_label(const ir_entity *ent) return ent->attr.code_attr.label; } -static void verify_visibility(const ir_entity *entity) -{ - if (get_entity_visibility(entity) == ir_visibility_external - && !is_method_entity(entity)) { - assert(!entity_has_definition(entity)); - } -} - void set_entity_visibility(ir_entity *entity, ir_visibility visibility) { entity->visibility = visibility; - verify_visibility(entity); } ir_visibility get_entity_visibility(const ir_entity *entity) @@ -1071,9 +1062,12 @@ int entity_is_externally_visible(const ir_entity *entity) int entity_has_definition(const ir_entity *entity) { - return entity->initializer != NULL - || get_entity_irg(entity) != NULL - || entity_has_compound_ent_values(entity); + if (is_method_entity(entity)) { + return get_entity_irg(entity) != NULL; + } else { + return entity->initializer != NULL + || entity_has_compound_ent_values(entity); + } } void ir_init_entity(ir_prog *irp) -- 2.20.1