[gfortran,patch] Fix type for LOC function return

FX Coudert fxcoudert@gmail.com
Thu Oct 19 23:19:00 GMT 2006


ping**2

Asher, everybody, please comment.

FX

> [http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00097.html]
>> Asher, everyone,
>>
>> A series of patches by Andrew Pinski allow the middle-end to spot  
>> type mismatches emitted by the front-end (see PR 22368 for  
>> details). Among the problems revealed by this patch is the  
>> following code: "loc(c) == 0", because the code returned by LOC is  
>> unsigned, which is not what we should do. Indeed, the  
>> documentation states that:
>>
>> The return value is of type @code{INTEGER(n)}, where @code{n} is the
>> size (in bytes) of a memory address on the target machine.
>>
>> So, I propose to change the gfc_trans_intrinsic_loc function to  
>> that its result is fold_convert'ed to the right integer type. I  
>> plan to commit the following patch on mainline next week-end  
>> unless someone objects.
>>
>> Regtested (with Andrew's patches) on i686-linux.
>>
>> FX



More information about the Fortran mailing list