https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108171
Arsen Arsenović <arsen at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arsen at gcc dot gnu.org --- Comment #3 from Arsen Arsenović <arsen at gcc dot gnu.org> --- I believe the following test case is of the same issue: struct nl_context { void *cmd_private }; struct sfeatures_context { int a; int req_mask[0] }; set_sf_req_mask_idx; fill_sfeatures_bitmap(struct nl_context *nlctx) { while (nlctx) { fill_legacy_flag(); struct nl_context __trans_tmp_1 = *nlctx; struct sfeatures_context *sfctx = __trans_tmp_1.cmd_private; sfctx->req_mask[set_sf_req_mask_idx] |= 1; } } nl_sfeatures() { struct nl_context nlctx; struct sfeatures_context *sfctx; nlctx.cmd_private = &sfctx; sfctx = 0; fill_sfeatures_bitmap(&nlctx); } note that making req_mask a C99 FAM by dropping the zero makes the ICE go away