OSDN Git Service

* gcc.dg/nodfp-1.c: New test.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / dfp / convert-dfp-fold.c
1 /* { dg-do compile } */
2 /* { dg-options "-std=gnu99 -O" } */
3
4 /* N1150 5.2 Conversions among decimal floating types and between
5    decimal floating types and generic floating types.
6    C99 6.3.1.5(3) New.  */
7
8 extern void link_error ();
9
10 int
11 main ()
12 {
13   _Decimal32 d32;
14   _Decimal64 d64;
15   _Decimal128 d128;
16
17   /* Conversions to larger types.  */
18   d32 = 123.4df;
19   d64 = d32;
20   if (d64 != 123.4dd)
21     link_error ();
22   d128 = d32;
23   if (d128 != 123.4dl)
24     link_error ();
25   d64 = 345.678dd;
26   d128 = d64;
27   if (d128 != 345.678dl)
28     link_error ();
29
30   /* Conversions to smaller types for which the value fits.  */
31   d64 = 3456.789dd;
32   d32 = d64;
33   if (d32 != 3456.789df)
34     link_error ();
35   d128 = 123.4567dl;
36   d32 = d128;
37   if (d32 != 123.4567dl)
38     link_error ();
39
40   d128 = 1234567890.123456dl;
41   d64 = d128;
42   if (d64 != 1234567890.123456dd)
43     link_error ();
44
45   return 0;
46 }