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?

Reply via email to