mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-13 18:34:45 +00:00
42 lines
821 B
C
42 lines
821 B
C
|
/* PR c/45784 */
|
||
|
/* { dg-do run } */
|
||
|
|
||
|
void
|
||
|
foo (int n)
|
||
|
{
|
||
|
char *p, vla[2 * n];
|
||
|
int i;
|
||
|
#pragma omp parallel for
|
||
|
for (p = vla; p < vla + (sizeof (vla) / sizeof (vla[0])); p++)
|
||
|
*p = ' ';
|
||
|
#pragma omp parallel for
|
||
|
for (i = 0; i < 2 * n; i++)
|
||
|
if (vla[i] != ' ')
|
||
|
__builtin_abort ();
|
||
|
}
|
||
|
|
||
|
void
|
||
|
bar (int n)
|
||
|
{
|
||
|
char *p, vla1[n], vla2[n * 2], vla3[n * 3], vla4[n * 4];
|
||
|
int i;
|
||
|
__builtin_memset (vla4, ' ', n * 4);
|
||
|
#pragma omp parallel for
|
||
|
for (p = vla4 + sizeof (vla1); p < vla4 + sizeof (vla3) - sizeof (vla2) + sizeof (vla1); p += sizeof (vla4) / sizeof (vla4))
|
||
|
p[0] = '!';
|
||
|
#pragma omp parallel for
|
||
|
for (i = 0; i < n * 4; i++)
|
||
|
if (vla4[i] != ((i >= n && i < 2 * n) ? '!' : ' '))
|
||
|
__builtin_abort ();
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main ()
|
||
|
{
|
||
|
volatile int n;
|
||
|
n = 128;
|
||
|
foo (n);
|
||
|
bar (n);
|
||
|
return 0;
|
||
|
}
|