On Thu, Mar 22, 2018 at 5:27 PM, Jakub Jelinek <ja...@redhat.com> wrote: > We ICE during error-recovery on the following testcase, > compute_array_index_type > checks size for error_operand_p early (and it is not error operand; it is > <indirect_ref <var_decl c>> where c is of reference type with > error_mark_node DECL_INITIAL), then calls mark_rvalue_use (which returns > error_mark_node), but we let it go > through maybe_constant_size etc. and because error_mark_node is > !TREE_CONSTANT, set it back to the original size.
Hmm, maybe we need to also update osize with the result of mark_rvalue_use. Or flip the logic of the constant value block to use a local variable and only change size if the result is constant. Jason