Skip site navigation (1)Skip section navigation (2)
Date:      04 Mar 2002 15:32:48 -0500
From:      Lowell Gilbert <lowell@world.std.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: A few questions about a few includes
Message-ID:  <44lmd82hvz.fsf@lowellg.ne.mediaone.net>
In-Reply-To: <20020304181117.A594@student.uu.se>
References:  <20020303180029.GA56041@student.uu.se> <20020304102750.O74223-100000@beagle.fokus.gmd.de> <20020304104158.GB63341@student.uu.se> <20020304.093529.35706437.imp@village.org> <20020304181117.A594@student.uu.se>

next in thread | previous in thread | raw e-mail | index | archive | help
Erik Trulsson <ertr1013@student.uu.se> writes:

> On Mon, Mar 04, 2002 at 09:35:29AM -0700, M. Warner Losh wrote:
> > In message: <20020304104158.GB63341@student.uu.se>
> >             Erik Trulsson <ertr1013@student.uu.se> writes:
> > : I think it is still there (and my draft copy says the same thing).  
> > : I was thinking about the original C89 standard which does not allow it
> > : (and does not allow incomplete array types in structs). Guess I should
> > : have said which standard I was referring to.
> > 
> > struct foo {
> >        char array[0];
> > };
> > 
> > appears to be in C-99 but not C-89.  If you have the draft, so far the
> > only thing I've noticed that is different between the draft and the
> > final standard is that there's 10-15 more footnotes in the final
> > standard than were in the final draft.
> > 
> > Warner
> 
> Are you sure that is in C99?
> What is allowed in C99 (but wasn't in C89) is
> 
> struct foo
>     {
>     int b;
>     char array[];
>     };
> 
> Note that you must have a 'normal' field before the incomplete array.
> 
> I don't think
>    char array[0];
> is allowed in either of C89 or C99.

Correct on all counts.  I'll cite the letter of the law from C99 if
anybody really cares.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44lmd82hvz.fsf>