diff options
Diffstat (limited to 'bits/sigset.h')
-rw-r--r-- | bits/sigset.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/bits/sigset.h b/bits/sigset.h index 23a6c1fd83..e5fac54ede 100644 --- a/bits/sigset.h +++ b/bits/sigset.h @@ -44,15 +44,17 @@ typedef unsigned long int __sigset_t; overflow if `sigset_t' is wider than `int'. */ #define __sigmask(sig) (((__sigset_t) 1) << ((sig) - 1)) -#define __sigemptyset(set) ((*(set) = (__sigset_t) 0), 0) -#define __sigfillset(set) ((*(set) = ~(__sigset_t) 0), 0) +#define __sigemptyset(set) \ + (__extension__ ({ *(set) = (__sigset_t) 0; 0; }) +#define __sigfillset(set) \ + (__extension__ ({ *(set) = ~(__sigset_t) 0; 0; })) #ifdef _GNU_SOURCE # define __sigisemptyset(set) (*(set) == (__sigset_t) 0) # define __sigandset(dest, left, right) \ - ((*(dest) = (*(left) & *(right))), 0) + (__extension__ ({ *(dest) = *(left) & *(right); 0; })) # define __sigorset(dest, left, right) \ - ((*(dest) = (*(left) | *(right))), 0) + (__extension__ ({ *(dest) = *(left) | *(right); 0; })) #endif /* These functions needn't check for a bogus signal number -- error |