https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99007
--- Comment #7 from CVS Commits ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
:
https://gcc.gnu.org/g:deba6b20a3889aa23f0e4b3a5248de4172a0167d
commit r10-9465-gdeba6b20a3889aa23f0e4b3a5248de4172a0167d
Author: Jakub Jelinek
Date: Wed Feb 10 10:34:58 2021 +0100
openmp: Temporarily disable into_ssa when gimplifying OpenMP reduction
clauses [PR99007]
gimplify_scan_omp_clauses was already calling gimplify_expr with false as
last argument to make sure it is not an SSA_NAME, but as the testcases
show,
that is not enough, SSA_NAME temporaries created during that gimplification
can be reused too and we can't allow SSA_NAMEs to be used across OpenMP
region boundaries, as we can only firstprivatize decls.
Fixed by temporarily disabling into_ssa.
2021-02-10 Jakub Jelinek
PR middle-end/99007
* gimplify.c (gimplify_scan_omp_clauses): For MEM_REF on
reductions,
temporarily disable gimplify_ctxp->into_ssa around gimplify_expr
calls.
* g++.dg/gomp/pr99007.C: New test.
* gcc.dg/gomp/pr99007-1.c: New test.
* gcc.dg/gomp/pr99007-2.c: New test.
* gcc.dg/gomp/pr99007-3.c: New test.
(cherry picked from commit bd0e37f68a3aed944df4eb739a0734bb87153749)