From 32749f6cd23f65a2df1bafbf9b69749bdded4b10 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 7 Feb 2014 15:26:28 -0800 Subject: [PATCH] Avoid comma operator warnings. --- ChangeLog | 9 +++++++++ bits/sigset.h | 10 ++++++---- include/signal.h | 3 ++- sysdeps/generic/malloc-machine.h | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index a2967ac..fef2620 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2014-02-07 Roland McGrath + + * bits/sigset.h (__sigemptyset): Use a statement expression rather + than the comma operator, to avoid "rhs of comma has no effect" + compiler warnings. + (__sigfillset, __sigandset, __sigorset): Likewise. + * include/signal.h (__sigemptyset): Likewise. + * sysdeps/generic/malloc-machine.h (mutex_lock): Likewise. + 2014-02-07 Allan McRae * version.h (RELEASE): Set to "development". diff --git a/bits/sigset.h b/bits/sigset.h index 23a6c1f..e5fac54 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 diff --git a/include/signal.h b/include/signal.h index a019395..16a7a42 100644 --- a/include/signal.h +++ b/include/signal.h @@ -55,7 +55,8 @@ extern int __xpg_sigpause (int sig); /* Simplified sigemptyset() implementation without the parameter checking. */ #undef __sigemptyset -#define __sigemptyset(ss) (__builtin_memset (ss, '\0', sizeof (sigset_t)), 0) +#define __sigemptyset(ss) \ + ({ __builtin_memset (ss, '\0', sizeof (sigset_t)); 0; }) /* Allocate real-time signal with highest/lowest available priority. */ diff --git a/sysdeps/generic/malloc-machine.h b/sysdeps/generic/malloc-machine.h index df7adeb..a1b7655 100644 --- a/sysdeps/generic/malloc-machine.h +++ b/sysdeps/generic/malloc-machine.h @@ -35,7 +35,7 @@ typedef int mutex_t; # define mutex_init(m) (*(m) = 0) -# define mutex_lock(m) ((*(m) = 1), 0) +# define mutex_lock(m) ({ *(m) = 1; 0; }) # define mutex_trylock(m) (*(m) ? 1 : ((*(m) = 1), 0)) # define mutex_unlock(m) (*(m) = 0) # define MUTEX_INITIALIZER (0) -- 2.7.4