Daily bump.
[official-gcc.git] / libgomp / testsuite / libgomp.c / pr45784.c
blob78612108bf6334e9668923351372529a9898158a
1 /* PR c/45784 */
2 /* { dg-do run } */
4 void
5 foo (int n)
7 char *p, vla[2 * n];
8 int i;
9 #pragma omp parallel for
10 for (p = vla; p < vla + (sizeof (vla) / sizeof (vla[0])); p++)
11 *p = ' ';
12 #pragma omp parallel for
13 for (i = 0; i < 2 * n; i++)
14 if (vla[i] != ' ')
15 __builtin_abort ();
18 void
19 bar (int n)
21 char *p, vla1[n], vla2[n * 2], vla3[n * 3], vla4[n * 4];
22 int i;
23 __builtin_memset (vla4, ' ', n * 4);
24 #pragma omp parallel for
25 for (p = vla4 + sizeof (vla1); p < vla4 + sizeof (vla3) - sizeof (vla2) + sizeof (vla1); p += sizeof (vla4) / sizeof (vla4))
26 p[0] = '!';
27 #pragma omp parallel for
28 for (i = 0; i < n * 4; i++)
29 if (vla4[i] != ((i >= n && i < 2 * n) ? '!' : ' '))
30 __builtin_abort ();
33 int
34 main ()
36 volatile int n;
37 n = 128;
38 foo (n);
39 bar (n);
40 return 0;