1 // PR middle-end/86539
2 
3 int a[384];
4 
5 __attribute__((noipa)) void
foo(int & b,int & c)6 foo (int &b, int &c)
7 {
8   #pragma omp taskloop shared (a) collapse(3)
9   for (int i = 0; i < 1; i++)
10     for (int *p = &b; p < &c; p++)
11       for (int j = 0; j < 1; j++)
12 	if (p < &a[128] || p >= &a[256])
13 	  __builtin_abort ();
14 	else
15 	  p[0]++;
16 }
17 
18 int
main()19 main ()
20 {
21   #pragma omp parallel
22   #pragma omp single
23     foo (a[128], a[256]);
24   for (int i = 0; i < 384; i++)
25     if (a[i] != (i >= 128 && i < 256))
26       __builtin_abort ();
27   return 0;
28 }
29