[gfortran,patch] Fix type for LOC function return

FX Coudert fxcoudert@gmail.com
Sat Oct 7 15:08:00 GMT 2006


ping

[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