https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112539
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- C99 (and above) have this kind of array called flexible array member. Which have exactly the semantics you are describing are happening even. See https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/Zero-Length.html were GCC documents a different extension but references this. You can also read up about them here: https://en.cppreference.com/w/c/language/struct