1 /* { dg-options "-O2" } */
2 
3 /* C99 6.5.5: Multiplicative operators.
4    C99 6.5.6: Additive operators.  */
5 
6 #include "dfp-dbg.h"
7 
8 extern void link_error (void);
9 
10 int
main()11 main ()
12 {
13   _Decimal32 d32_1, d32_2;
14 
15   /* Compare like-typed positive constants. */
16   if (2.99df + 5.1df != 8.09df)
17     link_error ();
18 
19   if (5.77df - 2.22dd != 3.55df)
20     link_error ();
21 
22   if (2.0dl * 3.7dd * -2 != -14.8df)
23     link_error ();
24 
25   if (.18df / -.2df + 1 != 1.e-1dd)
26     link_error ();
27 
28   d32_1 = 3.0df;
29   d32_2 = 1.0df;
30 
31   if (!__builtin_constant_p (d32_1 + 0.2df))
32     link_error ();
33 
34   if (!__builtin_constant_p (1.0df / 3.0df))
35     link_error ();
36 
37   if (!__builtin_constant_p (d32_2 / d32_1))
38     link_error ();
39 
40   d32_2 = 2.0df;
41   if (!__builtin_constant_p (d32_2 / d32_1))
42     link_error ();
43 
44   return 0;
45 }
46