1/* { dg-xfail-run-if "" { lax_strtofp } "*" "" } */ 2/* { dg-options "-w" } */ 3 4/* This test assumes IEEE float and double. */ 5 6#define __STDC_WANT_DEC_FP__ 7#include <float.h> 8 9#include "convert.h" 10 11volatile _Decimal32 sd; 12volatile _Decimal64 dd; 13volatile _Decimal128 td; 14volatile float sf; 15volatile double df; 16 17/* Exponent values that might cause problems with a particular 18 implementation. */ 19 20CONVERT_VALID (101, dd, df, 1.e309dd, 1.e309, 0.) 21CONVERT_VALID (102, dd, df, 1.e308dd, 1.e308, 0.) 22CONVERT_VALID (103, dd, df, 1.e307dd, 1.e307, 0.) 23CONVERT_VALID (104, dd, df, 1.e306dd, 1.e306, 0.) 24CONVERT_VALID (105, dd, df, 1.e305dd, 1.e305, 0.) 25CONVERT_VALID (106, dd, df, 1.e304dd, 1.e304, 0.) 26CONVERT_VALID (107, dd, df, 1.e303dd, 1.e303, 0.) 27CONVERT_VALID (108, dd, df, 1.e302dd, 1.e302, 0.) 28CONVERT_VALID (109, dd, df, 1.e301dd, 1.e301, 0.) 29CONVERT_VALID (110, dd, df, 1.e300dd, 1.e300, 0.) 30CONVERT_VALID (111, dd, df, 1.e299dd, 1.e299, 0.) 31CONVERT_VALID (112, dd, df, 1.e298dd, 1.e298, 0.) 32CONVERT_VALID (113, dd, df, 1.e297dd, 1.e297, 0.) 33CONVERT_VALID (114, dd, df, 1.e296dd, 1.e296, 0.) 34CONVERT_VALID (115, dd, df, 1.e295dd, 1.e295, 0.) 35CONVERT_VALID (116, dd, df, 1.e294dd, 1.e294, 0.) 36CONVERT_VALID (117, dd, df, 1.e293dd, 1.e293, 0.) 37CONVERT_VALID (118, dd, df, 1.e292dd, 1.e292, 0.) 38CONVERT_VALID (119, dd, df, 1.e291dd, 1.e291, 0.) 39CONVERT_VALID (120, dd, df, 1.e290dd, 1.e290, 0.) 40 41CONVERT_VALID (201, dd, df, 1.e-309dd, 1.e-309, 0.) 42CONVERT_VALID (202, dd, df, 1.e-308dd, 1.e-308, 0.) 43CONVERT_VALID (203, dd, df, 1.e-307dd, 1.e-307, 0.) 44CONVERT_VALID (204, dd, df, 1.e-306dd, 1.e-306, 0.) 45CONVERT_VALID (205, dd, df, 1.e-305dd, 1.e-305, 0.) 46CONVERT_VALID (206, dd, df, 1.e-304dd, 1.e-304, 0.) 47CONVERT_VALID (207, dd, df, 1.e-303dd, 1.e-303, 0.) 48CONVERT_VALID (208, dd, df, 1.e-302dd, 1.e-302, 0.) 49CONVERT_VALID (209, dd, df, 1.e-301dd, 1.e-301, 0.) 50CONVERT_VALID (210, dd, df, 1.e-300dd, 1.e-300, 0.) 51CONVERT_VALID (211, dd, df, 1.e-299dd, 1.e-299, 0.) 52CONVERT_VALID (212, dd, df, 1.e-298dd, 1.e-298, 0.) 53CONVERT_VALID (213, dd, df, 1.e-297dd, 1.e-297, 0.) 54CONVERT_VALID (214, dd, df, 1.e-296dd, 1.e-296, 0.) 55CONVERT_VALID (215, dd, df, 1.e-295dd, 1.e-295, 0.) 56CONVERT_VALID (216, dd, df, 1.e-294dd, 1.e-294, 0.) 57CONVERT_VALID (217, dd, df, 1.e-293dd, 1.e-293, 0.) 58CONVERT_VALID (218, dd, df, 1.e-292dd, 1.e-292, 0.) 59CONVERT_VALID (219, dd, df, 1.e-291dd, 1.e-291, 0.) 60CONVERT_VALID (220, dd, df, 1.e-290dd, 1.e-290, 0.) 61 62CONVERT_VALID (301, td, df, 1.e309dl, 1.e309, 0.) 63CONVERT_VALID (302, td, df, 1.e308dl, 1.e308, 0.) 64CONVERT_VALID (303, td, df, 1.e307dl, 1.e307, 0.) 65CONVERT_VALID (304, td, df, 1.e306dl, 1.e306, 0.) 66CONVERT_VALID (305, td, df, 1.e305dl, 1.e305, 0.) 67CONVERT_VALID (306, td, df, 1.e304dl, 1.e304, 0.) 68CONVERT_VALID (307, td, df, 1.e303dl, 1.e303, 0.) 69CONVERT_VALID (308, td, df, 1.e302dl, 1.e302, 0.) 70CONVERT_VALID (309, td, df, 1.e301dl, 1.e301, 0.) 71CONVERT_VALID (310, td, df, 1.e300dl, 1.e300, 0.) 72CONVERT_VALID (311, td, df, 1.e299dl, 1.e299, 0.) 73CONVERT_VALID (312, td, df, 1.e298dl, 1.e298, 0.) 74CONVERT_VALID (313, td, df, 1.e297dl, 1.e297, 0.) 75CONVERT_VALID (314, td, df, 1.e296dl, 1.e296, 0.) 76CONVERT_VALID (315, td, df, 1.e295dl, 1.e295, 0.) 77CONVERT_VALID (316, td, df, 1.e294dl, 1.e294, 0.) 78CONVERT_VALID (317, td, df, 1.e293dl, 1.e293, 0.) 79CONVERT_VALID (318, td, df, 1.e292dl, 1.e292, 0.) 80CONVERT_VALID (319, td, df, 1.e291dl, 1.e291, 0.) 81CONVERT_VALID (320, td, df, 1.e290dl, 1.e290, 0.) 82 83CONVERT_VALID (401, td, df, 1.e-309dl, 1.e-309, 0.) 84CONVERT_VALID (402, td, df, 1.e-308dl, 1.e-308, 0.) 85CONVERT_VALID (403, td, df, 1.e-307dl, 1.e-307, 0.) 86CONVERT_VALID (404, td, df, 1.e-306dl, 1.e-306, 0.) 87CONVERT_VALID (405, td, df, 1.e-305dl, 1.e-305, 0.) 88CONVERT_VALID (406, td, df, 1.e-304dl, 1.e-304, 0.) 89CONVERT_VALID (407, td, df, 1.e-303dl, 1.e-303, 0.) 90CONVERT_VALID (408, td, df, 1.e-302dl, 1.e-302, 0.) 91CONVERT_VALID (409, td, df, 1.e-301dl, 1.e-301, 0.) 92CONVERT_VALID (410, td, df, 1.e-300dl, 1.e-300, 0.) 93CONVERT_VALID (411, td, df, 1.e-299dl, 1.e-299, 0.) 94CONVERT_VALID (412, td, df, 1.e-298dl, 1.e-298, 0.) 95CONVERT_VALID (413, td, df, 1.e-297dl, 1.e-297, 0.) 96CONVERT_VALID (414, td, df, 1.e-296dl, 1.e-296, 0.) 97CONVERT_VALID (415, td, df, 1.e-295dl, 1.e-295, 0.) 98CONVERT_VALID (416, td, df, 1.e-294dl, 1.e-294, 0.) 99CONVERT_VALID (417, td, df, 1.e-293dl, 1.e-293, 0.) 100CONVERT_VALID (418, td, df, 1.e-292dl, 1.e-292, 0.) 101CONVERT_VALID (419, td, df, 1.e-291dl, 1.e-291, 0.) 102CONVERT_VALID (420, td, df, 1.e-290dl, 1.e-290, 0.) 103 104int 105main () 106{ 107 convert_101 (); 108 convert_102 (); 109 convert_103 (); 110 convert_104 (); 111 convert_105 (); 112 convert_106 (); 113 convert_107 (); 114 convert_108 (); 115 convert_109 (); 116 convert_110 (); 117 convert_111 (); 118 convert_112 (); 119 convert_113 (); 120 convert_114 (); 121 convert_115 (); 122 convert_116 (); 123 convert_117 (); 124 convert_118 (); 125 convert_119 (); 126 convert_120 (); 127 128 convert_201 (); 129 convert_202 (); 130 convert_203 (); 131 convert_204 (); 132 convert_205 (); 133 convert_206 (); 134 convert_207 (); 135 convert_208 (); 136 convert_209 (); 137 convert_210 (); 138 convert_211 (); 139 convert_212 (); 140 convert_213 (); 141 convert_214 (); 142 convert_215 (); 143 convert_216 (); 144 convert_217 (); 145 convert_218 (); 146 convert_219 (); 147 convert_220 (); 148 149 convert_301 (); 150 convert_302 (); 151 convert_303 (); 152 convert_304 (); 153 convert_305 (); 154 convert_306 (); 155 convert_307 (); 156 convert_308 (); 157 convert_309 (); 158 convert_310 (); 159 convert_311 (); 160 convert_312 (); 161 convert_313 (); 162 convert_314 (); 163 convert_315 (); 164 convert_316 (); 165 convert_317 (); 166 convert_318 (); 167 convert_319 (); 168 convert_320 (); 169 170 convert_401 (); 171 convert_402 (); 172 convert_403 (); 173 convert_404 (); 174 convert_405 (); 175 convert_406 (); 176 convert_407 (); 177 convert_408 (); 178 convert_409 (); 179 convert_410 (); 180 convert_411 (); 181 convert_412 (); 182 convert_413 (); 183 convert_414 (); 184 convert_415 (); 185 convert_416 (); 186 convert_417 (); 187 convert_418 (); 188 convert_419 (); 189 convert_420 (); 190 191 FINISH 192} 193