- new->overwrites = DUP_ARR_F(entity *, old->overwrites);
- new->overwrittenby = DUP_ARR_F(entity *, old->overwrittenby);
+ /*
+ if ((get_type_tpop(get_entity_owner(old)) == type_class) &&
+ (get_type_tpop(new_owner) == type_class)) {
+ new->overwrites = DUP_ARR_F(entity *, old->overwrites);
+ new->overwrittenby = DUP_ARR_F(entity *, old->overwrittenby);
+ } else if ((get_type_tpop(get_entity_owner(old)) != type_class) &&
+ (get_type_tpop(new_owner) == type_class)) {
+ new->overwrites = NEW_ARR_F(entity *, 1);
+ new->overwrittenby = NEW_ARR_F(entity *, 1);
+ }
+ */
+ if (is_class_type(new_owner)) {
+ new->overwrites = NEW_ARR_F(entity *, 1);
+ new->overwrittenby = NEW_ARR_F(entity *, 1);
+ }
+#ifdef DEBUG_libfirm
+ new->nr = get_irp_new_node_nr();
+#endif