1 typedef unsigned short __attribute__((bitwise)) le16; 2 struct s { 3 int a:2; 4 int b:2; 5 int c:2; 6 }; 7 fresi(le16 a)8static _Bool fresi(le16 a) { return a; } frese(le16 a)9static _Bool frese(le16 a) { return (_Bool)a; } fstsi(struct s a)10static _Bool fstsi(struct s a) { return a; } fstse(struct s a)11static _Bool fstse(struct s a) { return (_Bool)a; } 12 13 /* 14 * check-name: bool-cast-bad.c 15 * check-command: sparse $file 16 * 17 * check-error-start 18 bool-cast-bad.c:10:41: warning: incorrect type in return expression (different base types) 19 bool-cast-bad.c:10:41: expected bool 20 bool-cast-bad.c:10:41: got struct s a 21 bool-cast-bad.c:11:42: warning: cast from non-scalar 22 * check-error-end 23 */ 24