| typedef unsigned short __attribute__((bitwise)) le16; |
| struct s { |
| int a:2; |
| int b:2; |
| int c:2; |
| }; |
| |
| static _Bool fresi(le16 a) { return a; } |
| static _Bool frese(le16 a) { return (_Bool)a; } |
| static _Bool fstsi(struct s a) { return a; } |
| static _Bool fstse(struct s a) { return (_Bool)a; } |
| |
| /* |
| * check-name: bool-cast-bad.c |
| * check-command: sparse $file |
| * |
| * check-error-start |
| bool-cast-bad.c:10:41: warning: incorrect type in return expression (different base types) |
| bool-cast-bad.c:10:41: expected bool |
| bool-cast-bad.c:10:41: got struct s a |
| bool-cast-bad.c:11:42: warning: cast from non-scalar |
| * check-error-end |
| */ |