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]
>>