From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@9fans.net Date: Wed, 15 Jul 2009 09:25:38 +0000 From: robert wilson Message-ID: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit References: <1247597974.18344.5496.camel@work.SFBay.Sun.COM>, Subject: Re: [9fans] C compiler question Topicbox-Message-UUID: 212b92a2-ead5-11e9-9d60-3106f5b1d025 erik quanstrom wrote: > assuming that pointers to incomplete types are > themselves incomplete, and you haven't cited > chapter and verse showing they are, i read that paragraph > as saying that what plan 9 libraries do would be > illegal, and therefore if we follow the standard, > we'd need to remove Incomplete*s and replace > them with void*s. > > if i'm wrong, can you explain how? > The void type comprises an empty set of values; it is an incomplete type that cannot be completed. if a pointer to an incomplete type is incomplete, then void* is incomplete, too. as far as i can tell, the standard would allow an implementation where pointers vary in size and the sizes of pointers can't be determined at compile-time, but that would be insane.