2009-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Mar 2009 12:24:29 +0000 (12:24 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Mar 2009 12:24:29 +0000 (12:24 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145030 138bc75d-0d04-0410-961f-82ee72b054a4

libgfortran/ChangeLog
libgfortran/io/list_read.c

index 4613306..5002806 100644 (file)
@@ -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
index 1f1023c..6b22d34 100644 (file)
@@ -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