re PR fortran/13257 ([4.0 only] Error instead of warning for missing comma in format string)
PR fortran/13257 fortran/ChangeLog: * io.c (check_format): Allow an optional comma between descriptors. libgfortran/ChangeLog: * format.c (parse_format_list): Allow an optional comma between descriptors. testsuite/ChangeLog: * comma_format_extension_[1234].f: New tests. From-SVN: r97919
This commit is contained in:
parent
9d30f3c190
commit
53d8a8ac22
|
@ -1,3 +1,9 @@
|
|||
2005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR fortran/13257
|
||||
* io.c (check_format): Allow an optional comma
|
||||
between descriptors.
|
||||
|
||||
2005-04-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
* match.c (match_arithmetic_if): Remove gfc_ prefix and correct
|
||||
|
|
|
@ -433,6 +433,7 @@ check_format (void)
|
|||
format_item:
|
||||
/* In this state, the next thing has to be a format item. */
|
||||
t = format_lex ();
|
||||
format_item_1:
|
||||
switch (t)
|
||||
{
|
||||
case FMT_POSINT:
|
||||
|
@ -701,8 +702,10 @@ between_desc:
|
|||
goto syntax;
|
||||
|
||||
default:
|
||||
error = "Missing comma";
|
||||
goto syntax;
|
||||
if (gfc_notify_std (GFC_STD_GNU, "Extension: Missing comma at %C")
|
||||
== FAILURE)
|
||||
return FAILURE;
|
||||
goto format_item_1;
|
||||
}
|
||||
|
||||
optional_comma:
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR fortran/13257
|
||||
* comma_format_extension_[1234].f: New tests.
|
||||
|
||||
2005-04-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gcc.dg/tree-ssa/stdarg-1.c: New test.
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
! { dg-do compile }
|
||||
! { dg-options "" }
|
||||
! test that the extension for a missing comma is accepted
|
||||
|
||||
subroutine mysub
|
||||
dimension ibar(5)
|
||||
write (3,1001) ( ibar(m), m = 1, 5 )
|
||||
|
||||
1001 format (/5x,' ',i4' '/ )
|
||||
return
|
||||
end
|
|
@ -0,0 +1,10 @@
|
|||
! { dg-do compile }
|
||||
! test that the extension for a missing comma is accepted
|
||||
|
||||
subroutine mysub
|
||||
dimension ibar(5)
|
||||
write (3,1001) ( ibar(m), m = 1, 5 )
|
||||
|
||||
1001 format (/5x,' ',i4' '/ ) ! { dg-warning "Missing comma" }
|
||||
return
|
||||
end
|
|
@ -0,0 +1,16 @@
|
|||
! PR libfortran/15332 and PR fortran/13257
|
||||
! We used to accept this as an extension but
|
||||
! did do the correct thing at runtime.
|
||||
! Note the missing , before i1 in the format.
|
||||
! { do-do run }
|
||||
! { dg-options "" }
|
||||
character*12 c
|
||||
|
||||
write (c,100) 0, 1
|
||||
if (c .ne. 'i = 0, j = 1') call abort
|
||||
|
||||
write (c,100) 0
|
||||
if (c .ne. 'i = 0 ') call abort
|
||||
|
||||
100 format ('i = 'i1,:,', j = ',i1)
|
||||
end
|
|
@ -0,0 +1,10 @@
|
|||
! PR fortran/13257
|
||||
! Note the missing , before i1 in the format.
|
||||
! { do-do run }
|
||||
! { dg-options "" }
|
||||
character*5 c
|
||||
write (c,1001) 1
|
||||
if (c .ne. ' 1 ') call abort
|
||||
|
||||
1001 format (' ',i4' ')
|
||||
end
|
|
@ -1,3 +1,9 @@
|
|||
2005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR fortran/13257
|
||||
* format.c (parse_format_list): Allow an optional comma
|
||||
between descriptors.
|
||||
|
||||
2005-04-08 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* io/backspace.c (unformatted_backspace): Do not dereference
|
||||
|
|
|
@ -452,6 +452,7 @@ parse_format_list (void)
|
|||
/* Get the next format item */
|
||||
format_item:
|
||||
t = format_lex ();
|
||||
format_item_1:
|
||||
switch (t)
|
||||
{
|
||||
case FMT_POSINT:
|
||||
|
@ -853,8 +854,8 @@ parse_format_list (void)
|
|||
goto finished;
|
||||
|
||||
default:
|
||||
error = "Missing comma in format";
|
||||
goto finished;
|
||||
/* Assume a missing comma, this is a GNU extension */
|
||||
goto format_item_1;
|
||||
}
|
||||
|
||||
/* Optional comma is a weird between state where we've just finished
|
||||
|
|
Loading…
Reference in New Issue