re PR fortran/54788 (ICE on pointer-array element assignment)
authorDominique d'Humieres <dominiq@lps.ens.fr>
Mon, 1 Jul 2013 07:53:55 +0000 (09:53 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Mon, 1 Jul 2013 07:53:55 +0000 (09:53 +0200)
2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR fortran/54788
        * array.c (spec_size): handle the case as==NULL.

2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR fortran/54788
        * gfortran.dg/pointer_remapping_8.f90: New.

From-SVN: r200575

gcc/fortran/ChangeLog
gcc/fortran/array.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pointer_remapping_8.f90 [new file with mode: 0644]

index 75197255a5424513503097aee30adfd79c528e95..f85e2ebfa6b801a84ff12ce89212224803eff448 100644 (file)
@@ -1,3 +1,8 @@
+2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/54788
+       * array.c (spec_size): handle the case as==NULL.
+
 2013-06-26  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/29800
index c6b8eb9f96a7b6a9693a155e97a11b3966bd3075..f07bc64dbcaa2d972356ed1aa9ada1f5b7a5f768 100644 (file)
@@ -2084,7 +2084,7 @@ spec_size (gfc_array_spec *as, mpz_t *result)
   mpz_t size;
   int d;
 
-  if (as->type == AS_ASSUMED_RANK)
+  if (!as || as->type == AS_ASSUMED_RANK)
     return false;
 
   mpz_init_set_ui (*result, 1);
index 5c09364a80a38b912746bee377b45697ad4d48c5..2a0fa8112823a610cbc412e0b10855a2e9f90a52 100644 (file)
@@ -1,3 +1,8 @@
+2013-07-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+       PR fortran/54788
+       * gfortran.dg/pointer_remapping_8.f90: New.
+
 2013-06-28  Ed Smith-Rowland  <3dw4rd@verizon.net>
 
        * g++.dg/cpp0x/udlit-nospace-neg.C: Adjust.
 
 2013-06-28  Kirill Yukhin  <kirill.yukhin@intel.com>
 
-        * gcc.target/i386/bmi-1.c: Extend with new instrinsic.
-        Fix scan patterns.
-        * gcc.target/i386/bmi-1.c: Ditto.
-        * gcc.target/i386/bmi-bextr-4.c: New.
-        * gcc.target/i386/bmi-bextr-5.c: Ditto.
+       * gcc.target/i386/bmi-1.c: Extend with new instrinsic.
+       Fix scan patterns.
+       * gcc.target/i386/bmi-1.c: Ditto.
+       * gcc.target/i386/bmi-bextr-4.c: New.
+       * gcc.target/i386/bmi-bextr-5.c: Ditto.
 
 2013-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
 
diff --git a/gcc/testsuite/gfortran.dg/pointer_remapping_8.f90 b/gcc/testsuite/gfortran.dg/pointer_remapping_8.f90
new file mode 100644 (file)
index 0000000..94fe6c5
--- /dev/null
@@ -0,0 +1,10 @@
+! { dg-do compile }
+!
+! PR 54788 ICE on pointer-array element assignment
+!
+program bug
+  integer, pointer :: a(:)
+  integer :: b
+  allocate(a(0:0))
+  a(0:0) => b ! { dg-error "Rank remapping target must be rank 1 or simply contiguous" }
+end