aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-12-08 23:46:50 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-12-17 02:50:24 +0100
commit9b2e1eb4be1b31cf580243b48add6e74cc5b5148 (patch)
tree8c5387e395dcbc094107755679224af6a3425968 /validation
parent7f6221f9b4a6d0f392bebc0a2b7e311b7cacf17b (diff)
downloadsparse-dev-9b2e1eb4be1b31cf580243b48add6e74cc5b5148.tar.gz
make predefined_type_size() more generic
This allows to have a single function to output the size, the type, the maximal value, ... Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation')
-rw-r--r--validation/preprocessor/predef-unsigned.c9
-rw-r--r--validation/preprocessor/predef.c3
2 files changed, 12 insertions, 0 deletions
diff --git a/validation/preprocessor/predef-unsigned.c b/validation/preprocessor/predef-unsigned.c
new file mode 100644
index 00000000..0ae4d165
--- /dev/null
+++ b/validation/preprocessor/predef-unsigned.c
@@ -0,0 +1,9 @@
+#include "predef.c"
+
+/*
+ * check-name: predefined macros for -funsigned-char
+ * check-command: test-linearize -Wno-decl -funsigned-char $file
+ * check-output-ignore
+ *
+ * check-output-contains: ret\\..*\\$0
+ */
diff --git a/validation/preprocessor/predef.c b/validation/preprocessor/predef.c
index ccb5d361..298bdd93 100644
--- a/validation/preprocessor/predef.c
+++ b/validation/preprocessor/predef.c
@@ -17,6 +17,8 @@ int test(void)
TEST_SMAX(INT, int);
TEST_SMAX(LONG, long);
TEST_SMAX(LONG_LONG, long long);
+ TEST_SMAX(PTRDIFF, __PTRDIFF_TYPE__);
+ TEST_UMAX(SIZE, __SIZE_TYPE__);
#define TEST_SIZEOF(X, T) if (__SIZEOF_ ## X ## __ != sizeof(T)) return 1
TEST_SIZEOF(SHORT, short);
@@ -24,6 +26,7 @@ int test(void)
TEST_SIZEOF(LONG, long);
TEST_SIZEOF(LONG_LONG, long long);
TEST_SIZEOF(INT128, __int128);
+ TEST_SIZEOF(PTRDIFF_T, __PTRDIFF_TYPE__);
TEST_SIZEOF(SIZE_T, __SIZE_TYPE__);
TEST_SIZEOF(POINTER, void*);
TEST_SIZEOF(FLOAT, float);