------- Comment #2 from david dot resnick at comverse dot com  2009-11-20 18:38 
-------
(In reply to comment #1)
> Looks like this is for compatibility with GNU C, which allows it, but only in
> the form char b[0] not char b[]

b[] seems simply broken unless last in an array for the C99 "flexible array
member" type stuff, no?  I'm not really convinced about the merits/utility of
b[0] as an internal struct field either, it is an odd way to make a union
maybe?

In standard C, a size 0 array is forbidden, at least in C99 doc I have handy,
per constraint in section 6.7.5.2 indicating:

   Constraints

       [#1] The [ and ] may delimit an expression or *.  If [ and ]
       delimit an  expression  (which  specifies  the  size  of  an
       array), it shall have an integer type.  If the expression is
       a constant expression then it shall  have  a  value  greater
       than  zero.   The element type shall not be an incomplete or
       function type.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42121

Reply via email to