------- Comment #12 from joseph at codesourcery dot com 2010-02-21 17:43 ------- Subject: Re: [4.5 Regression] c-c++-common/pr41779.c doesn't work
There is a technical bug here, in that the semantics I intended to implement and said I was implementing were that implicit conversions from integers to floating-point types result in a value representable in the new type. It's not the missing warning that's the bug - right now there is a conversion to long double of a value representable in long double, so the lack of warning is in accordance with the semantics implemented. What is a bug is that the semantics implemented as not as intended. That they are not proper excess precision semantics (and remember that no previous release had proper excess precision semantics, so this is barely a regression) relies on such implicit conversions not being "operations with floating operands" and so not being liable to have excess precision under 5.2.4.2.2 paragraph 8. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43128