]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix ICE due to c_safe_arg_type_equiv_p not checking for error_mark node
authorAndrew Pinski <pinskia@gmail.com>
Sat, 14 Oct 2023 20:18:00 +0000 (13:18 -0700)
committerAndrew Pinski <pinskia@gmail.com>
Wed, 18 Oct 2023 22:11:38 +0000 (15:11 -0700)
commit11e6bcedb41359c69ee790f38b04033d236336a8
treeac2032a72b9d8f36bc500b2f4642cb1562874833
parent3ec8ecb8e92faec889bc6f7aeac9ff59e82b4f7f
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.
gcc/c/c-typeck.cc
gcc/testsuite/gcc.dg/pr101285-1.c [new file with mode: 0644]