aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2015-10-19 21:09:21 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2015-10-19 21:09:21 +0000
commitc3fa5d78ba83b91ca82195aa32d918f2c6fd3a37 (patch)
tree93f141628a852376fd51de9a9ed520697a62622f /gcc
parenta2f6018f329c3629795c2006ba6684b083c19fcb (diff)
downloadgcc-c3fa5d78ba83b91ca82195aa32d918f2c6fd3a37.zip
gcc-c3fa5d78ba83b91ca82195aa32d918f2c6fd3a37.tar.gz
gcc-c3fa5d78ba83b91ca82195aa32d918f2c6fd3a37.tar.bz2
re PR fortran/68019 (ICE on rank mismatch of implied-shape array of user-defined type)
2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68019 * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error message to be issued. 2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68019 * gfortran.dg/pr68019.f90: new test. From-SVN: r229003
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/decl.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr68019.f9013
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 53d3094..0b94ad7 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68019
+ * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
+ message to be issued.
+
2015-10-18 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/67758
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 4871b7c..c752677 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1486,7 +1486,6 @@ add_init_expr_to_sym (const char *name, gfc_expr **initp, locus *var_locus)
" with scalar", &sym->declared_at);
return false;
}
- gcc_assert (sym->as->rank == init->rank);
/* Shape should be present, we get an initialization expression. */
gcc_assert (init->shape);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c4e96a7..9130c7d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/68019
+ * gfortran.dg/pr68019.f90: new test.
+
2015-10-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/67975
diff --git a/gcc/testsuite/gfortran.dg/pr68019.f90 b/gcc/testsuite/gfortran.dg/pr68019.f90
new file mode 100644
index 0000000..2e304c3
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr68019.f90
@@ -0,0 +1,13 @@
+! { dg-do compile }
+! Original code from Gerhard Steinmetz
+! Gerhard dot Steinmetz for fortran at t-online dot de
+! PR fortran/68019
+!
+program p
+ integer :: i
+ type t
+ integer :: n
+ end type
+ type(t), parameter :: vec(*) = [(t(i), i = 1, 4)]
+ type(t), parameter :: arr(*) = reshape(vec, [2, 2]) ! { dg-error "ranks 1 and 2 in assignment" }
+end