[gfortran, patch] Fix -ff2c type mismatches

Tobias Schlüter tobias.schlueter@physik.uni-muenchen.de
Tue Feb 27 17:41:00 GMT 2007


Steve Kargl wrote:
> 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.

Unless somebody objects, I'll put the patch into 4.1 as well.  People in 
the Real World are using 4.1, and the bug seems to affect them.

Cheers,
- Tobi



More information about the Fortran mailing list