view libgomp/testsuite/libgomp.c/pr80809-1.c @ 138:fc828634a951

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 08 Nov 2018 14:17:14 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* PR middle-end/80809 */
/* { dg-do run } */

__attribute__((noinline, noclone)) void
foo (int x)
{
  int i, j, v[x], *w[16];
  for (i = 0; i < x; i++)
    v[i] = i;
#pragma omp parallel
#pragma omp single
  for (i = 0; i < 16; i++)
  /* Make sure v is implicitly determined shared in task, because it
     is shared on the parallel.  */
#pragma omp task private (j)
    w[i] = v;
  for (i = 0; i < 16; i++)
    if (w[i] != v)
      __builtin_abort ();
}

int
main ()
{
  foo (4);
  foo (27);
  foo (196);
  return 0;
}