Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: George Neuner Newsgroups: comp.compilers Subject: Re: Union C++ standard Date: Tue, 30 Nov 2021 17:18:35 -0500 Organization: A noiseless patient Spider Lines: 41 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <21-11-016@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> <21-11-015@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="35941"; mail-complaints-to="abuse@iecc.com" Keywords: C, standards Posted-Date: 30 Nov 2021 18:53:52 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2763 On Tue, 30 Nov 2021 00:46:04 +0000, Derek Jones wrote: >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. But it does NOT define "will" and "will not", and "must" and "must not", and "does" and "does not" ... terms which are used liberally in the documents, apparently without having any normative definition. Not to mention that the Conformance section generally is not included in draft documents. Nor are there easy to find, freely available, references on how to read various standards documents. A great many programmers are in work situations which can't support purchasing every official document that might apply. >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. YMMV, George