Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c-c++-common/pr45784.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
/* 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; }