Deutsch English Français Italiano |
<1000eho$22csl$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Mike Terry <news.dead.person.stones@darjeeling.plus.com> Newsgroups: comp.theory Subject: =?UTF-8?Q?Re:_Flibble=e2=80=99s_Leap:_Why_Behavioral_Divergence_Imp?= =?UTF-8?Q?lies_a_Type_Distinction_in_the_Halting_Problem?= Date: Tue, 13 May 2025 22:45:27 +0100 Organization: A noiseless patient Spider Lines: 84 Message-ID: <1000eho$22csl$1@dont-email.me> References: <vv1UP.77894$JJT6.54808@fx16.ams4> <vvqd4u$g8a1$1@dont-email.me> <7N2UP.527443$wBt6.464256@fx15.ams4> <vvqfgq$gmmk$1@dont-email.me> <os3UP.670056$BFJ.223954@fx13.ams4> <vvqgpt$gmmk$4@dont-email.me> <aG3UP.366972$wBVe.321504@fx06.ams4> <39947848bf73be52ee6fbbeb6d0d929009dfec8e@i2pn2.org> <fR8UP.92502$o31.50010@fx04.ams4> <fb3915123ad5c4703b92df902c37267fce2c4812@i2pn2.org> <vvrhk6$nejb$2@dont-email.me> <vvrhtj$nnmf$1@dont-email.me> <43f0f4158610d859516ba3e0115a8a2b8bd7630b@i2pn2.org> <vvrl9h$o2ab$6@dont-email.me> <vvrmso$nt1l$2@dont-email.me> <87frha4j5w.fsf@nosuchdomain.example.com> <vvrsev$tfq2$1@dont-email.me> <87bjry4f76.fsf@nosuchdomain.example.com> <1000d6b$2258d$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 13 May 2025 23:45:28 +0200 (CEST) Injection-Info: dont-email.me; posting-host="750d255cb0ee70f75da7805aef2899f4"; logging-data="2175893"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+tLawB/JNP2/5OfeRaMX7/gKfOeLSQerQ=" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18.2 Cancel-Lock: sha1:2sSksGN9J75qzfFT/SJUPhTsCds= In-Reply-To: <1000d6b$2258d$1@dont-email.me> Bytes: 5544 On 13/05/2025 22:22, Mike Terry wrote: > On 12/05/2025 05:37, Keith Thompson wrote: >> Richard Heathfield <rjh@cpax.org.uk> writes: >>> On 12/05/2025 04:11, Keith Thompson wrote: >>>> Richard Heathfield <rjh@cpax.org.uk> writes: >>>> [...] >>>>> ALL C compilers are required to diagnose ALL syntax errors and ALL >>>>> constraint violations. >>>> Yes, all conforming C compilers are required to do that.� (Well, >>>> strictly speaking they're only required to issue at least one diagnostic >>>> for any translation unit that violates a syntax rule or constraint.) >>> >>> I was unintentionally ambiguous, for which I apologise. >>> >>> The point I sought to make is that there is no syntax error (or >>> constraint violation) so trivial that a compiler is given licence not >>> to issue a diagnostic it if it has no other reason so to do. >>> >>> That is, they are all capable of ticking the box that says 'must issue >>> at least one diagnostic'. >>> >>>> [...] >>>> >>>>> In my experience, Microsoft's C compiler - although not perfect - is >>>>> pretty good at following conformance rules. I'd be surprised to learn >>>>> from a competent source that it misses a syntax error. >>>> I wouldn't, since few if any C compilers are conforming by default. >>> >>> I was talking about conforming mode, which IIRC (it's been a while) is >>> invoked by -W4 (a warning level that I habitually used in the days >>> when I still used Microsoft software). >>> >>>> I've just tried 4 different C compilers (gcc, clang, and tcc >>>> on Ubuntu, MS Visual Studio 2022 on Windows), and none of them >>>> diagnosed a stray semicolon at file scope *by default*.� gcc and >>>> clang can be persuaded to diagnose it.� tcc, as far as I can tell, >>>> cannot; I don't believe it claims to be fully conforming in any mode. >>>> I wasn't able to get MSVS to diagnose it, but there could easily >>>> be an option that I'm missing. >>> >>> Could you crank MSVS up to -W4 (or whatever the max is these days) and >>> try again? I hate to impose, but of course it's your own fault for >>> qualifying as a competent source. ;-) >> >> It's "/W4".� The default appears to be "/W3". > > At W4 or Wall I get a messages such as: > 1>c:\products\source\scratch10\ctest.c(8): warning C4019: empty statement at global scope > 1>c:\products\source\scratch10\ctest.c(12): warning C4019: empty statement at global scope > > The help for the error code: > > > <https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4019?view=msvc-170> > > >> >> With "/W4", or even "/Wall", it still doesn't diagnose a stray semicolon >> at file scope.� (I wouldn't expect a warning option to be the >> incantation that makes the compiler conform to the standard.) > > Eh?� On my system I got the above messages for stray semi-colons.� I'm using VS2017. Oh right - I also had /Za set, and it seems it needs both /W4 and /Za. I don't have any /std: option as it doesn't seem to be valid for VS2017. > >> >> The "/Za" option is supposed to disable language extensions, but it >> complains that "'/Za' and '/std:c17' command-line options are >> incompatible". >> >> The implementation supports both C and C++.� It seems to treat C as a >> second-class citizen.� (I think, but I'm not sure, that a stray >> semicolon at file scope is legal in C++; it's called an >> "empty-declaration".) >> >>> If it doesn't diagnose at its maximum warning level, then okay, ~I >>> lose the syntax battle. >> >> I'd say that Microsoft's compiler loses the syntax battle. >> >> [Remainder read and snipped] >>