From de80e4f820866d403b2bad4df3a59fc8b72f55f4 Mon Sep 17 00:00:00 2001
From: Tobias Burnus <burnus@gcc.gnu.org>
Date: Sun, 9 Dec 2007 13:58:25 +0100
Subject: [PATCH] [multiple changes]

2007-12-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34404
        * io/list_read.c (parse_real): Remove superfluous "goto bad;".

2007-12-09  H.J. Lu  <hjl@lucon.org>
             Tobias Burnus  <burnus@net-b.de>

        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 657b101fdc4f..958ede061965 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2007-12-09  H.J. Lu  <hjl@lucon.org>
+	    Tobias Burnus  <burnus@net-b.de>
+
+	PR fortran/34404
+	* gfortran.dg/read_2.f90: New.
+
 2007-12-09  Richard Sandiford  <rsandifo@nildram.co.uk>
 
 	* 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 000000000000..d12dcef71ebb
--- /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 888633823a94..f80da8dc0d8b 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-09  Tobias Burnus  <burnus@net-b.de>
+
+	PR fortran/34404
+	* io/list_read.c (parse_real): Remove superfluous "goto bad;".
+
 2007-12-08  Tobias Burnus  <burnus@net-b.de>
 
 	PR fortran/34319
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index c21248915326..9ac5609e9ce2 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 (;;)
-- 
GitLab