aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/blockdata_3.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/blockdata_3.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.dg/blockdata_3.f9028
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/blockdata_3.f90 b/gcc-4.9/gcc/testsuite/gfortran.dg/blockdata_3.f90
new file mode 100644
index 000000000..8d1a84da0
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.dg/blockdata_3.f90
@@ -0,0 +1,28 @@
+! { dg-do compile }
+! { dg-options "-W -Wall" }
+! Tests the fix for PR29539, in which the derived type in a blockdata
+! cause an ICE. With the fix for PR29565, this now compiles and runs
+! correctly.
+!
+! Contributed by Bernhard Fischer <aldot@gcc.gnu.org>
+!
+block data
+ common /c/ d(5), cc
+ type c_t
+ sequence
+ integer i
+ end type c_t
+ type (c_t) :: cc
+ data d /5*1./
+ data cc%i /5/
+end
+
+ common /c/ d(5), cc
+ type c_t
+ sequence
+ integer i
+ end type c_t
+ type (c_t) :: cc
+ print *, d
+ print *, cc
+end