/* { 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; }