This test depends on the header <limits.h> which itself depends on some macros being defined by the compiler. Now these macros are predefined (at least the obvious ones) but it's annoying for the tests to depends on external things like this header. Remove this dependence by rewriting the test to use the predefined macros directly. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- validation/builtin_char_bit.c | 7 ------- validation/preprocessor/predef-char-bit.c | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 7 deletions(-) delete mode 100644 validation/builtin_char_bit.c create mode 100644 validation/preprocessor/predef-char-bit.c diff --git a/validation/builtin_char_bit.c b/validation/builtin_char_bit.c deleted file mode 100644 index 30e6bed46..000000000 --- a/validation/builtin_char_bit.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <limits.h> - -static unsigned int word_bits = sizeof(unsigned int) * CHAR_BIT; - -/* - * check-name: __CHAR_BIT__ - */ diff --git a/validation/preprocessor/predef-char-bit.c b/validation/preprocessor/predef-char-bit.c new file mode 100644 index 000000000..fed0166e4 --- /dev/null +++ b/validation/preprocessor/predef-char-bit.c @@ -0,0 +1,16 @@ +#define TEST_BIT(X, T) if (__ ## X ## _BIT__ != 8 * sizeof(T)) return 1 + +int test(void) +{ + TEST_BIT(CHAR, char); + + return 0; +} + +/* + * check-name: predefined __<type>_BIT__ + * check-command: test-linearize -Wno-decl $file + * check-output-ignore + * + * check-output-contains: ret\\..*\\$0 + */ -- 2.12.0 -- 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