[Patch, Fortran] PR50269 - Add some checking fixes for C_LOC

Mikael Morin mikael.morin@sfr.fr
Thu Apr 4 08:42:00 GMT 2013


Le 02/04/2013 18:26, Tobias Burnus a écrit :
> diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c
> index 99174bc..b0c831e 100644
> --- a/gcc/fortran/check.c
> +++ b/gcc/fortran/check.c
> @@ -3649,11 +3649,12 @@ gfc_check_sizeof (gfc_expr *arg)
>  /* Check whether an expression is interoperable.  When returning false,
>     msg is set to a string telling why the expression is not interoperable,
>     otherwise, it is set to NULL.  The msg string can be used in diagnostics.
> -   If all_len_okay is true, all length-type parameters (for character) are
> -   allowed.  Required for C_LOC (cf. Fortran 2003corr5 or Fortran 2008).  */
> +   If c_len is true, character with len > 1 are allowed (cf. Fortran
s/c_len/c_loc/ (or s/c_loc/c_len/ everywhere else).

> +   2003corr5); additionally, assumed-shape/assumed-rank/deferred-shape
> +   arrays are permitted.  */
>  
>  static bool
> -is_c_interoperable (gfc_expr *expr, const char **msg, bool all_len_okay)
> +is_c_interoperable (gfc_expr *expr, const char **msg, bool c_loc)



> Build + regtested on x86-64-gnu-linux.
> OK for the trunk?
>
OK



More information about the Gcc-patches mailing list