Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Endless complaints [was Re: do { quit; } else { }] Date: Fri, 11 Apr 2025 12:26:06 -0700 Organization: None to speak of Lines: 84 Message-ID: <87a58msdo1.fsf@nosuchdomain.example.com> References: <868qoaeezc.fsf@linuxsc.com> <86mscqcpy1.fsf@linuxsc.com> <86iknecjz8.fsf@linuxsc.com> <86o6x5at05.fsf@linuxsc.com> <20250409170901.947@kylheku.com> <87wmbs45oa.fsf@nosuchdomain.example.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 11 Apr 2025 21:26:07 +0200 (CEST) Injection-Info: dont-email.me; posting-host="c7132c9dc01e9da84b004e8ef39b7407"; logging-data="2384762"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+iWVWw4Y6yTaOWnGYLiGuV" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:MD3ZthHlZj1oIXlJy0wJcL5d81U= sha1:QjD5oqpw+8cHHruVD5jeov7QZow= Bytes: 5508 bart writes: > On 11/04/2025 09:14, David Brown wrote: >> On 11/04/2025 01:10, bart wrote: >>> On 10/04/2025 23:18, Janis Papanagnou wrote: >>>> *If* you're really interested in the topic, and since all the other >>>> posters obviously gave up to continue explaining their sight to you, >>>> why don't you accept that suggestion and read the standard document >>>> to have clarity about the topic? [FYI; this was a rhetoric question.] >>> >> I had certainly given up and moved on. >> >>> I've read the document, or the relevant section. >> Finally!  Now you too can move on. >> >>> According to that, DB was wrong, and TR was half-right. >> >> Yes, it seems I was inaccurate about the compatibility - the names >> of the struct and fields need to match across translation units, not >> just the types of the fields.  That's why it is important that /you/ >> read the standard. > > But no one, absolutely no one, said outright that you were wrong. Only > Keith eventually agreed that one of you (and Tim) was right, but > didn't care who, and the next day admitted that one of you might be > wrong, but still didn't want to commit himself as to who it might be. Somebody made a mistake. It wasn't immediately caught. It happens. This is a very long thread, and IIRC by the time the two posters made their contradictory posts, it wasn't clear exactly which code they were referring to. I for one was not willing to dig through the thread to find it. Understanding the rules for type compatibility is important. Determining whether two types posted in a long Usenet thread are compatible is less so, and likely not worth the effort. Later, you posted a summary of the relevant code and a paraphrase of the statements about it. At that point, all the information was in one place, and I commented. I eventually made a post saying that the two types (in your summary) are clearly not compatible. > On the other hand, I was the only one not to make a bold claim one way > or another (I said types were compatible enough for my test to work), > but Keith had no hesitation in telling me I was 100% wrong! You claimed that people were saying that both contradictory claims were right. Nobody said that. You have not withdrawn your claim. I told you that you were wrong because the term "compatible enough" doesn't make sense. I've explained that at some length. I think what you meant is that the types (almost certainly) have the same representation. That's a perfectly valid observation, but you explained it incorrectly. Do you now understand the difference between two types being compatible and two types having the same representation? > That is what is very worrying to me, and makes this a toxic > environment (see my last post here where I remark on the contrast with > how KT treats me and how he treats TR.) > >> Tim was, as usual in these matters, entirely correct as far as I can >> see.  I don't see how he could be considered "half-right" here.  Tim >> has a communication style that some people find grating (to put it >> mildly), but there is no question that his knowledge of the C >> standards is outstanding. > > I said half-right because as he put it, it sounded as though > compatibility depended entirely on struct tags. That's your misinterpretation of what he wrote. The difference in tags is *sufficient but not necessary* to determine that the types are incompatible. Reread what he wrote with that in mind. Your misinterpretation is understandable (his explanation was rather terse), but it was an error on your part. Do you understand that? [...] -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */