re PR fortran/28039 (Warn when ignoring extra characters in the format specification)
2009-08-22 Bud Davis <bdavis9659@sbcglobal.net> PR fortran/28093 * io.c: reverted previous patch From-SVN: r151112
This commit is contained in:
parent
645bf0489c
commit
171fc18dd9
2 changed files with 20 additions and 14 deletions
|
@ -1,3 +1,8 @@
|
|||
2009-08-22 Bud Davis <bdavis9659@sbcglobal.net>
|
||||
|
||||
PR fortran/28093
|
||||
* io.c: reverted previous patch
|
||||
|
||||
2009-08-25 Janne Blomqvist <jb@gcc.gnu.org>
|
||||
|
||||
* gfortran.texi: Fix ENCODE example.
|
||||
|
|
|
@ -121,7 +121,6 @@ format_token;
|
|||
static gfc_char_t *format_string;
|
||||
static int format_string_pos;
|
||||
static int format_length, use_last_char;
|
||||
static int starting_format_length;
|
||||
static char error_element;
|
||||
static locus format_locus;
|
||||
|
||||
|
@ -933,11 +932,20 @@ data_desc:
|
|||
gfc_warning ("The H format specifier at %L is"
|
||||
" a Fortran 95 deleted feature", &format_locus);
|
||||
}
|
||||
while (repeat >0)
|
||||
{
|
||||
next_char (1);
|
||||
repeat -- ;
|
||||
}
|
||||
|
||||
if (mode == MODE_STRING)
|
||||
{
|
||||
format_string += value;
|
||||
format_length -= value;
|
||||
}
|
||||
else
|
||||
{
|
||||
while (repeat >0)
|
||||
{
|
||||
next_char (1);
|
||||
repeat -- ;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case FMT_IBOZ:
|
||||
|
@ -1096,13 +1104,6 @@ fail:
|
|||
rv = FAILURE;
|
||||
|
||||
finished:
|
||||
/* check for extraneous characters at end of valid format string */
|
||||
if ( starting_format_length > format_length )
|
||||
{
|
||||
format_locus.nextc += format_length + 1; /* point to the extra */
|
||||
gfc_warning ("Extraneous characters in format at %L", &format_locus);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -1118,7 +1119,7 @@ check_format_string (gfc_expr *e, bool is_input)
|
|||
|
||||
mode = MODE_STRING;
|
||||
format_string = e->value.character.string;
|
||||
starting_format_length = e->value.character.length;
|
||||
|
||||
/* More elaborate measures are needed to show where a problem is within a
|
||||
format string that has been calculated, but that's probably not worth the
|
||||
effort. */
|
||||
|
|
Loading…
Add table
Reference in a new issue