From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id DB8C33858C2D; Mon, 23 Oct 2023 10:55:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB8C33858C2D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1698058548; bh=qJ2UkEa0GR7+kB+T+2PmhwRsogVmz5d6EweLbO/vjEA=; h=From:To:Subject:Date:In-Reply-To:References:From; b=BB945smSr+evt8V61ZC0C+7QLI5e+qukOQ+OZjvKQKPfrtUeRQP+cdBmAibZP6H6H VzIeGBWkZjF6Yk/S3GwQEFdjffSMwiSl18CQdHU5IfDOkV7gWK8T0TgqDD85BjSHcO SH0yPZvK2j2a5ehL8DC67Xx5As2Rn1BrFvnlElkg= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/111903] [14 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in create_tmp_from_val, at gimplify.cc:567 with -mno-sse2 and _Float16 Date: Mon, 23 Oct 2023 10:55:48 +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: 14.0 X-Bugzilla-Keywords: error-recovery, ice-checking, ice-on-invalid-code, patch 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: pinskia at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D111903 --- Comment #5 from CVS Commits --- The trunk branch has been updated by Andrew Pinski : https://gcc.gnu.org/g:85e930ac8557c444680b5b29a0a13a14ea6672b5 commit r14-4859-g85e930ac8557c444680b5b29a0a13a14ea6672b5 Author: Andrew Pinski Date: Fri Oct 20 14:49:32 2023 -0700 Use error_mark_node after error in convert While working on PR c/111903, I Noticed that convert will convert integer_zero_node to that type after an error instead of returning error_mark_node. From what I can tell this was the old way of not having error recovery since other places in this file does return error_mark_node and the places I am replacing date from when the file was imported into the repro (either via a gcc2 merge or earlier). I also had to update the objc front-end to allow for the error_mark_node change, I suspect you could hit the ICE without this change though. Bootstrapped and tested on x86_64-linux-gnu with no regressions. gcc/ChangeLog: * convert.cc (convert_to_pointer_1): Return error_mark_node after an error. (convert_to_real_1): Likewise. (convert_to_integer_1): Likewise. (convert_to_complex_1): Likewise. gcc/objc/ChangeLog: * objc-gnu-runtime-abi-01.cc (build_objc_method_call): Allow for error_operand after call to build_c_cast. * objc-next-runtime-abi-01.cc (build_objc_method_call): Likewis= e. * objc-next-runtime-abi-02.cc (build_v2_build_objc_method_call): Likewise.=