From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 06EDA39450ED; Fri, 27 Mar 2020 09:03:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 06EDA39450ED DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1585299820; bh=oWClqB+Is3xC0R/UczDv9Oj5DMjmRP+MNpGf3WZ1wDY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=AnIPOP575GIF7K2AF5aUN1TprLmdWuCAvdgI7/cTUhwMlexcvQ2PuBcTcIedo+GoB Bcx2Atly7B6HyuH3m4tk8RAw48e1n4NF+CHCBjXf9O1IfH95RykqJNE8GzIqmfHQ7U GJTqAfK+Go27g7McefbADQIW1BmhveXIwO1sqasM= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/94339] [10 regression] ICE in tree_class_check_failed since r10-7344-gca6c722561ce9b9d Date: Fri, 27 Mar 2020 09:03:39 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org X-Bugzilla-Target-Milestone: 10.0 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Mar 2020 09:03:40 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94339 --- Comment #7 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:72809d6fe8e085440403ce125c51d01d6e7512b0 commit r10-7410-g72809d6fe8e085440403ce125c51d01d6e7512b0 Author: Jakub Jelinek Date: Fri Mar 27 10:00:47 2020 +0100 c++: Handle COMPOUND_EXPRs in ocp_convert [PR94339] My recent change to get_narrower/warnings_for_convert_and_check broke the following testcase, warnings_for_convert_and_check is upset that expr is a COMPOUND_EXPR with INTEGER_CST at the rightmost operand, while result is a COMPOUND_EXPR with a NOP_EXPR of INTEGER_CST at the rightmo= st operand, it expects such conversions to be simplified. The easiest fix seems to be to handle COMPOUND_EXPRs in ocp_convert too, by converting the rightmost operand and recreating COMPOUND_EXPR(s) if = that changed. The attr-copy-2.C change is a workaround for PR94346, where we now ICE = on the testcase, while previously we'd ICE only if it contained a comma expression at the outer level rather than cast of a COMPOUND_EXPR to something. I'll defer that to Martin. 2020-03-27 Jakub Jelinek PR c++/94339 * cvt.c (ocp_convert): Handle COMPOUND_EXPR by recursion on the second operand and creating a new COMPOUND_EXPR if anything changed. * g++.dg/other/pr94339.C: New test. * g++.dg/ext/attr-copy-2.C: Comment out failing tests due to PR94346.=