OSDN Git Service

PR target/50740
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / excess-precision-5.c
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
6 float f;
7 double d;
8
9 void
10 test_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 }