/* { dg-do link } */ | |
/* { dg-options "-O2" } */ | |
extern void link_error (void); | |
void test(int x) | |
{ | |
if ((x & ~x) != 0) | |
link_error (); | |
if ((~x & x) != 0) | |
link_error (); | |
if ((x ^ ~x) != -1) | |
link_error (); | |
if ((~x ^ x) != -1) | |
link_error (); | |
if ((x | ~x) != -1) | |
link_error (); | |
if ((~x | x) != -1) | |
link_error (); | |
if (x && !x) | |
link_error (); | |
if (!x && x) | |
link_error (); | |
if (!(x || !x)) | |
link_error (); | |
if (!(!x || x)) | |
link_error (); | |
} | |
int main() | |
{ | |
test (0); | |
test (1); | |
test (-1); | |
return 0; | |
} | |