1 /* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-O2" "-Os" } { "" } } */ 2 extern void abort (void); 3 4 static union { 5 char buf[12 * sizeof (long long)]; 6 } u; 7 main()8int main () 9 { 10 int off, len, i; 11 char *p, *q; 12 13 for (off = 0; off < (sizeof (long long)); off++) 14 for (len = 1; len < (10 * sizeof (long long)); len++) 15 { 16 for (i = 0; i < (12 * sizeof (long long)); i++) 17 u.buf[i] = 'a'; 18 p = (__extension__ (__builtin_constant_p ('\0') && ('\0') == '\0' 19 ? ({void *__s = (u.buf + off); __s;}) 20 : __builtin_memset (u.buf + off, '\0', len))); 21 if (p != u.buf + off) 22 abort (); 23 for (i = 0; i < off; i++, q++) 24 if (*q != 'a') 25 abort (); 26 } 27 return 0; 28 } 29 30