[PATCH] Further C lapack workaround tweaks

Thomas Koenig tkoenig@netcologne.de
Wed May 29 14:08:00 GMT 2019


Hi Jakub,

> As I said earlier in the PR, I don't like -fbroken-callers option much,
> as the option name doesn't hint what it is doing at all.
> 
> The following patch renames the option and makes it into a 3 state option,
> with the default being a middle-ground, where it avoids the tail calls in
> functions that have the hidden character length arguments only if it makes
> any implicit interface calls.  The rationale for that is that there were no
> previously reported issues with older GCC versions and the change that
> affected the broken C/C++ wrappers was just giving prototypes to the
> implicit interface procedure calls, so presumably in functions that don't
> have any such calls nothing should have changed.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, additionally tested
> on the dtrtri.f testcase and on dtrtri.f testcase patched to include
> explicit interfaces for all called procedures (and for those two verified
> all the 6 ways of using these options, default, positive/negative option
> without = and 0/1/2 values of the = option, checking in which case there is
> a tail call), ok for trunk?

Yep, this is a much better scheme.  OK.

This problem is also present on all release branches, so I think that
this (which I think is the should also be backported to them, so that
7.5, 8.4 and 9.2 also can compile these LAPACK bindings again...).

Regards

	Thomas



More information about the Gcc-patches mailing list