On Sun, Dec 17, 2006 at 08:21:08PM +0100, Tobias Schl?ter wrote:
f2c calling conventions require that a scalar default REAL function
actually returns the C type double. Our current implementation makes
the function symbol's backend_decl of type double, which in the case
of no explicit RESULT variable leads to all kinds of type mismatches.
This patch fixes this, by only making the function REAL*8, not the
RESULT variable, and then converting the result variable to REAL*8
when passing it to the function result.
Built and tested on i386-darwin, this passes the testsuite except for
the failures which are due to PR29516. Ok?
OK.
Note, this bootstrapped and passed regression testing on x86_64-*-freebsd.
Tobi, this might be considered a regression with respect to g77
(although I believe g77 did not support RESULT). I'll leave it
to your discretion whether to backport to the 4.2 branch.