------- Comment #1 from hjl dot tools at gmail dot com 2009-03-25 00:40 ------- Flexible array member isn't allowed in union:
[...@gnu-34 pr39545]$ cat u-1.i union line { int length; char contents[]; }; void foo (union line); union line bar () { union line x; x.length = sizeof (union line); foo (x); return x; } [...@gnu-34 pr39545]$ gcc -S u-1.i u-1.i:3: error: flexible array member in union [...@gnu-34 pr39545]$ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39550