/* { dg-do run } */ /* { dg-options "-Os" } */ int b, c, d; char e; short f; const unsigned short **g; char h(char k) { if (k) return '0'; return 0; } int l() { b = 0; return 1; } static short m(unsigned k) { const unsigned short *n[65]; g = &n[4]; k || l(); __INTPTR_TYPE__ a = k; char i = 0; unsigned long j = k; while (j--) *(char *)a++ = i; c = h(d); f = k; return 0; } int main() { long o = (e < 0) << 5; m(o); if (f != 0) __builtin_abort (); return 0; }