https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101285
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>: https://gcc.gnu.org/g:11e6bcedb41359c69ee790f38b04033d236336a8 commit r14-4727-g11e6bcedb41359c69ee790f38b04033d236336a8 Author: Andrew Pinski <pins...@gmail.com> Date: Sat Oct 14 13:18:00 2023 -0700 Fix ICE due to c_safe_arg_type_equiv_p not checking for error_mark node This is a simple error recovery issue when c_safe_arg_type_equiv_p was added in r8-5312-gc65e18d3331aa999. The issue is that after an error, an argument type (of a function type) might turn into an error mark node and c_safe_arg_type_equiv_p was not ready for that. So this just adds a check for error operand for its arguments before getting the main variant. OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. PR c/101285 gcc/c/ChangeLog: * c-typeck.cc (c_safe_arg_type_equiv_p): Return true for error operands early. gcc/testsuite/ChangeLog: * gcc.dg/pr101285-1.c: New test.