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.