diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-09-08 18:46:13 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-09-08 18:46:13 +0200 |
commit | 9c2934f4d9e90c10d9209b47d0da2221718083d9 (patch) | |
tree | 9f539fa3028978f2cba42b6226bfe201324aebf4 /gcc/fortran | |
parent | 42a3beeb9a6874fab5a6a767c6136de5614c5f37 (diff) | |
download | gcc-9c2934f4d9e90c10d9209b47d0da2221718083d9.zip gcc-9c2934f4d9e90c10d9209b47d0da2221718083d9.tar.gz gcc-9c2934f4d9e90c10d9209b47d0da2221718083d9.tar.bz2 |
re PR fortran/45595 (segfault on omp collapse)
PR fortran/45595
* openmp.c (resolve_omp_do): Report not enough do loops for
collapse even if block->next is NULL.
* gfortran.dg/gomp/pr45595.f90: New test.
From-SVN: r164004
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/openmp.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2215eb8..1f38eec 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2010-09-08 Jakub Jelinek <jakub@redhat.com> + + PR fortran/45595 + * openmp.c (resolve_omp_do): Report not enough do loops for + collapse even if block->next is NULL. + 2010-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45576 diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index 0e25bf4..6e81821 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -1516,7 +1516,8 @@ resolve_omp_do (gfc_code *code) break; } do_code = do_code->next; - if (do_code->op != EXEC_DO && do_code->op != EXEC_DO_WHILE) + if (do_code == NULL + || (do_code->op != EXEC_DO && do_code->op != EXEC_DO_WHILE)) { gfc_error ("not enough DO loops for collapsed !$OMP DO at %L", &code->loc); |