return F;
}
+/* Write the irnode and all its attributes to the file passed. */
int dump_irnode_to_file(FILE *F, ir_node *n) {
int i, bad = 0;
char comma;
if (is_Method_type(get_entity_type(ent))) {
unsigned mask = get_entity_additional_properties(ent);
+ unsigned cc = get_entity_calling_convention(ent);
if (mask) {
fprintf(F, "\n%s additional prop: ", prefix);
if (mask & irg_nothrow_function) fprintf(F, "nothrow_function, ");
if (mask & irg_naked_function) fprintf(F, "naked_function, ");
}
+ fprintf(F, "\n%s calling convention: ", prefix);
+ if (cc & irg_cc_reg_param) fprintf(F, "regparam, ");
+ if (cc & irg_cc_this_call) fprintf(F, "thiscall, ");
+ if ((cc & (irg_cc_last_on_top|irg_cc_callee_clear_stk)) == 0)
+ fprintf(F, "cdecl");
+ else if ((cc & (irg_cc_last_on_top|irg_cc_callee_clear_stk)) == (irg_cc_last_on_top|irg_cc_callee_clear_stk))
+ fprintf(F, "stdcall");
+ else {
+ fprintf(F, (cc & irg_cc_last_on_top) ? "last param on top, " : "first param on top, ");
+ fprintf(F, (cc & irg_cc_callee_clear_stk) ? "callee clear stack" : "caller clear stack");
+ }
}
fprintf(F, "\n");