From: "Emilio G. Cota" <cota@xxxxxxxxx> gcc defines __CHAR_BIT__ as a pre-defined macro. Define __CHAR_BIT__ in sparse so that code that needs it (e.g. code using CHAR_BIT from limits.h) does not generate false warnings. Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx> --- lib.c | 1 + validation/builtin_char_bit.c | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 validation/builtin_char_bit.c diff --git a/lib.c b/lib.c index fe20f93..bbdb9b7 100644 --- a/lib.c +++ b/lib.c @@ -911,6 +911,7 @@ void create_builtin_stream(void) add_pre_buffer("#weak_define __LONG_LONG_MAX__ " STRINGIFY(__LONG_LONG_MAX__) "\n"); add_pre_buffer("#weak_define __WCHAR_MAX__ " STRINGIFY(__WCHAR_MAX__) "\n"); add_pre_buffer("#weak_define __SIZEOF_POINTER__ " STRINGIFY(__SIZEOF_POINTER__) "\n"); + add_pre_buffer("#weak_define __CHAR_BIT__ " STRINGIFY(__CHAR_BIT__) "\n"); } static struct symbol_list *sparse_tokenstream(struct token *token) diff --git a/validation/builtin_char_bit.c b/validation/builtin_char_bit.c new file mode 100644 index 0000000..30e6bed --- /dev/null +++ b/validation/builtin_char_bit.c @@ -0,0 +1,7 @@ +#include <limits.h> + +static unsigned int word_bits = sizeof(unsigned int) * CHAR_BIT; + +/* + * check-name: __CHAR_BIT__ + */ -- 1.8.3 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html