From 20ded7a68b10f9c2d1aaa94e89df494bf0ce41a0 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 29 Oct 2008 17:05:42 +0000 Subject: re PR middle-end/36578 (cast to long double not taken into account when result stored to a double) PR middle-end/36578 * convert.c (convert_to_real): Do not optimize conversions of binary arithmetic operations between binary and decimal floating-point types. Consider mode of target type in determining decimal type for arithmetic. Unless flag_unsafe_math_optimizations, do not optimize binary conversions where this may change rounding behavior. * real.c (real_can_shorten_arithmetic): New. * real.h (real_can_shorten_arithmetic): Declare. testsuite: * gcc.dg/dfp/convert-bfp-13.c, gcc.dg/dfp/convert-bfp-14.c, gcc.dg/dfp/convert-dfp-fold-2.c, gcc.target/i386/pr36578-1.c, gcc.target/i386/pr36578-2.c: New tests. From-SVN: r141432 --- gcc/ChangeLog | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gcc/ChangeLog') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a0f5ec..1270ebc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2008-10-29 Joseph Myers + + PR middle-end/36578 + * convert.c (convert_to_real): Do not optimize conversions of + binary arithmetic operations between binary and decimal + floating-point types. Consider mode of target type in determining + decimal type for arithmetic. Unless + flag_unsafe_math_optimizations, do not optimize binary conversions + where this may change rounding behavior. + * real.c (real_can_shorten_arithmetic): New. + * real.h (real_can_shorten_arithmetic): Declare. + 2008-10-29 Bernd Schmidt * config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315, -- cgit v1.1