Commit cf785618 by Jakub Jelinek

openmp: Notice reduction decl in outer contexts after adding it to shared [PR93515]

If we call omp_add_variable, following omp_notice_variable will already find it
on that construct and not go through outer constructs, the following patch fixes that.
Note, this still doesn't follow OpenMP 5.0 semantics on target combined with other
constructs with reduction/lastprivate/linear clauses, will handle that for GCC11.

2020-02-06  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/93515
	* gimplify.c (gimplify_scan_omp_clauses) <do_notice>: If adding
	shared clause, call omp_notice_variable on outer context if any.
parent 006eeaa8
2020-02-06 Jakub Jelinek <jakub@redhat.com>
PR libgomp/93515
* gimplify.c (gimplify_scan_omp_clauses) <do_notice>: If adding
shared clause, call omp_notice_variable on outer context if any.
2020-02-05 Jason Merrill <jason@redhat.com>
PR c++/92003
......
......@@ -9464,9 +9464,13 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p,
== POINTER_TYPE))))
omp_firstprivatize_variable (outer_ctx, decl);
else
omp_add_variable (outer_ctx, decl,
GOVD_SEEN | GOVD_SHARED);
omp_notice_variable (outer_ctx, decl, true);
{
omp_add_variable (outer_ctx, decl,
GOVD_SEEN | GOVD_SHARED);
if (outer_ctx->outer_context)
omp_notice_variable (outer_ctx->outer_context, decl,
true);
}
}
}
if (outer_ctx)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment