1 2 const double dnan = 1.0/0.0 - 1.0/0.0; 3 double x = 1.0; 4 5 extern void link_error (void); 6 extern void abort (void); 7 main()8main () 9 { 10 #if ! defined (__vax__) && ! defined (_CRAY) 11 /* NaN is an IEEE unordered operand. All these test should be false. */ 12 if (dnan == dnan) 13 link_error (); 14 if (dnan != x) 15 x = 1.0; 16 else 17 link_error (); 18 19 if (dnan < x) 20 link_error (); 21 if (dnan > x) 22 link_error (); 23 if (dnan <= x) 24 link_error (); 25 if (dnan >= x) 26 link_error (); 27 if (dnan == x) 28 link_error (); 29 #endif 30 exit (0); 31 } 32 33 #ifndef __OPTIMIZE__ link_error(void)34void link_error (void) 35 { 36 abort (); 37 } 38 #endif 39 40