aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c++/pr86539.C
blob: fe2b65353e51945c0ef4cc64a544721d90657db3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// PR middle-end/86539

int a[384];

__attribute__((noipa)) void
foo (int &b, int &c)
{
  #pragma omp taskloop shared (a) collapse(3)
  for (int i = 0; i < 1; i++)
    for (int *p = &b; p < &c; p++)
      for (int j = 0; j < 1; j++)
	if (p < &a[128] || p >= &a[256])
	  __builtin_abort ();
	else
	  p[0]++;
}

int
main ()
{
  #pragma omp parallel
  #pragma omp single
    foo (a[128], a[256]);
  for (int i = 0; i < 384; i++)
    if (a[i] != (i >= 128 && i < 256))
      __builtin_abort ();
  return 0;
}