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
This commit is contained in:
Jakub Jelinek 2019-09-27 22:13:00 +02:00 committed by Jakub Jelinek
parent 576113abdb
commit 00798c5843
4 changed files with 31 additions and 1 deletions

View File

@ -1,3 +1,9 @@
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,

View File

@ -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)
{

View File

@ -1,7 +1,10 @@
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>

View File

@ -0,0 +1,19 @@
/* 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);
}