Messages in this thread | | | From | Michael Ellerman <> | Subject | Re: [PATCH] signal: Mark expected switch fall-throughs | Date | Tue, 16 Oct 2018 11:08:14 +1100 |
| |
[ Cc += ebiederm@xmission.com ]
"Gustavo A. R. Silva" <gustavo@embeddedor.com> writes: > In preparation to enabling -Wimplicit-fallthrough, mark switch cases > where we are expecting to fall through. > > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> > --- > include/linux/signal.h | 6 ++++++ > 1 file changed, 6 insertions(+)
These all look correct to me.
Reviewed-by: Michael Ellerman <mpe@ellerman.id.au>
> diff --git a/include/linux/signal.h b/include/linux/signal.h > index 200ed96..f428e86 100644 > --- a/include/linux/signal.h > +++ b/include/linux/signal.h > @@ -129,9 +129,11 @@ static inline void name(sigset_t *r, const sigset_t *a, const sigset_t *b) \ > b3 = b->sig[3]; b2 = b->sig[2]; \ > r->sig[3] = op(a3, b3); \ > r->sig[2] = op(a2, b2); \ > + /* fall through */ \ > case 2: \ > a1 = a->sig[1]; b1 = b->sig[1]; \ > r->sig[1] = op(a1, b1); \ > + /* fall through */ \ > case 1: \ > a0 = a->sig[0]; b0 = b->sig[0]; \ > r->sig[0] = op(a0, b0); \ > @@ -161,7 +163,9 @@ static inline void name(sigset_t *set) \ > switch (_NSIG_WORDS) { \ > case 4: set->sig[3] = op(set->sig[3]); \ > set->sig[2] = op(set->sig[2]); \ > + /* fall through */ \ > case 2: set->sig[1] = op(set->sig[1]); \ > + /* fall through */ \ > case 1: set->sig[0] = op(set->sig[0]); \ > break; \ > default: \ > @@ -182,6 +186,7 @@ static inline void sigemptyset(sigset_t *set) > memset(set, 0, sizeof(sigset_t)); > break; > case 2: set->sig[1] = 0; > + /* fall through */ > case 1: set->sig[0] = 0; > break; > } > @@ -194,6 +199,7 @@ static inline void sigfillset(sigset_t *set) > memset(set, -1, sizeof(sigset_t)); > break; > case 2: set->sig[1] = -1; > + /* fall through */ > case 1: set->sig[0] = -1; > break; > }
I think _NSIG_WORDS is always constant. So these last two seem like they could just be replaced with memset() and a modern compiler would do the right thing.
cheers
| |