Deutsch English Français Italiano |
<v2amt2$2sg5s$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: James Kuyper <jameskuyper@alumni.caltech.edu> Newsgroups: comp.theory,comp.lang.c Subject: Re: Every D(D) simulated by H presents non-halting behavior to H ### Date: Sat, 18 May 2024 13:01:22 -0400 Organization: A noiseless patient Spider Lines: 26 Message-ID: <v2amt2$2sg5s$1@dont-email.me> References: <v18e32$1vbql$1@dont-email.me> <v1avuv$2lks2$1@dont-email.me> <v1b7gl$2ndka$1@dont-email.me> <v1cla9$34iis$1@dont-email.me> <v1d2mi$9f72$11@i2pn2.org> <v1di1h$3b2m5$1@dont-email.me> <v1dtdv$3dqg4$1@dont-email.me> <v1du2i$3dt7u$1@dont-email.me> <v1fetd$3s7jo$1@dont-email.me> <v1ft42$3vdau$2@dont-email.me> <-5Gdnf-nQvstC6b7nZ2dnZfqnPadnZ2d@brightview.co.uk> <v1gid8$4ilc$1@dont-email.me> <v1h9eu$9faf$1@dont-email.me> <v1iqli$nsva$1@dont-email.me> <v1ln3c$vfh$1@news.muc.de> <v1s6e6$397iq$2@dont-email.me> <v1slmi$3cjtp$1@dont-email.me> <v1t8tt$3gu9t$3@dont-email.me> <v1vc8j$3jmr$1@dont-email.me> <v1vsru$7eqc$1@dont-email.me> <v21r4i$otc2$2@dont-email.me> <v22k4b$umr4$1@dont-email.me> <v24oah$1h4u3$1@dont-email.me> <v256fc$1kais$1@dont-email.me> <v27d05$25ga0$1@dont-email.me> <v2838r$29rd7$1@dont-email.me> <v2a8th$2ps09$1@dont-email.me> <v2ahqc$2qvr9$1@dont-email.me> <v2aicl$1ct7o$6@i2pn2.org> <v2al77$2s12h$1@dont-email.me> <v2am2q$1ct7o$8@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Injection-Date: Sat, 18 May 2024 19:01:23 +0200 (CEST) Injection-Info: dont-email.me; posting-host="40d43f14ee16d13b66084a22dfa1da56"; logging-data="3031228"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/q5npBHpHfQR8bfRmLUNhULbSeIXlEVek=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:pYViQx3Z9IzOdt391y8eYE3fI5o= In-Reply-To: <v2am2q$1ct7o$8@i2pn2.org> Content-Language: en-US Bytes: 3451 On 5/18/24 12:47, Richard Damon wrote: > On 5/18/24 12:32 PM, James Kuyper wrote: ....>> Such code has undefined behavior "by the omission of any explicit >> definition of behavior." (4p2). >> Strictly conforming programs cannot have undefined behavior (4p5). > > Undefined by the C Standard, but likely defined by the implementation. "Undefined behavior" is a piece of C jargon. You cannot understand the meaning of the term by treating it as an ordinary English phrase: "behavior which has no definition'. Rather, it is defined by the standard to mean "behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which this document imposes no requirements" (3.4.3p1). To say that the behavior is "Undefined by the C standard" is redundant - "undefined behavior" has "this document" built into its definition. It remains undefined behavior as far as the C standard is concerned, even if some other document does define the behavior. This is important, because strictly conforming code cannot have undefined behavior. If the C standard has no definition for the behavior of some code, it cannot be strictly conforming, even if some other document does define the behavior. The code might be perfectly safe to run on a platform where that other document has authority - but it does so entirely because of that other document, the C standard says nothing to guarantee the behavior of such code.