On Tue, 2009-07-14 at 13:46 -0400, erik quanstrom wrote: > > rejecting the struct seems like the right thing to do as per > > ISO/IEC 9899:1999 > > (http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf) > > sec. 6.7.2.1 para. 2 > > > > "A structure or union shall not contain a member with incomplete or > > function type (hence, > > a structure shall not contain an instance of itself, but may contain a > > pointer to an instance > > of itself), except that the last member of a structure with more than one > > named member > > may have incomplete array type; such a structure (and any union containing, > > possibly > > recursively, a member that is such a structure) shall not be a member of a > > structure or an > > element of an array." > > you're implying that the point of the plan 9 compilers > is to toe the c99 line.
For the dirty corner of any language one is usually better off with a written formal standard. Now, since Plan9 doesn't have such a document, relying on a work done by c99 committee would seem like a wise thing to do. And it is not like we are talking about C++ ISO standard here, the C99 is actually quite beautiful (except may be a couple of places like compound literals, and stuff). What's your problem with such an approach? > also, a pointer to an incomplete type is used > in many places in plan 9 libraries. The above paragraph has nothing to do with pointers to incomplete types (except for a clarification). Why are you bringing this up? Thanks, Roman.