diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2018-11-18 17:40:23 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2018-11-18 17:40:23 +0000 |
commit | cb40e8071e0fa1a86183f6b97ebeb3355e5e1722 (patch) | |
tree | 7cfa4a20ea36125deebad2639846e827a9bebc71 /gcc/fortran | |
parent | 9515381d1cf44d4c897ac0aeee89d555d82fdd7f (diff) | |
download | gcc-cb40e8071e0fa1a86183f6b97ebeb3355e5e1722.zip gcc-cb40e8071e0fa1a86183f6b97ebeb3355e5e1722.tar.gz gcc-cb40e8071e0fa1a86183f6b97ebeb3355e5e1722.tar.bz2 |
re PR fortran/88073 (Internal compiler error compiling WHERE construct with -O or -O2)
2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88073
* frontend-passes.c (combine_array_constructor): Do not do
anything if in a WHERE statement.
2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88073
* gfortran.dg/where_7.f90: New test.
From-SVN: r266251
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/frontend-passes.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 83920ab..15f5942 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> + PR fortran/88073 + * frontend-passes.c (combine_array_constructor): Do not do + anything if in a WHERE statement. + +2018-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> + PR fortran/70260 * expr.c (gfc_check_assign): Reject assigning to an external symbol. diff --git a/gcc/fortran/frontend-passes.c b/gcc/fortran/frontend-passes.c index 1993030..9fa50ee 100644 --- a/gcc/fortran/frontend-passes.c +++ b/gcc/fortran/frontend-passes.c @@ -1773,6 +1773,10 @@ combine_array_constructor (gfc_expr *e) if (iterator_level > 0) return false; + /* WHERE also doesn't work. */ + if (in_where > 0) + return false; + op1 = e->value.op.op1; op2 = e->value.op.op2; |