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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 59372
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59372&action=edit
gcc15-pr117190.patch

Untested fix.
As the ICE shows, I think we need to use bitsize_int instead of size_int (or if
index actually can be different types then build_int_cst (TREE_TYPE (index),
...),
but I hope it is always bitsize).
Except that when that is fixed, there is another ICE, the problem is that while
the PR117177 fix checked to ensure that there is INTEGER_CST for most of the
flex array cases, for length 65 it actually didn't if there is redundant
trailing comma.
And now that I look at PR117177 again, I was wrong that it peeks 4 token, the
code was peeking just 3 tokens and so can peek one more (the
c_parser_peek_nth_token numbers are 1 based, not 0, so argument 4 is fine).
So, I think we can revert PR117177 except for the test, do it differently, add
another check and testcase.

Unfortunately, I can't fully test this easily until Monday.

Reply via email to