Commit 00798c58 by Jakub Jelinek Committed by Jakub Jelinek

re PR middle-end/91920 (ggc 9.2.0 failing openmp compile on ppc64le)

	PR middle-end/91920
	* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
	variables as shared.

	* c-c++-common/gomp/pr91920.c: New test.

From-SVN: r276211
parent 576113ab
2019-09-27 Jakub Jelinek <jakub@redhat.com>
PR middle-end/91920
* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
variables as shared.
2019-09-27 Iain Sandoe <iain@sandoe.co.uk>
* config/rs6000/darwin.md (@macho_correct_pic_<mode>): New,
......
......@@ -7132,6 +7132,8 @@ omp_default_clause (struct gimplify_omp_ctx *ctx, tree decl,
kind = lang_hooks.decls.omp_predetermined_sharing (decl);
if (kind != OMP_CLAUSE_DEFAULT_UNSPECIFIED)
default_kind = kind;
else if (VAR_P (decl) && TREE_STATIC (decl) && DECL_IN_CONSTANT_POOL (decl))
default_kind = OMP_CLAUSE_DEFAULT_SHARED;
switch (default_kind)
{
......
2019-09-27 Jakub Jelinek <jakub@redhat.com>
PR middle-end/91920
* c-c++-common/gomp/pr91920.c: New test.
PR target/91919
* gcc.c-torture/compile/pr91919.c: New.test
* gcc.c-torture/compile/pr91919.c: New test.
2019-09-27 Manfred Schwarb <manfred99@gmx.ch>
......
/* PR middle-end/91920 */
void bar (float *);
void
foo (void)
{
int i;
float f[3] = { 0.0f, 0.0f, 0.0f };
#pragma omp parallel for default(none) reduction(+:f[:3])
for (i = 0; i < 1000; i++)
{
int j;
float k[3] = { 0.25f, 0.5f, 0.75f };
for (j = 0; j < 3; j++)
f[j] += k[j];
}
bar (f);
}
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