https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64768
--- Comment #6 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- On Sat, 24 Jan 2015, mpolacek at gcc dot gnu.org wrote: > typedef int A[]; > struct { int i; A a; } a; This is valid code for C99 and above / gnu89 (i.e., it's valid to use a typedef when declaring a flexible array member, whenever flexible array members are accepted).