mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-14 08:09:33 +08:00
re PR fortran/66385 (ICE: FORALL writing multiple elements of one array)
2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66385 * frontend-passes.c (combine_array_constructor): Return early if inside a FORALL loop. 2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66385 * gfortran.dg/forall_17.f90: New test. From-SVN: r224172
This commit is contained in:
parent
e7547bc697
commit
9c3e121b01
@ -1,3 +1,9 @@
|
||||
2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/66385
|
||||
* frontend-passes.c (combine_array_constructor): Return early if
|
||||
inside a FORALL loop.
|
||||
|
||||
2015-06-05 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
* f95-lang.c (gfc_write_global_declarations): Remove.
|
||||
|
@ -1243,6 +1243,10 @@ combine_array_constructor (gfc_expr *e)
|
||||
if (in_assoc_list)
|
||||
return false;
|
||||
|
||||
/* With FORALL, the BLOCKS created by create_var will cause an ICE. */
|
||||
if (forall_level > 0)
|
||||
return false;
|
||||
|
||||
op1 = e->value.op.op1;
|
||||
op2 = e->value.op.op2;
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/66385
|
||||
* gfortran.dg/forall_17.f90: New test.
|
||||
|
||||
2015-06-05 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
* g++.dg/cpp0x/pr57101.C: Add warning.
|
||||
|
17
gcc/testsuite/gfortran.dg/forall_17.f90
Normal file
17
gcc/testsuite/gfortran.dg/forall_17.f90
Normal file
@ -0,0 +1,17 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-ffrontend-optimize" }
|
||||
! PR fortran/66385 - this used to ICE
|
||||
! Original test case by Mianzhi Wang
|
||||
program test
|
||||
double precision::aa(30)
|
||||
double precision::a(3,3),b
|
||||
b=1d0
|
||||
forall(i=1:3)
|
||||
a(:,i)=b*[1d0,2d0,3d0]
|
||||
end forall
|
||||
|
||||
forall(i=1:10)
|
||||
aa(10*[0,1,2]+i)=1d0
|
||||
end forall
|
||||
|
||||
end program
|
Loading…
Reference in New Issue
Block a user