summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-06 20:56:07 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-06 20:56:07 +0000
commit58b069a099182c5367587d098eda613ee3947fec (patch)
treeb8fbc94bf1493b37215f6ba423694942689b25f4 /gcc/testsuite/gfortran.dg
parent7cbc820e16a5c752351dd7db7150b2f128bc21e1 (diff)
downloadgcc-58b069a099182c5367587d098eda613ee3947fec.tar.gz
2010-07-06 Tobias Burnus <burnus@net-b.de>
PR fortran/44742 * array.c (gfc_expand_constructor): Add optional diagnostic. * gfortran.h (gfc_expand_constructor): Update prototype. * expr.c (gfc_simplify_expr, check_init_expr, gfc_reduce_init_expr): Update gfc_expand_constructor call. * resolve.c (gfc_resolve_expr): Ditto. 2010-07-06 Tobias Burnus <burnus@net-b.de> PR fortran/44742 * gfortran.dg/parameter_array_init_6.f90: New. * gfortran.dg/initialization_20.f90: Update dg-error. * gfortran.dg/initialization_24.f90: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161888 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gfortran.dg')
-rw-r--r--gcc/testsuite/gfortran.dg/initialization_20.f902
-rw-r--r--gcc/testsuite/gfortran.dg/initialization_24.f902
-rw-r--r--gcc/testsuite/gfortran.dg/parameter_array_init_6.f9018
3 files changed, 20 insertions, 2 deletions
diff --git a/gcc/testsuite/gfortran.dg/initialization_20.f90 b/gcc/testsuite/gfortran.dg/initialization_20.f90
index 47d552834ae..6af1a00a45d 100644
--- a/gcc/testsuite/gfortran.dg/initialization_20.f90
+++ b/gcc/testsuite/gfortran.dg/initialization_20.f90
@@ -6,5 +6,5 @@ program pr19925
integer j
integer, parameter :: n = 100000
integer, parameter :: i(n)=(/(j,j=1,n)/) ! { dg-error "number of elements" }
- print *, i(5)
+ print *, i(5) ! { dg-error "has no IMPLICIT type" }
end program pr19925
diff --git a/gcc/testsuite/gfortran.dg/initialization_24.f90 b/gcc/testsuite/gfortran.dg/initialization_24.f90
index 4c203312be4..0ab8dc624e4 100644
--- a/gcc/testsuite/gfortran.dg/initialization_24.f90
+++ b/gcc/testsuite/gfortran.dg/initialization_24.f90
@@ -3,7 +3,7 @@
! Test case by Dominique d'Humieres
INTEGER, PARAMETER ::N=65536
INTEGER, PARAMETER ::I(N)=(/(MOD(K,2),K=1,N)/)!{ dg-error "number of elements" }
-INTEGER, PARAMETER ::M(N)=I(N:1:-1)
+INTEGER, PARAMETER ::M(N)=I(N:1:-1) ! { dg-error "Syntax error in argument" }
print *, I(1), M(1), I(N), M(N)
END
diff --git a/gcc/testsuite/gfortran.dg/parameter_array_init_6.f90 b/gcc/testsuite/gfortran.dg/parameter_array_init_6.f90
new file mode 100644
index 00000000000..9a654db3f00
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/parameter_array_init_6.f90
@@ -0,0 +1,18 @@
+! { dg-do compile }
+!
+! PR fortran/44742
+!
+! Test case based on Juergen Reuter's and reduced by
+! Janus Weil.
+!
+! The program creates a large array constructor, which
+! exceeds -fmax-array-constructor - and caused an ICE.
+!
+
+module proc8
+ implicit none
+ integer, parameter :: N = 256
+ logical, dimension(N**2), parameter :: A = .false.
+ logical, dimension(N,N), parameter :: B &
+ = reshape ( (/ A /), (/ N, N /) ) ! { dg-error "array constructor at .1. requires an increase" }
+end module