From df5be068b278d70e30e7b4a86d09b4172681d060 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Sat, 30 Jun 2007 18:01:25 +0200 Subject: [PATCH] re PR fortran/32555 (Miscompilation of NIST testsuite) 2007-06-30 Tobias Burnus PR fortran/32555 * io.c (check_format): Allow zero to precede the P edit descriptor. 2007-06-30 Tobias Burnus PR fortran/32555 * gfortran.dg/fmt_zero_check.f90: New. From-SVN: r126152 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/io.c | 1 + gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/fmt_zero_check.f90 | 6 ++++++ 4 files changed, 18 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/fmt_zero_check.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3786adcaec6..19ab39117fa 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-06-30 Tobias Burnus + + PR fortran/32555 + * io.c (check_format): Allow zero to precede the + P edit descriptor. + 2007-06-30 Paul Thomas PR fortran/32472 diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index f9b5eac21d7..e8f4debbd4e 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -487,6 +487,7 @@ format_item_1: goto format_item; case FMT_SIGNED_INT: + case FMT_ZERO: /* Signed integer can only precede a P format. */ t = format_lex (); if (t != FMT_P) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5a763456aea..d6a6dba26eb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-06-30 Tobias Burnus + + PR fortran/32555 + * gfortran.dg/fmt_zero_check.f90: New. + 2007-06-30 Paul Thomas PR fortran/30284 diff --git a/gcc/testsuite/gfortran.dg/fmt_zero_check.f90 b/gcc/testsuite/gfortran.dg/fmt_zero_check.f90 new file mode 100644 index 00000000000..d8b6c5dfe81 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/fmt_zero_check.f90 @@ -0,0 +1,6 @@ +! { dg-do compile } +! PR fortran/32555 +! +2050 FORMAT(0PF9.4) +2050 FORMAT(0F9.4) ! { dg-error "Expected P edit descriptor" } +end