aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBud Davis <bdavis9659@comcast.net>2004-09-21 11:22:47 +0000
committerBud Davis <bdavis@gcc.gnu.org>2004-09-21 11:22:47 +0000
commit77747e5f2d1fc0bc4dc4aaf137da9dc158697c81 (patch)
tree2ab3db1f578dda1d38b09b2e3445fa9d8feafe1f /gcc
parentb6ad178e2ee4c3fdcf7e231f51f83aebc107554f (diff)
downloadgcc-77747e5f2d1fc0bc4dc4aaf137da9dc158697c81.zip
gcc-77747e5f2d1fc0bc4dc4aaf137da9dc158697c81.tar.gz
gcc-77747e5f2d1fc0bc4dc4aaf137da9dc158697c81.tar.bz2
re PR libfortran/17286 (namelist containing more than one value cannot contain whitespace or newlines for READ)
2004-09-21 Bud Davis <bdavis9659@comcast.net> PR fortran/17286 * io/list_read.c (namelist_read): ignore spaces after the '=' for namelist reads. 2004-09-21 Bud Davis <bdavis9659@comcast.net> PR fortran/17286 * gfortran.dg/pr17286.f90: New test. From-SVN: r87799
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr17286.f9045
2 files changed, 50 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2d2e5b6..e64aafb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-21 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/17286
+ * gfortran.dg/pr17286.f90: New test.
+
2004-09-20 Mark Mitchell <mark@codesourcery.com>
PR c++/17530
diff --git a/gcc/testsuite/gfortran.dg/pr17286.f90 b/gcc/testsuite/gfortran.dg/pr17286.f90
new file mode 100644
index 0000000..ccd100f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr17286.f90
@@ -0,0 +1,45 @@
+! pr17286
+! namelist read fails when spaces exist between the '=' and the numbers
+! this is a libgfortran bug
+! derived from testcase provided by Paul Thomas <paulthomas2@wanadoo.fr
+
+
+ program bug3
+ integer num1 , num2 , num3 , num4
+ data num3 / 42 /
+ data num4 / 56 /
+ namelist /mynml1/ num1,num2
+ namelist /mynml2/ num3,num4
+ logical dbg
+ data dbg / .FALSE. /
+ open(unit=10,status='SCRATCH')
+ write(10,'(A)') "&mynml1,num1=16,num2=32,&end"
+!
+! write mynml2
+!
+ write(10,mynml2)
+ rewind(10)
+!
+! now read back
+!
+ num1 = -1
+ num2 = -1
+ read(10,mynml1)
+ if (num1.eq.16.and.num2.eq.32) then
+ if (dbg) write(*,mynml1)
+ else
+ if (dbg) print *, 'expected 16 32 got ',num1,num2
+ call abort
+ endif
+ num3 = -1
+ num4 = -1
+ read(10,mynml2)
+ if (num3.eq.42.and.num4.eq.56) then
+ if (dbg) write(*,mynml2)
+ else
+ if (dbg) print *, 'expected 42 56 got ',num3,num4
+ call abort
+ endif
+
+ close(10)
+ end