From 5995896f92089d61549fe37ebce96edfb8e7babf Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Wed, 5 Dec 2012 21:40:56 +0100 Subject: [PATCH] verify that we have sensible entities in symconst/sel nodes --- ir/ir/irverify.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ir/ir/irverify.c b/ir/ir/irverify.c index b122d5843..aa2c009ef 100644 --- a/ir/ir/irverify.c +++ b/ir/ir/irverify.c @@ -937,6 +937,14 @@ static int verify_node_SymConst(const ir_node *n) /* SymConst: BB --> ref */ mode_is_reference(mymode)) ,"SymConst node", 0); + if (SYMCONST_HAS_ENT(get_SymConst_kind(n))) { + ir_entity *ent = get_SymConst_entity(n); + /* the is_method_entity(ent) exception is for nested functions... */ + ASSERT_AND_RET_DBG((get_entity_owner(ent)->flags & tf_segment) + || is_method_entity(ent), + "SymConst node with frame entity", 0, + show_node_failure(n);); + } return 1; } @@ -962,6 +970,8 @@ static int verify_node_Sel(const ir_node *n) } ent = get_Sel_entity(n); ASSERT_AND_RET_DBG(ent, "Sel node with empty entity", 0, show_node_failure(n);); + ASSERT_AND_RET_DBG(!(get_entity_owner(ent)->flags & tf_segment), + "Sel node with global entity", 0, show_node_failure(n);); return 1; } -- 2.20.1