restructured to allow easier debug
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Wed, 27 Sep 2006 23:25:48 +0000 (23:25 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Wed, 27 Sep 2006 23:25:48 +0000 (23:25 +0000)
[r8302]

ir/tr/tr_inheritance.c

index 7e086e4..75fb442 100644 (file)
@@ -532,18 +532,15 @@ int is_overwritten_by(entity *high, entity *low) {
 /** Need two routines because I want to assert the result. */
 static entity *resolve_ent_polymorphy2 (ir_type *dynamic_class, entity *static_ent) {
   int i, n_overwrittenby;
-  entity *res = NULL;
 
   if (get_entity_owner(static_ent) == dynamic_class) return static_ent;
 
   n_overwrittenby = get_entity_n_overwrittenby(static_ent);
   for (i = 0; i < n_overwrittenby; ++i) {
-    res = resolve_ent_polymorphy2(dynamic_class, get_entity_overwrittenby(static_ent, i));
-    if (res)
-      break;
+    entity *ent = get_entity_overwrittenby(static_ent, i);
+    if (get_entity_owner(ent) == dynamic_class) return ent;
   }
-
-  return res;
+  return NULL;
 }
 
 /* Resolve polymorphy in the inheritance relation.