From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 5 Jul 2005 08:47:07 -0600 From: "Ronald G. Minnich" To: David Leimbach , Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] 8c question In-Reply-To: <3e1162e6050704193649539ee@mail.gmail.com> Message-ID: References: <09405af8d5c18c32321c0de7b2fd90d3@terzarima.net> <3e1162e6050704193649539ee@mail.gmail.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Topicbox-Message-UUID: 61acf730-ead0-11e9-9d60-3106f5b1d025 On Mon, 4 Jul 2005, David Leimbach wrote: > On 7/2/05, Charles Forsyth wrote: > > >>it cant be worked around without breaking the cross > > >>platform features of their headers. > > > > sounds brilliantly portable to me. > > what do they do? insert 0-length padding areas > > to make these structures `portable'? > > > > > Yeah, it's undefined what happens if a struct is empty in C99. Seems a > really silly thing for someone to rely on. What are they trying to > accomplish? The only thing I can think of is some kind of type safety > based on a tag generated for a unique "struct". They should probably > make it wrap a void * or something. > IIRC this is one of those deals where people do something liiek: struct element { int x,y; }; struct a { int numelements; struct elements blah[0]; }; is that it Tim? I might be wrong on this. It's not reliable in gcc, as we found out the hard way on the linuxbios project ... ron