From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6612A3858D3C; Tue, 4 Oct 2022 17:30:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6612A3858D3C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664904657; bh=DQ07WV+yCxAsHquKYECEX3aCEoXPK0hJKHHYnTzS0/4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=fHnU4D0rnX/m9/vOp+qVyvwWa74j9qV/EppiAe+Hy4BW0cwCocRyxRkD2srqDa6v+ TqpbHY8AmSACNdcfD9b4abMWLSrVp7K5YD8aJ/pi9WmZguMn6JUZrd6cyhWkBzkwzO PkBQUL2ymPH4lt/p/7va3GGvhzTe3ko3ClskeIHY= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/107097] Implement floating point excess precision in C++ Date: Tue, 04 Oct 2022 17:30:57 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107097 --- Comment #3 from Jakub Jelinek --- The code is different though. C has that case EQ_EXPR: case NE_EXPR: case LE_EXPR: case GE_EXPR: case LT_EXPR: case GT_EXPR: /* Excess precision for implicit conversions of integers to floating point in C11 and later. */ may_need_excess_precision =3D (flag_isoc11 && (ANY_INTEGRAL_TYPE_P (type0) || ANY_INTEGRAL_TYPE_P (type1))); break; part in which is from PR82071 and I can't find in the C++ standard a similar change to what has changed from C99 to C11. If you mean to share just case PLUS_EXPR: case MINUS_EXPR: case MULT_EXPR: case TRUNC_DIV_EXPR: case CEIL_DIV_EXPR: case FLOOR_DIV_EXPR: case ROUND_DIV_EXPR: case EXACT_DIV_EXPR: then that sounds something not worth sharing to me.=