https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69550
--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> --- Apparently the case they actually care about in Julia is not what was posted here, which might be where the disagreement comes from. What they actually have is: typedef struct mytype { struct mytype *fieldptr0[0]; struct mytype *fieldptr[]; } mytype; The C front-end *does* accept this, which uses the non-standard zero-length array extension *and* a flexible array member.