}
/**
- * Show diagnostic if an entity owerwrites a wrong number of things.
+ * Show diagnostic if an entity overwrites a wrong number of things.
*/
static void show_ent_overwrite_cnt(entity *ent)
{
int i, j, k, found, show_stp = 0;
fprintf(stderr, "Type verification error:\n");
- ir_fprintf(stderr, "Entity %+F::%+e owerwrites\n", owner, ent);
+ ir_fprintf(stderr, "Entity %t::%e owerwrites\n", owner, ent);
for (i = 0; i < get_entity_n_overwrites(ent); ++i) {
entity *ovw = get_entity_overwrites(ent, i);
ir_type *ov_own = get_entity_owner(ovw);
+ ir_fprintf(stderr, " %t::%e\n", ov_own, ovw);
for (k = 0; k < i; ++k)
if (ovw == get_entity_overwrites(ent, k)) {
- ir_fprintf(stderr, " %+F::%+e entered more than once\n", ov_own, ovw);
+ ir_fprintf(stderr, " ->%t::%e entered more than once\n", ov_own, ovw);
break;
}
}
}
if (! found)
- ir_fprintf(stderr, " %+F::%+e not in super types of %t\n", ov_own, ovw, owner);
+ ir_fprintf(stderr, " ->%t not in super types of %t\n", ov_own, owner);
}
if (show_stp) {
- ir_fprintf(stderr, "Supertypes of %+F:\n", owner);
+ ir_fprintf(stderr, "Supertypes of %t:\n", owner);
for (i = 0; i < get_class_n_supertypes(owner); ++i) {
ir_type *super = get_class_supertype(owner, i);
- ir_fprintf(stderr, " %+F:\n", super);
+ ir_fprintf(stderr, " %t:\n", super);
}
}
}
return 0;
}
+/**
+ * Shows a wrong entity allocation
+ */
+static void show_ent_alloc_error(entity *ent)
+{
+ ir_fprintf(stderr, "%+e owner %t has allocation %s\n",
+ ent, get_entity_type(ent),
+ get_allocation_name(get_entity_allocation(ent)));
+}
+
/*
* Check an entity. Currently, we check only if initialized constants
* are build on the const irg graph.
get_entity_allocation(ent) != allocation_automatic,
"Entities in global type are not allowed to by dynamic or automatic allocated",
error_glob_ent_allocation,
- ir_fprintf(stderr, "%+e\n", ent)
+ show_ent_alloc_error(ent)
);
}