Hi, I'm back from holiday, so I can finally reply.
Am 13.07.2015 um 21:54 schrieb Thomas Schwinge:
--- gcc/fortran/iresolve.c +++ gcc/fortran/iresolve.c @@ -2207,6 +2207,9 @@ gfc_resolve_fe_runtime_error (gfc_code *c) a->name = "%VAL"; c->resolved_sym = gfc_get_intrinsic_sub_symbol (name); + //TODO + extern tree gfor_fndecl_runtime_error; + c->resolved_sym->backend_decl = gfor_fndecl_runtime_error; }
This patch actually works quite well. I cannot check the varargs part on x86_64, but the non-return part is OK. Obviously, the backend decl for runtime_error needs to be set. The question is where to put this. iresolve.c seems conceptually wrong, but I cannot find a clean place to put this in trans-*, without special casing in strange places. So, what is the general optionion? Do something in this place which is essentially this patch (plus a GTY in the prototype)? Regards Thomas