https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68401
--- Comment #7 from Mikael Morin <mikael at gcc dot gnu.org> --- (In reply to Joost VandeVondele from comment #6) > (In reply to Mikael Morin from comment #5) > > (In reply to Joost VandeVondele from comment #4) > > > In the original post I suggested that I already looked at the code, > > > > What changes did you try? > > Baby steps :-) see below. Basically stuck when I realized that somehow the > 'tree size' needs to get in. > I guess the easiest is to use a variadic call. The calls can be updated by incrementing the argument count of build_call_expr_loc, and adding the size argument. Then you can't use os_error, which is non-variadic. You can either use one of the existing (variadic) routines, such as runtime_error, or create some os_error_varargs (basically create the gfor_fndecl_XXX in trans-decl.c and use it as argument of build_call_expr_loc). If you create a new declaration, you'll have to write the corresponding code in libgfortran. Does it sound like it's worth it?