| extern int fun(void); |
| typedef unsigned int u32; |
| typedef int s32; |
| typedef void *vdp; |
| typedef int *sip; |
| typedef double dbl; |
| typedef unsigned short __attribute__((bitwise)) le16; |
| |
| static _Bool fs32_i(s32 a) { return a; } |
| static _Bool fs32_e(s32 a) { return (_Bool)a; } |
| static _Bool fu32_i(u32 a) { return a; } |
| static _Bool fu32_e(u32 a) { return (_Bool)a; } |
| static _Bool fvdp_i(vdp a) { return a; } |
| static _Bool fvdp_e(vdp a) { return (_Bool)a; } |
| static _Bool fsip_i(sip a) { return a; } |
| static _Bool fsip_e(sip a) { return (_Bool)a; } |
| static _Bool ffun_i(void) { return fun; } |
| static _Bool ffun_e(void) { return (_Bool)fun; } |
| static _Bool fres_i(le16 a) { return a; } |
| static _Bool fres_e(le16 a) { return (_Bool)a; } |
| static _Bool fdbl_i(dbl a) { return a; } |
| static _Bool fdbl_e(dbl a) { return (_Bool)a; } |
| |
| /* |
| * check-name: bool-cast |
| * check-command: test-linearize -m64 -fdump-ir=linearize $file |
| * check-assert: sizeof(void*) == 8 && sizeof(long) == 8 && sizeof(double) == 8 |
| * |
| * check-output-ignore |
| * check-output-excludes: cast\\. |
| * check-output-excludes: fcvt[us]\\. |
| * check-output-excludes: ptrtu\\. |
| * check-output-excludes: [sz]ext\\. |
| * check-output-excludes: trunc\\. |
| * check-output-pattern(12): setne\\. |
| * check-output-pattern(2): fcmpune\\. |
| */ |