Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Derek Jones Newsgroups: comp.compilers Subject: Re: Union C++ standard Date: Tue, 30 Nov 2021 00:46:04 +0000 Organization: Compilers Central Lines: 39 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <21-11-015@comp.compilers> References: <21-11-004@comp.compilers> <21-11-008@comp.compilers> <21-11-009@comp.compilers> <21-11-010@comp.compilers> <21-11-011@comp.compilers> <21-11-013@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="46060"; mail-complaints-to="abuse@iecc.com" Keywords: C, standards Posted-Date: 30 Nov 2021 13:17:07 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <21-11-013@comp.compilers> Content-Language: en-US Xref: csiph.com comp.compilers:2762 David, > I was not aware of your qualifications when I posted earlier - you have > been directly involved in things that I can only infer from reading the > standards and other material. You should always infer meaning by reading from the standard, never defer to anybody arguing from authority. > Let me put it this way. Those of us who read the C standards, but were > not involved in writing them, do our best to interpret the precise > meaning of the words in the normative text. Those meanings are not > always clear. You have made the mistake of reading the standard as "plain English". Almost everybody falls into this trap when they start out. In fact the standard is a stylized version of English, with some phrases specified to have a given meaning in specific contexts. As the committee is always saying, the standard is not intended as a tutorial. You probably need to read it three or four times to get an idea of how it fits together (there is a strange logic to it). Start by understanding how the text is styled. The Conformance section specifies how "shall" and "shall not" are to be interpreted. You also need to understand "unspecified behaviors" and "undefined behaviors". See Kaz Kylheku's discussion of the status of footnotes. You need to trace a legalistic top down approach (which takes practice). There are people actively discussing standard C on comp.std.c Footnotes state the obvious when it is not obvious to somebody. They are also an enormous source of confusion and best ignored.