From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain Date: Tue, 14 Jul 2009 10:18:29 -0700 From: Roman V Shaposhnik In-reply-to: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-id: <1247591909.18344.5479.camel@work.SFBay.Sun.COM> References: Subject: Re: [9fans] C compiler question Topicbox-Message-UUID: 20584802-ead5-11e9-9d60-3106f5b1d025 On Mon, 2009-07-13 at 23:14 -0400, erik quanstrom wrote: > > Yes, but in my example - sorry - "NeverDefined" doesn't mean "declared and > > defined elsewhere (or not)" but "not declared .and. not defined". > > true enough. the patch i sent still rejects your construct. > i'd still be interested to hear a perspective of someone with > more experience with the c compiler. 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." Thanks, Roman.