struct_assignment: handle memcpy(foo, ...) where foo is not a struct
[smatch.git] / validation / ioc-typecheck.c
blobaa060f7be185742cb79a7ee9262db92bdc2cd82d
1 extern unsigned int __invalid_size_argument_for_IOC;
2 #define _IOC_TYPECHECK(t) \
3 ((sizeof(t) == sizeof(t[1]) && \
4 sizeof(t) < (1 << 14)) ? \
5 sizeof(t) : __invalid_size_argument_for_IOC)
7 #define TEST_IOCTL (50 | (_IOC_TYPECHECK(unsigned) << 8))
9 static unsigned iocnrs[] = {
10 [TEST_IOCTL & 0xff] = 1,
13 * check-name: correct handling of _IOC_TYPECHECK
15 * check-error-start
16 * check-error-end