43 lines
559 B
C
43 lines
559 B
C
/* { 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;
|
|
}
|
|
|