Merged with mainline at revision 128810.
[official-gcc.git] / gcc / testsuite / gcc.dg / dfp / convert-bfp-10.c
blobdec7b515fcf77b8a169932f2200e584a6eef7809
1 /* { dg-options "-std=gnu99" } */
3 /* This test assumes IEEE float and double. */
5 #define __STDC_WANT_DEC_FP__
6 #include <float.h>
8 #include "convert.h"
10 volatile _Decimal32 sd;
11 volatile _Decimal64 dd;
12 volatile _Decimal128 td;
13 volatile float sf;
14 volatile double df;
16 /* Conversions using denormalized float values. */
17 CONVERT_VALID (111, sf, sd, 1.2e-38f, 1.2e-38df, 0.df)
18 CONVERT_VALID (112, sf, sd, 1.1e-38f, 1.1e-38df, 0.df)
19 CONVERT_VALID (113, sf, sd, 1.1e-40f, 1.1e-40df, 1.1e-45df)
21 CONVERT_VALID (121, sd, sf, 1.2e-38df, 1.2e-38f, 0.f)
22 CONVERT_VALID (122, sd, sf, 1.1e-38df, 1.1e-38f, 0.f)
24 CONVERT_VALID (131, sf, sd, -1.2e-38f, -1.2e-38df, 0.df)
25 CONVERT_VALID (132, sf, sd, -1.1e-38f, -1.1e-38df, 0.df)
27 CONVERT_VALID (141, sd, sf, -1.2e-38df, -1.2e-38f, 0.f)
28 CONVERT_VALID (142, sd, sf, -1.1e-38df, -1.1e-38f, 0.f)
30 /* Conversions using denormalized double values. */
31 CONVERT_VALID (211, df, sd, 1.2e-38, 1.2e-38df, 0.df)
32 CONVERT_VALID (212, df, sd, 1.1e-38, 1.1e-38df, 0.df)
33 CONVERT_VALID (213, df, sd, 1.e-40, 1.e-40df, 0.df)
34 CONVERT_VALID (214, df, sd, 8.e-44, 8.e-44df, 0.df)
35 CONVERT_VALID (215, df, sd, 9.e-44, 9.e-44df, 0.df)
36 CONVERT_VALID (216, df, sd, 8.e-46, 8.e-46df, 0.df)
37 CONVERT_VALID (217, df, sd, 7.e-46, 7.e-46df, 0.df)
39 CONVERT_VALID (221, sd, df, 1.2e-38df, 1.2e-38, 1.e-53)
40 CONVERT_VALID (222, sd, df, 1.1e-38df, 1.1e-38, 1.e-53)
41 CONVERT_VALID (223, sd, df, 1.e-40df, 1.e-40, 0.)
42 CONVERT_VALID (224, sd, df, 8.e-44df, 8.e-44, 0.)
43 CONVERT_VALID (225, sd, df, 9.e-44df, 9.e-44, 0.)
44 CONVERT_VALID (226, sd, df, 8.e-46df, 8.e-46, 0.)
45 CONVERT_VALID (227, sd, df, 7.e-46df, 7.e-46, 0.)
47 CONVERT_VALID (231, df, sd, -1.2e-38, -1.2e-38df, 0.df)
48 CONVERT_VALID (232, df, sd, -1.1e-38f, -1.1e-38df, 0.df)
49 CONVERT_VALID (233, df, sd, -1.e-40, -1.e-40df, 0.df)
50 CONVERT_VALID (234, df, sd, -8.e-44, -8.e-44df, 0.df)
51 CONVERT_VALID (235, df, sd, -9.e-44, -9.e-44df, 0.df)
52 CONVERT_VALID (236, df, sd, -8.e-46, -8.e-46df, 0.df)
53 CONVERT_VALID (237, df, sd, -7.e-46, -7.e-46df, 0.df)
55 CONVERT_VALID (241, sd, df, -1.2e-38df, -1.2e-38, 1.e-53)
56 CONVERT_VALID (242, sd, df, -1.1e-38df, -1.1e-38, 1.e-53)
57 CONVERT_VALID (243, sd, df, -1.e-40df, -1.e-40, 0.)
58 CONVERT_VALID (244, sd, df, -8.e-44df, -8.e-44, 0.)
59 CONVERT_VALID (245, sd, df, -9.e-44df, -9.e-44, 0.)
60 CONVERT_VALID (246, sd, df, -8.e-46df, -8.e-46, 0.)
61 CONVERT_VALID (247, sd, df, -7.e-46df, -7.e-46, 0.)
63 int
64 main ()
66 convert_111 ();
67 convert_112 ();
68 convert_113 ();
70 convert_121 ();
71 convert_122 ();
73 convert_131 ();
74 convert_132 ();
76 convert_141 ();
77 convert_142 ();
79 convert_211 ();
80 convert_212 ();
81 convert_213 ();
82 convert_214 ();
83 convert_215 ();
84 convert_216 ();
85 convert_217 ();
87 convert_221 ();
88 convert_222 ();
89 convert_223 ();
90 convert_224 ();
91 convert_225 ();
92 convert_226 ();
93 convert_227 ();
95 convert_231 ();
96 convert_232 ();
97 convert_233 ();
98 convert_234 ();
99 convert_235 ();
100 convert_236 ();
101 convert_237 ();
103 convert_241 ();
104 convert_242 ();
105 convert_243 ();
106 convert_244 ();
107 convert_245 ();
108 convert_246 ();
109 convert_247 ();
111 if (failcnt != 0)
112 abort ();
113 return 0;