[Bug c/119651] [13/14/15/16 Regression] internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in tree_nonzero_bits, at fold-const.cc:16702

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Feb 26 08:05:51 GMT 2026


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119651

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Roger Sayle <sayle@gcc.gnu.org>:

https://gcc.gnu.org/g:acbbdaf829a056ec1a20405742a3b6494db64dc7

commit r16-7710-gacbbdaf829a056ec1a20405742a3b6494db64dc7
Author: Roger Sayle <roger@nextmovesoftware.com>
Date:   Thu Feb 26 08:03:25 2026 +0000

    PR c/119651: Fix some unexpected error_mark_node ICEs.

    This patch resolves PR c/119651 and PR c/123472 P4 regressions.

    2026-02-26  Roger Sayle  <roger@nextmovesoftware.com>

    gcc/ChangeLog
            PR c/119651
            PR c/123472
            * fold-const.cc (tree_nonzero_bits): Rename the original as a
            static function taking an additional precision parameter.  Make
            this implementation robust to error_mark_node.  Preserve the
            original API by checking for error_operand_p before invoking the
            static helper function.

    gcc/testsuite/ChangeLog
            PR c/119651
            PR c/123472
            * gcc.dg/pr119651.c: New test case.
            * gcc.dg/pr123472.c: Likewise.


More information about the Gcc-bugs mailing list