1/* Excess precision tests. Verify excess precision doesn't affect 2 actual types. */ 3/* { dg-do compile } */ 4/* { dg-options "-mfpmath=387 -fexcess-precision=standard" } */ 5 6float f; 7double d; 8 9void 10test_types (void) 11{ 12 float *fp; 13 double *dp; 14#define CHECK_FLOAT(E) fp = &(typeof(E)){0} 15#define CHECK_DOUBLE(E) dp = &(typeof(E)){0} 16 CHECK_FLOAT (f + f); 17 CHECK_DOUBLE (d + d); 18 CHECK_FLOAT (f * f / f); 19 CHECK_DOUBLE (d * d / d); 20 CHECK_FLOAT (f ? f - f : f); 21 CHECK_DOUBLE (d ? d - d : d); 22} 23