[PATCH 5/5] do not depends on limits.h to test __CHAR_BIT__

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux