1 /* { dg-do link } */ 2 3 extern void link_error (); 4 a(int x)5void a (int x) { 6 if (~ (~x) - x) 7 link_error (); 8 } b(int x)9void b (int x) { 10 if (- (-x) - x) 11 link_error (); 12 } 13 c(int x)14void c (int x) { 15 if (!(- (~x) - x)) 16 link_error (); 17 } 18 d(int x)19void d (int x) { 20 if (!(~ (-x) - x)) 21 link_error (); 22 } 23 e(int x)24void e (int x) { 25 if (x + ~(x - 1)) 26 link_error (); 27 } 28 f(int x)29void f (int x) { 30 if (x + ~(x + (-1))) 31 link_error (); 32 } 33 main(int argc,char * argv[])34int main (int argc, char *argv[]) { 35 a(argc); 36 b(argc); 37 c(argc); 38 d(argc); 39 e(argc); 40 f(argc); 41 return 0; 42 } 43