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