Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.theory Subject: Re: Incorrect requirements --- Computing the mapping from the input to HHH(DD) Date: Thu, 08 May 2025 15:31:13 -0700 Organization: None to speak of Lines: 27 Message-ID: <87ikmaenv2.fsf@nosuchdomain.example.com> References: <87msbmeo3b.fsf@nosuchdomain.example.com> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Fri, 09 May 2025 00:31:14 +0200 (CEST) Injection-Info: dont-email.me; posting-host="302a6dd640940106301f9e87fdade96e"; logging-data="2264471"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX183SeypFn+7pz0rRx8Q9rmp" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:AKAPfd1akWPfHdYvNjtO215rrtA= sha1:lxiInKCjuO/FwI3bXX2kcxa9I0c= Bytes: 2954 Keith Thompson writes: [...] > The standard does say that it does not specify "the size or > complexity of a program and its data that will exceed the capacity of > any specific data-processing system or the capacity of a particular > processor". It doesn't explicitly say that a program that exceeds > the system's capacity has undefined behavior, but "Undefined behavior > is otherwise indicated in this document by the words "undefined > behavior" **or by the omission of any explicit definition of > behavior**" (emphasis added). [...] I misplaced a quotation mark and did not quote the entire relevant paragraph. To be painfully clear, the following is Section 4, Paragraph 2 of the N3096 draft of the ISO C23 standard: If a "shall" or "shall not" requirement that appears outside of a constraint or runtime-constraint is violated, the behavior is undefined. Undefined behavior is otherwise indicated in this document by the words "undefined behavior" or by the omission of any explicit definition of behavior. There is no difference in emphasis among these three; they all describe "behavior that is undefined". -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */