1  /* Testcase by Martin Michlmayr <tbm@cyrius.com> */
       2  
       3  /* { dg-do compile } */
       4  /* { dg-options "-O3" } */
       5  
       6  extern char coredump;
       7  extern void sigemptyset (char *);
       8  struct sigaction
       9  {
      10    char sa_mask;
      11  };
      12  void doSignalsSetup (void)
      13  {
      14    static const int signals[] = {
      15      1, 2, 3, 4, 6, 8, 11, 13, 14, 15, 30 , 31
      16    };
      17    unsigned int i, sig;
      18    struct sigaction sa;
      19    for (i = 0; i < sizeof (signals) / sizeof (int); i++)
      20      {
      21        sig = signals[i];
      22        if (coredump &&
      23            (sig == 4 || sig == 8 || sig == 11 || sig == 10))
      24          continue;
      25        sigemptyset (&sa.sa_mask);
      26      }
      27  }