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)8 static _Bool fresi(le16 a)     { return a; }
frese(le16 a)9 static _Bool frese(le16 a)     { return (_Bool)a; }
fstsi(struct s a)10 static _Bool fstsi(struct s a) { return a; }
fstse(struct s a)11 static _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