43 lines
495 B
C
43 lines
495 B
C
|
/* { dg-do link } */
|
||
|
|
||
|
extern void link_error ();
|
||
|
|
||
|
void a (int x) {
|
||
|
if (~ (~x) - x)
|
||
|
link_error ();
|
||
|
}
|
||
|
void b (int x) {
|
||
|
if (- (-x) - x)
|
||
|
link_error ();
|
||
|
}
|
||
|
|
||
|
void c (int x) {
|
||
|
if (!(- (~x) - x))
|
||
|
link_error ();
|
||
|
}
|
||
|
|
||
|
void d (int x) {
|
||
|
if (!(~ (-x) - x))
|
||
|
link_error ();
|
||
|
}
|
||
|
|
||
|
void e (int x) {
|
||
|
if (x + ~(x - 1))
|
||
|
link_error ();
|
||
|
}
|
||
|
|
||
|
void f (int x) {
|
||
|
if (x + ~(x + (-1)))
|
||
|
link_error ();
|
||
|
}
|
||
|
|
||
|
int main (int argc, char *argv[]) {
|
||
|
a(argc);
|
||
|
b(argc);
|
||
|
c(argc);
|
||
|
d(argc);
|
||
|
e(argc);
|
||
|
f(argc);
|
||
|
return 0;
|
||
|
}
|