/* Testcase by Martin Michlmayr */ /* { dg-do compile } */ /* { dg-options "-O3" } */ extern char coredump; extern void sigemptyset (char *); struct sigaction { char sa_mask; }; void doSignalsSetup (void) { static const int signals[] = { 1, 2, 3, 4, 6, 8, 11, 13, 14, 15, 30 , 31 }; unsigned int i, sig; struct sigaction sa; for (i = 0; i < sizeof (signals) / sizeof (int); i++) { sig = signals[i]; if (coredump && (sig == 4 || sig == 8 || sig == 11 || sig == 10)) continue; sigemptyset (&sa.sa_mask); } }