re PR fortran/69395 (ICE on declaring array with more than 7 dimensions+codimensions)
authorSteven G. Kargl <kargl@gcc.gnu.org>
Fri, 16 Mar 2018 19:20:15 +0000 (19:20 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Fri, 16 Mar 2018 19:20:15 +0000 (19:20 +0000)
2018-03-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69395
* decl.c (merge_array_spec): Correct the error condition.

2018-03-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69395
* gfortran.dg/pr69395.f90: Add test for max dimensions

From-SVN: r258607

gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr69395.f90

index 818c50f9a194ca9288dc327da5b5397f82ad4620..77a6a8ca7e17d5d9217cd97f43db39a8371b9dd7 100644 (file)
@@ -1,3 +1,8 @@
+2018-03-16  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/69395
+       * decl.c (merge_array_spec): Correct the error condition.
+
 2018-03-15  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/78741
index 64199a9609440840565fbf5fb594e6793dcf54cc..104752586b4ebc0791d93abe20a2df2abcc0398b 100644 (file)
@@ -871,7 +871,7 @@ merge_array_spec (gfc_array_spec *from, gfc_array_spec *to, bool copy)
        }
     }
 
-  if (to->rank + to->corank >= GFC_MAX_DIMENSIONS)
+  if (to->rank + to->corank > GFC_MAX_DIMENSIONS)
     {
       gfc_error ("Sum of array rank %d and corank %d at %C exceeds maximum "
                 "allowed dimensions of %d",
index 5d353f4e41f98c8d914a16864188e4810333af8b..889e1102101e31c4c7abc48c969a67f85b42de97 100644 (file)
@@ -1,3 +1,8 @@
+2018-03-16  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/69395
+       * gfortran.dg/pr69395.f90: Add test for max dimensions
+
 2018-03-16  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR target/84876
index ea98baacb29d3abe0dab3c7fc414f97f638aa76c..21229d39464256a7da9bc56d4ac0dcf8b65b183b 100644 (file)
@@ -1,5 +1,6 @@
 ! { dg-do compile }
 ! { dg-options "-fcoarray=single" }
 program p
+real, dimension(1,2,1,2,1,2,1,2), codimension[1,2,1,2,1,2,*] :: y
 real, dimension(1,2,1,2,1,2,1,2), codimension[1,2,1,2,1,2,1,*] :: z  ! { dg-error "allowed dimensions" }
 end