Path: utzoo!attcan!uunet!mcrware!jejones From: jejones@mcrware.UUCP (James Jones) Newsgroups: comp.std.c Subject: Re: X3J11 Pleasanton meeting summary Keywords: X3J11 Pleasanton meeting C standard interpretations Message-ID: <3206@mcrware.UUCP> Date: 3 Oct 90 17:36:03 GMT References: <13996@smoke.BRL.MIL> Reply-To: jejones@mcrware.UUCP (James Jones) Organization: Microware Systems Corp., Des Moines, Iowa Lines: 31 In article <13996@smoke.BRL.MIL> gwyn@smoke.BRL.MIL (Doug Gwyn) writes: > struct foo x; > struct foo { int i; }; > /* the above is strictly conforming; incomplete-type objects can > be defined, so long as by the end of the translation unit the > type becomes complete so that storage can then be allocated */ Gee. This seems to me to be rather inconsistent with other constraints placed on C that appear to have as their justification allowing straight- forward one-pass compilation. Would it really be permissible to have struct foo; woof() { struct foo x; /* ... */ } /* ...eventually, at the end of the source file... */ struct foo { int i; }; for example? Can one refer to fields in incomplete structures as long as they occur in a complete declaration that appears by translation unit's end? James Jones