https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97164
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Indeed, if in the above testcase one uses b[40] instead of b[64], then it is rejected with that error message. Note, this isn't a FE diagnostics, but stor-layout.c one. We won't be able to diagnose this if the element is variable length, but at least diagnosing it for for the constant sizes might be sufficient, variable length structures are except for maybe Ada very rarely used.