diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr32355.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr32355.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32355.c b/gcc/testsuite/gcc.c-torture/compile/pr32355.c new file mode 100644 index 000000000..e88cf5cf7 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr32355.c @@ -0,0 +1,31 @@ +typedef struct +{ +} +__sigset_t; +typedef struct +{ + char coredump; +} +EMode; +extern EMode Mode; +struct sigaction +{ + __sigset_t sa_mask; + int sa_flags; +}; +doSignalsSetup (void) +{ + static const int signals[] = { + 1, 2 , 3, 4, 6, 8, 11, 13, 14, 15, 10, 12, 17, 7 + }; + unsigned int i, sig; + struct sigaction sa; + for (i = 0; i < sizeof (signals) / sizeof (int); i++) + { + sig = signals[i]; + if (Mode.coredump && (sig == 4 || sig == 8)) + continue; + sa.sa_flags = (sig == 17); + sigemptyset (&sa.sa_mask); + } +} |