[PATCH] PR fortran/67987 -- character lengths cannot be negative

FX fxcoudert@gmail.com
Fri Oct 16 21:39:00 GMT 2015


> 2015-10-16  Steven G. Kargl  <kargl@gcc.gnu.org>
> 
> 	PR fortran/67987
> 	* decl.c (char_len_param_value): Unwrap unlong line.  If LEN < 0,
> 	then force it to zero pre Fortran Standards. 
> 	* resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
> 	If 'start' is larger than 'end', then length of string is negative,
> 	so explicitly set it to zero.
> 	(resolve_charlen): Remove -Wsurprising warning.  Update comment to
> 	text from F2008 standard.
> 
> 2015-10-16  Steven G. Kargl  <kargl@gcc.gnu.org>
> 
> 	PR fortran/67987
> 	* gfortran.dg/char_length_2.f90: Add declaration from PR to testcase.

The patch is now mostly OK to me. Minor remarks:

  - I’m thinking you mean “force it to zero per [not pre] Fortran standards”
  - why remove the -Wsurprising warning? it seems a good case for -Wsurprising: legal code, but dubious anyway

OK after you ponder that second point.

FX


More information about the Fortran mailing list