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:
Bud Davis 2009-08-26 02:18:14 +00:00 committed by Bud Davis
parent 645bf0489c
commit 171fc18dd9
2 changed files with 20 additions and 14 deletions

View File

@ -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.

View File

@ -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. */