diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-03-27 14:27:18 +0200 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-03-27 15:20:54 +0200 |
| commit | 5466cf8f31f82cc78dd0e7d9056ef0d224dd3be8 (patch) | |
| tree | c021a1a04cc1749840fa8011a0d4d53613474877 /validation/preprocessor | |
| parent | 4fae9be00c8860a293d12500020adcffd598b15f (diff) | |
| download | sparse-dev-5466cf8f31f82cc78dd0e7d9056ef0d224dd3be8.tar.gz | |
predefine __SIZEOF_INT__ & friends
Some tests or some code depends on these macros being predefined
by the compiler.
Predefine them.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/preprocessor')
| -rw-r--r-- | validation/preprocessor/predef-sizeof.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/validation/preprocessor/predef-sizeof.c b/validation/preprocessor/predef-sizeof.c new file mode 100644 index 00000000..12be2dd1 --- /dev/null +++ b/validation/preprocessor/predef-sizeof.c @@ -0,0 +1,25 @@ +#define TEST(X, T) if (__SIZEOF_ ## X ## __ != sizeof(T)) return 1 + +int test_sizeof(void) +{ + TEST(SHORT, short); + TEST(INT, int); + TEST(LONG, long); + TEST(LONG_LONG, long long); + TEST(INT128, __int128); + TEST(SIZE_T, __SIZE_TYPE__); + TEST(POINTER, void*); + TEST(FLOAT, float); + TEST(DOUBLE, double); + TEST(LONG_DOUBLE, long double); + + return 0; +} + +/* + * check-name: predefined __SIZEOF_<type>__ + * check-command: test-linearize -Wno-decl $file + * check-output-ignore + * + * check-output-contains: ret\\..*\\$0 + */ |
