From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21494 invoked by alias); 21 Feb 2010 17:43:56 -0000 Received: (qmail 21361 invoked by alias); 21 Feb 2010 17:43:35 -0000 Date: Sun, 21 Feb 2010 17:43:00 -0000 Message-ID: <20100221174335.21360.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c/43128] [4.5 Regression] c-c++-common/pr41779.c doesn't work In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "joseph at codesourcery dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-02/txt/msg02166.txt.bz2 ------- 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