diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-08-12 21:04:03 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-08-12 21:05:50 +0200 |
commit | fc064f991e3936dff22a986c5eec10484e27fa53 (patch) | |
tree | f0eedc85511e4f64989e0a46976cad5bd22361b0 | |
parent | 65ba62230b88bcc2d570418b88f2dc0152822a36 (diff) | |
parent | 5d038837ebeab6bf7da664487bfcc372baef5176 (diff) | |
download | sparse-fc064f991e3936dff22a986c5eec10484e27fa53.tar.gz |
Merge branch 'fix-scalar'
* fouled types are scalars too (fix is_{scalar,integral}_type()
-rw-r--r-- | symbol.h | 2 | ||||
-rw-r--r-- | validation/foul-scalar.c | 13 |
2 files changed, 15 insertions, 0 deletions
@@ -463,6 +463,7 @@ static inline int is_scalar_type(struct symbol *type) case SYM_BITFIELD: case SYM_PTR: case SYM_RESTRICT: // OK, always integer types + case SYM_FOULED: // idem return 1; default: break; @@ -483,6 +484,7 @@ static inline bool is_integral_type(struct symbol *type) case SYM_ENUM: case SYM_PTR: case SYM_RESTRICT: // OK, always integer types + case SYM_FOULED: // idem return 1; default: break; diff --git a/validation/foul-scalar.c b/validation/foul-scalar.c new file mode 100644 index 00000000..8e053b96 --- /dev/null +++ b/validation/foul-scalar.c @@ -0,0 +1,13 @@ +#define __bitwise __attribute__((bitwise)) + +typedef unsigned short __bitwise __be16; + +static void foo(__be16 x) +{ + if (~x) + ; +} + +/* + * check-name: foul-scalar + */ |