PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / excess-precision-5.c
blob1cc7e589cfa3a65c5eee03bea3984ea214b41ca4
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" } */
6 float f;
7 double d;
9 void
10 test_types (void)
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);