1 /* Excess precision tests. Test excess precision of constants. */ 2 /* { dg-do run } */ 3 /* { dg-options "-O2 -mfpmath=387 -fexcess-precision=standard" } */ 4 5 #include <float.h> 6 7 extern void abort (void); 8 extern void exit (int); 9 10 volatile long double ldadd1 = 1.0l + 0x1.0p-30l; 11 volatile long double ld11f = 1.1f; 12 volatile long double ld11d = 1.1; 13 volatile long double ld11 = 1.1; 14 15 void test_const(void)16test_const (void) 17 { 18 if (1.0f + 0x1.0p-30f != ldadd1) 19 abort (); 20 if (ld11f != ld11) 21 abort (); 22 if (ld11d != ld11) 23 abort (); 24 if (1.1f != ld11) 25 abort (); 26 } 27 28 int main(void)29main (void) 30 { 31 test_const (); 32 exit (0); 33 } 34