aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2007-11-28 01:12:31 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2007-11-28 01:12:31 +0000
commit08203c44a36583c34b12551d1d7f7a2429b6fb2c (patch)
treed180ad3b82fbd40153b32572fde8ad788e4a8ef4 /gcc
parenta27369a518553dbc2d041fb84d7d8bc2aaead1e2 (diff)
downloadgcc-08203c44a36583c34b12551d1d7f7a2429b6fb2c.zip
gcc-08203c44a36583c34b12551d1d7f7a2429b6fb2c.tar.gz
gcc-08203c44a36583c34b12551d1d7f7a2429b6fb2c.tar.bz2
re PR fortran/32928 (DATA statement with array element as initializer is rejected)
2007-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/32928 * gfortran.dg/data_array_1.f90 * gfortran.dg/data_array_2.f90 * gfortran.dg/data_array_3.f90 * gfortran.dg/data_array_4.f90 From-SVN: r130487
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/gfortran.dg/data_array_1.f9017
-rw-r--r--gcc/testsuite/gfortran.dg/data_array_2.f906
-rw-r--r--gcc/testsuite/gfortran.dg/data_array_3.f906
-rw-r--r--gcc/testsuite/gfortran.dg/data_array_4.f907
5 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index aaf029a..b8ee3a3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,13 @@
2007-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+ PR fortran/32928
+ * gfortran.dg/data_array_1.f90
+ * gfortran.dg/data_array_2.f90
+ * gfortran.dg/data_array_3.f90
+ * gfortran.dg/data_array_4.f90
+
+2007-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
PR fortran/34227
* gfortran.dg/blockdata_5.f90: New test.
* gfortran.dg/blockdata_6.f90: New test.
diff --git a/gcc/testsuite/gfortran.dg/data_array_1.f90 b/gcc/testsuite/gfortran.dg/data_array_1.f90
new file mode 100644
index 0000000..46c9a5b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/data_array_1.f90
@@ -0,0 +1,17 @@
+! { dg-do run }
+! PR32928 DATA statement with array element as initializer is rejected
+! Test case by Jerry DeLisle <jvdelisle @gcc.gnu.org>
+program chkdata
+ integer, parameter,dimension(4) :: myint = [ 4,3,2,1 ]
+ character(3), parameter, dimension(3) :: mychar = [ "abc", "def", "ghi" ]
+ character(50) :: buffer
+ integer :: a(5)
+ character(5) :: c(5)
+ data a(1:2) / myint(4), myint(2) /
+ data a(3:5) / myint(1), myint(3), myint(1) /
+ data c / mychar(1), mychar(2), mychar(3), mychar(1), mychar(2) /
+ buffer = ""
+ if (any(a.ne.[1,3,4,2,4])) call abort
+ write(buffer,'(5(a))')c
+ if (buffer.ne."abc def ghi abc def ") call abort
+end program chkdata
diff --git a/gcc/testsuite/gfortran.dg/data_array_2.f90 b/gcc/testsuite/gfortran.dg/data_array_2.f90
new file mode 100644
index 0000000..20777a2
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/data_array_2.f90
@@ -0,0 +1,6 @@
+! { dg-do compile }
+! PR32928 DATA statement with array element as initializer is rejected
+integer, parameter,dimension(4) :: myint = [ 4,3,2,1 ]
+integer :: a(5)
+data a(1:2) / myint(a(1)), myint(2) / ! { dg-error "Invalid initializer" }
+end
diff --git a/gcc/testsuite/gfortran.dg/data_array_3.f90 b/gcc/testsuite/gfortran.dg/data_array_3.f90
new file mode 100644
index 0000000..d9de791
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/data_array_3.f90
@@ -0,0 +1,6 @@
+! { dg-do compile }
+! PR32928 DATA statement with array element as initializer is rejected
+integer, parameter,dimension(4) :: myint = [ 4,3,2,1 ]
+integer :: a(5),b
+data a(1:2) / myint(b), myint(2) / ! { dg-error "Invalid initializer" }
+end
diff --git a/gcc/testsuite/gfortran.dg/data_array_4.f90 b/gcc/testsuite/gfortran.dg/data_array_4.f90
new file mode 100644
index 0000000..3df3031
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/data_array_4.f90
@@ -0,0 +1,7 @@
+! { dg-do compile }
+! PR32928 DATA statement with array element as initializer is rejected
+IMPLICIT NONE
+INTEGER , PARAMETER :: NTAB = 3
+REAL :: SR(NTAB) , SR3(NTAB)
+DATA SR/NTAB*0.0/ , SR3/NTAB*0.0/
+end