From b710b6bc87e76ca14deb301997af288716f44960 Mon Sep 17 00:00:00 2001
From: Jerry DeLisle <jvdelisle@gcc.gnu.org>
Date: Tue, 24 Mar 2009 12:24:29 +0000
Subject: [PATCH] re PR fortran/39528 (repeated entries are not read when using
 list-directed input)

2009-03-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/39528
	* io/list_read.c (list_formatted_read_scalar): Move check for read
	completion to just after the check for a repeated value.

From-SVN: r145030
---
 libgfortran/ChangeLog      | 6 ++++++
 libgfortran/io/list_read.c | 8 ++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 4613306ce799..500280604f06 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR libfortran/39528
+	* io/list_read.c (list_formatted_read_scalar): Move check for read
+	completion to just after the check for a repeated value.
+
 2009-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
 	PR libfortran/39402
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index 1f1023c10d22..6b22d34a0b65 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008
+/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Contributed by Andy Vaught
    Namelist input contributed by Paul Thomas
@@ -1720,9 +1720,6 @@ list_formatted_read_scalar (st_parameter_dt *dtp, volatile bt type, void *p,
     }
   else
     {
-      if (dtp->u.p.input_complete)
-	goto cleanup;
-
       if (dtp->u.p.repeat_count > 0)
 	{
 	  if (check_type (dtp, type, kind))
@@ -1730,6 +1727,9 @@ list_formatted_read_scalar (st_parameter_dt *dtp, volatile bt type, void *p,
 	  goto set_value;
 	}
 
+      if (dtp->u.p.input_complete)
+	goto cleanup;
+
       if (dtp->u.p.at_eol)
 	finish_separator (dtp);
       else
-- 
GitLab