diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-05-03 14:51:33 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2006-05-03 14:51:33 +0200 |
commit | 693d710f2ad03341b24d45d1b2ab75533d67687e (patch) | |
tree | 5d4261cec1895613e4c02fd637f62bdfa2874e9b /gcc/gimplify.c | |
parent | 832a0c1d090950cef0735c66b16955944b063579 (diff) | |
download | gcc-693d710f2ad03341b24d45d1b2ab75533d67687e.zip gcc-693d710f2ad03341b24d45d1b2ab75533d67687e.tar.gz gcc-693d710f2ad03341b24d45d1b2ab75533d67687e.tar.bz2 |
re PR fortran/27395 (Problem with arrays in the OpenMP REDUCTION clause in Fortran)
PR fortran/27395
* gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN
bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
* testsuite/libgomp.fortran/pr27395-1.f90: New test.
* testsuite/libgomp.fortran/pr27395-2.f90: New test.
From-SVN: r113494
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r-- | gcc/gimplify.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c index af3d924..91b8881 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -4510,11 +4510,11 @@ gimplify_scan_omp_clauses (tree *list_p, tree *pre_p, bool in_parallel) && DECL_BY_REFERENCE (TREE_OPERAND (decl, 0))) OMP_CLAUSE_DECL (c) = decl = TREE_OPERAND (decl, 0); omp_add_variable (ctx, decl, flags); - if (TREE_CODE (c) == OMP_CLAUSE_REDUCTION + if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_REDUCTION && OMP_CLAUSE_REDUCTION_PLACEHOLDER (c)) { omp_add_variable (ctx, OMP_CLAUSE_REDUCTION_PLACEHOLDER (c), - GOVD_LOCAL); + GOVD_LOCAL | GOVD_SEEN); gimplify_omp_ctxp = ctx; push_gimplify_context (); gimplify_stmt (&OMP_CLAUSE_REDUCTION_INIT (c)); |