https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65724
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Well, C has flexible array members, while C++ does not have those, so there is a significant difference in between the two. And when you embed a [0] array into another structure, it is intentional that _FORTIFY_SOURCE=2 (i.e. the more restrictive mode, beyond the standards) only allows to fill the fields and not cross to outside of that.