From ee7b3e9ab100270668ba5a9f1d6d78912d691928 Mon Sep 17 00:00:00 2001
From: Jerry DeLisle <jvdelisle@gcc.gnu.org>
Date: Fri, 27 Oct 2006 20:50:15 +0000
Subject: [PATCH] re PR fortran/29563 (Internal read loses data.)

2006-10-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29563
	* gfortran.dg/error_recovery_2.f90: New test.

From-SVN: r118085
---
 gcc/testsuite/ChangeLog                       |  5 +++++
 .../gfortran.dg/error_recovery_2.f90          | 21 +++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 gcc/testsuite/gfortran.dg/error_recovery_2.f90

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 475ead719020..78d1f60ad236 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR libgfortran/29563
+	* gfortran.dg/error_recovery_2.f90: New test.
+
 2006-10-26  Richard Guenther  <rguenther@suse.de>
 
 	* gcc.target/i386/i386.exp: Use glob, not find to collect
diff --git a/gcc/testsuite/gfortran.dg/error_recovery_2.f90 b/gcc/testsuite/gfortran.dg/error_recovery_2.f90
new file mode 100644
index 000000000000..445b0b777811
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/error_recovery_2.f90
@@ -0,0 +1,21 @@
+! { dg-do compile }
+! PR27954 Internal compiler error on bad statements
+! Derived from test case submitted in PR.
+subroutine bad1
+  character*20 :: y, x 00  ! { dg-error "Syntax error" }
+  data  y /'abcdef'/, x /'jbnhjk'/ pp  ! { dg-error "Syntax error" }
+end subroutine bad1
+
+subroutine bad2
+  character*20 :: y, x 00  ! { dg-error "Syntax error" }
+  data  y /'abcdef'/, x /'jbnhjk'/ pp  ! { dg-error "Syntax error" }
+  print *, "basket case."
+end subroutine bad2
+
+subroutine bad3
+  implicit none
+  character*20 :: y, x 00  ! { dg-error "Syntax error" }
+  data  y /'abcdef'/, x /'jbnhjk'/ pp  ! { dg-error "Syntax error" }
+  print *, "basket case that segfaults without patch."
+end subroutine bad3
+
-- 
GitLab