On Thu, Jul 20, 2023 at 12:11 AM Roger Sayle <ro...@nextmovesoftware.com> wrote: > > > This patch resolves PR c/110699, an ICE-after-error regression, by adding > a check that the array type isn't error_mark_node in gimplify_compound_lval. > > This patch has been tested on x86_64-pc-linux-gnu with make bootstrap > and make -k check, both with and without --target_board=unix{-m32} > with no new failures. Ok for mainline?
Can you change it to if (error_operand_p (TREE_OPERAND (t, 0)) return GS_ERROR; and do that unconditionally for each 't' on the expr_stack? It seems we only ever push handled_component_p to it. OK with that change. Richard. > > > 2023-07-19 Roger Sayle <ro...@nextmovesoftware.com> > > gcc/ChangeLog > PR c/110699 > * gimplify.cc (gimplify_compound_lval): For ARRAY_REF and > ARRAY_RANGE_REF return GS_ERROR if the array's type is > error_mark_node. > > gcc/testsuite/ChangeLog > PR c/110699 > * gcc.dg/pr110699.c: New test case. > > > Cheers, > Roger > -- >