diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-15 10:24:08 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-15 10:24:08 +0000 |
commit | 98e1cf64d618d99307a1c7e768aa3e9d54516b08 (patch) | |
tree | c614cd292360261d103b066910a7659be9189291 /gcc/fortran | |
parent | 707c36c41c099d14cff3d189e2221af5709404fb (diff) | |
download | ppe42-gcc-98e1cf64d618d99307a1c7e768aa3e9d54516b08.tar.gz ppe42-gcc-98e1cf64d618d99307a1c7e768aa3e9d54516b08.zip |
PR fortran/62131
* openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
is allocatable, rather than whenever var->attr.allocatable.
* gfortran.dg/gomp/pr62131.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@214011 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/openmp.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 61c443c5ff8..d39955ba75f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,4 +1,11 @@ 2014-08-15 Jakub Jelinek <jakub@redhat.com> + Tobias Burnus <burnus@net-b.de> + + PR fortran/62131 + * openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr + is allocatable, rather than whenever var->attr.allocatable. + +2014-08-15 Jakub Jelinek <jakub@redhat.com> PR fortran/62107 * trans-openmp.c (gfc_omp_finish_clause): Handle scalar pointer diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index d1406cfcc19..58aaf6623c1 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -2744,7 +2744,7 @@ resolve_omp_atomic (gfc_code *code) break; } - if (var->attr.allocatable) + if (gfc_expr_attr (code->expr1).allocatable) { gfc_error ("!$OMP ATOMIC with ALLOCATABLE variable at %L", &code->loc); |