From: Michael Beck Date: Tue, 27 May 2008 13:42:08 +0000 (+0000) Subject: redo r19786, peculiarity has been fixed in the cparser FE X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=52ce27b497e3046b520eebeccfa9d1a2d39b9860;p=libfirm redo r19786, peculiarity has been fixed in the cparser FE [r19796] --- diff --git a/ir/tr/trvrfy.c b/ir/tr/trvrfy.c index ee3f6152c..ae2bc4a3e 100644 --- a/ir/tr/trvrfy.c +++ b/ir/tr/trvrfy.c @@ -344,6 +344,7 @@ static int constants_on_wrong_irg(ir_entity *ent) { * != 0 a trvrfy_error_codes code */ int check_entity(ir_entity *ent) { + int rem_vpi; ir_type *tp = get_entity_type(ent); ir_type *owner = get_entity_owner(ent); @@ -355,6 +356,21 @@ int check_entity(ir_entity *ent) { ir_fprintf(stderr, "%+e not on %+F\n", ent, current_ir_graph) ); + rem_vpi = get_visit_pseudo_irgs(); + set_visit_pseudo_irgs(1); + if ((get_entity_peculiarity(ent) == peculiarity_existent) && + (get_entity_visibility(ent) != visibility_external_allocated) && + (is_Method_type(get_entity_type(ent))) && + (!get_entity_irg(ent) || !(is_ir_graph(get_entity_irg(ent))))) { + ASSERT_AND_RET_DBG( + 0, + "Method ents with pec_exist must have an irg", + error_existent_entity_without_irg, + ir_fprintf(stderr, "%+e\n", ent) + ); + } + set_visit_pseudo_irgs(rem_vpi); + /* Originally, this test assumed, that only method entities have pecularity_inherited. As I changed this, I have to test for method type before doing the test. */