aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/array.c2
-rw-r--r--gcc/testsuite/ChangeLog15
-rw-r--r--gcc/testsuite/gfortran.dg/pointer_remapping_8.f9010
4 files changed, 26 insertions, 6 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 7519725..f85e2eb 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index c6b8eb9..f07bc64 100644
--- a/gcc/fortran/array.c
+++ b/gcc/fortran/array.c
@@ -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);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5c09364..2a0fa81 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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.
@@ -38,11 +43,11 @@
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
index 0000000..94fe6c5
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pointer_remapping_8.f90
@@ -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