diff options
-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 + */ |