Re: [PATCH] sparse: Fix BUILD_BUG_ON_{ZERO,NULL} definitions

From: Randy Dunlap
Date: Fri Jun 24 2011 - 18:29:00 EST


On Fri, 24 Jun 2011 22:45:12 +0100 Ben Hutchings wrote:

> Commit 903c0c7cdc21f2ccb7562a7bbc70289c0c2b16ad ('sparse: define dummy
> BUILD_BUG_ON definition for sparse') left these two broken. The ZERO
> or NULL suffix specifies what the macro should expand to, not the
> value that would indicate a bug.
>
> Signed-off-by: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx>
> ---
> sparse currently reports a syntax error and no useful warnings for any
> source file which uses one of these macros. Since module_param() uses
> BUILD_BUG_ON_ZERO(), that's a lot of source files.
>
> Ben.

This patch from 2011-MAY-30 also fixes these warnings, but the typecasting
in yours is probably better. :)

http://marc.info/?l=linux-kernel&m=130677145629121&w=2

Wait, 3.0-rc4 already has the above patch. Is yours still needed?


> include/linux/kernel.h | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index fb0e732..fccd366 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -671,8 +671,8 @@ struct sysinfo {
>
> #ifdef __CHECKER__
> #define BUILD_BUG_ON_NOT_POWER_OF_2(n)
> -#define BUILD_BUG_ON_ZERO(e)
> -#define BUILD_BUG_ON_NULL(e)
> +#define BUILD_BUG_ON_ZERO(e) ((size_t)0)
> +#define BUILD_BUG_ON_NULL(e) ((void *)0)
> #define BUILD_BUG_ON(condition)
> #else /* __CHECKER__ */
>
> --


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
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/