Committed as obvious.
2019-12-11 Steven G. Kargl <[email protected]>
PR fortran/92897
* array.c (gfc_set_array_spec): Remove invalid assert() triggered
by invalid Fortran code.
2019-12-11 Steven G. Kargl <[email protected]>
PR fortran/92897
* gfortran.dg/pr92897.f90: New test.
--
Steve
Index: gcc/fortran/array.c
===================================================================
--- gcc/fortran/array.c (revision 279239)
+++ gcc/fortran/array.c (working copy)
@@ -859,10 +859,6 @@ gfc_set_array_spec (gfc_symbol *sym, gfc_array_spec *a
if (as->corank)
{
- /* The "sym" has no corank (checked via gfc_add_codimension). Thus
- the codimension is simply added. */
- gcc_assert (as->rank == 0 && sym->as->corank == 0);
-
sym->as->cotype = as->cotype;
sym->as->corank = as->corank;
/* Check F2018:C822. */
Index: gcc/testsuite/gfortran.dg/pr92897.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr92897.f90 (nonexistent)
+++ gcc/testsuite/gfortran.dg/pr92897.f90 (working copy)
@@ -0,0 +1,8 @@
+! { dg-do compile }
+! { dg-options "-fcoarray=single" }
+! Test contributed by Gerhard Steinmetz
+type(t) function f() ! { dg-error "has not been declared" }
+ dimension :: t(1,2,1,2,1,2,1,2)
+ codimension :: t[1,2,1,2,1,2,1,*] ! { dg-error "rank \\+ corank of" }
+end
+! { dg-prune-output "which has not been defined" }