aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2010-06-02 04:46:38 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2010-06-02 04:46:38 +0000
commitdf842ed971dbe3c2797181b447530244e23f4dee (patch)
tree8d0e2d65f2e8d1b54b973fafdfd23fc5643d8ce0
parent022d92603310a4fe305b7ad8f6a0cc82f601b26c (diff)
downloadgcc-df842ed971dbe3c2797181b447530244e23f4dee.zip
gcc-df842ed971dbe3c2797181b447530244e23f4dee.tar.gz
gcc-df842ed971dbe3c2797181b447530244e23f4dee.tar.bz2
re PR fortran/44371 (STOP parsing rejects valid code)
2010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/44371 * gfortran.dg/error_stop_1.f08: New test. * gfortran.dg/error_stop_2.f08: New test. From-SVN: r160134
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/error_stop_1.f085
-rw-r--r--gcc/testsuite/gfortran.dg/error_stop_2.f0810
3 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 05e5fdc..19452bb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/44371
+ * gfortran.dg/error_stop_1.f08: New test.
+ * gfortran.dg/error_stop_2.f08: New test.
+
2010-06-01 Jason Merrill <jason@redhat.com>
DR 990
diff --git a/gcc/testsuite/gfortran.dg/error_stop_1.f08 b/gcc/testsuite/gfortran.dg/error_stop_1.f08
new file mode 100644
index 0000000..80a19b1
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/error_stop_1.f08
@@ -0,0 +1,5 @@
+! { dg-do run }
+program stopper
+ real, dimension(5,5,5) :: i
+ error stop size(i) ! { dg-shouldfail "ERROR STOP 125" }
+end program stopper
diff --git a/gcc/testsuite/gfortran.dg/error_stop_2.f08 b/gcc/testsuite/gfortran.dg/error_stop_2.f08
new file mode 100644
index 0000000..be0255a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/error_stop_2.f08
@@ -0,0 +1,10 @@
+! { dg-do compile }
+! PR44371 STOP parsing rejects valid code.
+ real, dimension(5,5,5) :: i
+ character(1) c, y
+ y = 'y'
+ read(y,*) c
+ if (c=='x') stop size(i); if (c=='X') stop
+
+ if (c=='y') stop size(i) if (c=='Y') stop ! { dg-error "Syntax error in STOP" }
+ end