From de80e4f820866d403b2bad4df3a59fc8b72f55f4 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Sun, 9 Dec 2007 13:58:25 +0100 Subject: [PATCH] [multiple changes] 2007-12-09 Tobias Burnus PR fortran/34404 * io/list_read.c (parse_real): Remove superfluous "goto bad;". 2007-12-09 H.J. Lu Tobias Burnus PR fortran/34404 * gfortran.dg/read_2.f90: New. From-SVN: r130723 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gfortran.dg/read_2.f90 | 12 ++++++++++++ libgfortran/ChangeLog | 5 +++++ libgfortran/io/list_read.c | 1 - 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gfortran.dg/read_2.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 657b101fdc4..958ede06196 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-12-09 H.J. Lu + Tobias Burnus + + PR fortran/34404 + * gfortran.dg/read_2.f90: New. + 2007-12-09 Richard Sandiford * lib/target-supports.exp (check_effective_target_tls_native): diff --git a/gcc/testsuite/gfortran.dg/read_2.f90 b/gcc/testsuite/gfortran.dg/read_2.f90 new file mode 100644 index 00000000000..d12dcef71eb --- /dev/null +++ b/gcc/testsuite/gfortran.dg/read_2.f90 @@ -0,0 +1,12 @@ +! { dg-do run } +! +! PR fortran/34404 +! +! Contributed by Joost VandeVondele. +! +implicit none +complex :: x +character(len=80) :: t="(1.0E-7,4.0E-3)" +read(t,*) x +if (real(x) /= 1.0e-7 .or. aimag(x)/=4.0e-3) call abort() +END diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 888633823a9..f80da8dc0d8 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2007-12-09 Tobias Burnus + + PR fortran/34404 + * io/list_read.c (parse_real): Remove superfluous "goto bad;". + 2007-12-08 Tobias Burnus PR fortran/34319 diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index c2124891532..9ac5609e9ce 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -1148,7 +1148,6 @@ parse_real (st_parameter_dt *dtp, void *buffer, int length) goto bad; } - goto bad; push_char (dtp, c); for (;;)