Deutsch English Français Italiano |
<vmsv44$1huu6$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: James Kuyper <jameskuyper@alumni.caltech.edu> Newsgroups: comp.lang.c Subject: Re: Struct Error Date: Thu, 23 Jan 2025 03:37:24 -0500 Organization: A noiseless patient Spider Lines: 34 Message-ID: <vmsv44$1huu6$1@dont-email.me> References: <vmr5gg$137jo$1@dont-email.me> <vms4km$19srg$1@dont-email.me> <9e46bce27ddcc084a5291a2bae723be9@www.novabbs.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Injection-Date: Thu, 23 Jan 2025 09:37:38 +0100 (CET) Injection-Info: dont-email.me; posting-host="31c72b4efd976f4522d1d4024f2c9062"; logging-data="1637318"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/vxQbZjJAh/bFjGB3kXLmfJ1y753E46jI=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:UCLqEf84fe0FO7vO5Db0zwgVNtY= In-Reply-To: <9e46bce27ddcc084a5291a2bae723be9@www.novabbs.com> Content-Language: en-US On 1/22/25 22:49, m137 wrote: > On Thu, 23 Jan 2025 1:05:25 +0000, James Kuyper wrote: > >> I have many draft versions of the C standard. n2912.pdf, dated >> 2022-06-08, says in 6.7.2.1.p3 about struct types that "... the type is >> incomplete144) until immediately after the closing brace of the list >> defining the content, and complete thereafter." >> >> Therefore, struct scenet is not a complete type until the closing brace >> of it's declaration. >> >> However, that sentence disappeared in n3047.pdf, dated 2022-08-04. Can >> anyone tell me why it was removed? With it gone, I'm not sure it is >> still considered an incomplete type. > > It seems to have been moved to N3047 6.2.5(25): "[...] A structure or > union type of unknown content (as described in 6.7.2.3) is an incomplete > type. [...]" (see here: > https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf#page=57). It would be more accurate to say that it's been moved to 6.7.2.3, concerning tags, which is then cross-referenced by 6.2.5: "... the type (except enumerated types with a fixed underlying type) is incomplete until immediately after the closing brace of the list defining the content for the first time and complete thereafter." It was a bit tricky to locate, because "unknown content" sounded like the kind of term that the standard defines in one spot and uses elsewhere, whereas in fact that term is used only once, and not defined anywhere. Instead, it appears to be referring, by negation, to ther terms "structure content", "union constent", and "enumeration content", which are defined, but not until a few paragraphs later in 6.7.2.3.