Re: [PATCH 5/7] signal: Silence nested-externs warnings

From: Oleg Nesterov
Date: Fri Sep 19 2014 - 13:23:27 EST


On 09/19, Richard Weinberger wrote:
>
> Am 19.09.2014 17:37, schrieb Jeff Kirsher:
> >
> > See patch 1 of the series.
>
> I was not CC'ed...

Me too, and thus I don't understand this patch.

But I have to admit it looks a bit ugly to me anyway.
Can't we simply kill _NSIG_WORDS_is_unsupported_size ?

Oleg.
---

diff --git a/include/linux/signal.h b/include/linux/signal.h
index 750196f..679c9b4 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -67,7 +67,6 @@ static inline int sigismember(sigset_t *set, int _sig)

static inline int sigisemptyset(sigset_t *set)
{
- extern void _NSIG_WORDS_is_unsupported_size(void);
switch (_NSIG_WORDS) {
case 4:
return (set->sig[3] | set->sig[2] |
@@ -77,7 +76,7 @@ static inline int sigisemptyset(sigset_t *set)
case 1:
return set->sig[0] == 0;
default:
- _NSIG_WORDS_is_unsupported_size();
+ BUILD_BUG();
return 0;
}
}
@@ -90,7 +89,6 @@ static inline int sigisemptyset(sigset_t *set)
#define _SIG_SET_BINOP(name, op) \
static inline void name(sigset_t *r, const sigset_t *a, const sigset_t *b) \
{ \
- extern void _NSIG_WORDS_is_unsupported_size(void); \
unsigned long a0, a1, a2, a3, b0, b1, b2, b3; \
\
switch (_NSIG_WORDS) { \
@@ -107,7 +105,7 @@ static inline void name(sigset_t *r, const sigset_t *a, const sigset_t *b) \
r->sig[0] = op(a0, b0); \
break; \
default: \
- _NSIG_WORDS_is_unsupported_size(); \
+ BUILD_BUG(); \
} \
}

@@ -128,8 +126,6 @@ _SIG_SET_BINOP(sigandnsets, _sig_andn)
#define _SIG_SET_OP(name, op) \
static inline void name(sigset_t *set) \
{ \
- extern void _NSIG_WORDS_is_unsupported_size(void); \
- \
switch (_NSIG_WORDS) { \
case 4: set->sig[3] = op(set->sig[3]); \
set->sig[2] = op(set->sig[2]); \
@@ -137,7 +133,7 @@ static inline void name(sigset_t *set) \
case 1: set->sig[0] = op(set->sig[0]); \
break; \
default: \
- _NSIG_WORDS_is_unsupported_size(); \
+ BUILD_BUG(); \
} \
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/