X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftrverify.c;h=23c806a3896e323607c907542ff7d88389e76700;hb=4524bf07ed17f358412754a50a76e7db852160b3;hp=d3ac10e11cf4fedc720c73224056b50180b30c71;hpb=fb2a783c4d6e8a2c203c6ce9833ac50d381fa2e1;p=libfirm diff --git a/ir/tr/trverify.c b/ir/tr/trverify.c index d3ac10e11..23c806a38 100644 --- a/ir/tr/trverify.c +++ b/ir/tr/trverify.c @@ -78,6 +78,7 @@ do { \ static const char *firm_verify_failure_msg; +#if 0 /** * Show diagnostic if an entity overwrites another one not * in direct superclasses. @@ -98,6 +99,7 @@ static void show_ent_not_supertp(ir_entity *ent, ir_entity *ovw) ir_fprintf(stderr, " %+F:\n", super); } } +#endif /** * Show diagnostic if an entity overwrites a wrong number of things. @@ -153,7 +155,7 @@ static void show_ent_overwrite_cnt(ir_entity *ent) */ static int check_class(ir_type *tp) { - size_t i, n, j, m; + size_t i, n; for (i = 0, n = get_class_n_members(tp); i < n; ++i) { ir_entity *mem = get_class_member(tp, i); @@ -178,24 +180,31 @@ static int check_class(ir_type *tp) show_ent_overwrite_cnt(mem) ); - for (j = 0, m = get_entity_n_overwrites(mem); j < m; ++j) { - ir_entity *ovw = get_entity_overwrites(mem, j); - size_t k, n_super; - - /* Check whether ovw is member of one of tp's supertypes. If so, - the representation is correct. */ - for (k = 0, n_super = get_class_n_supertypes(tp); k < n_super; ++k) { - if (get_class_member_index(get_class_supertype(tp, k), ovw) != INVALID_MEMBER_INDEX) { - ASSERT_AND_RET_DBG( - 0, - "overwrites an entity not contained in direct supertype", - error_ent_not_cont, - show_ent_not_supertp(mem, ovw) - ); - break; +#if 0 + { + size_t j, m; + /* check if the overwrite relation is flat, i.e. every overwrite + * is visible in every direct superclass. */ + for (j = 0, m = get_entity_n_overwrites(mem); j < m; ++j) { + ir_entity *ovw = get_entity_overwrites(mem, j); + size_t k, n_super; + + /* Check whether ovw is member of one of tp's supertypes. If so, + the representation is correct. */ + for (k = 0, n_super = get_class_n_supertypes(tp); k < n_super; ++k) { + if (get_class_member_index(get_class_supertype(tp, k), ovw) != INVALID_MEMBER_INDEX) { + ASSERT_AND_RET_DBG( + 0, + "overwrites an entity not contained in direct supertype", + error_ent_not_cont, + show_ent_not_supertp(mem, ovw) + ); + break; + } } } } +#endif } return 0; } @@ -313,8 +322,7 @@ static int initializer_constant_on_wrong_irg(ir_initializer_t *initializer) case IR_INITIALIZER_CONST: return constant_on_wrong_irg(get_initializer_const_value(initializer)); case IR_INITIALIZER_COMPOUND: { - int n = get_initializer_compound_n_entries(initializer); - int i; + size_t i, n = get_initializer_compound_n_entries(initializer); for (i = 0; i < n; ++i) { ir_initializer_t *sub = get_initializer_compound_value(initializer, i);