Path: ...!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: olcott Newsgroups: comp.lang.c,comp.lang.c++ Subject: Re: Compile time checking of standards conformance Date: Thu, 23 May 2024 10:14:42 -0500 Organization: A noiseless patient Spider Lines: 43 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 23 May 2024 17:14:43 +0200 (CEST) Injection-Info: dont-email.me; posting-host="ba728845a682305e7e13b3854d529db3"; logging-data="1910515"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/8IF13NMCMnta2rtCK2Imc" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:TeA5EQVYYtwJGM3yMjPVHaAz4sU= In-Reply-To: Content-Language: en-US Bytes: 2739 On 5/23/2024 9:43 AM, David Brown wrote: > On 23/05/2024 16:18, olcott wrote: >> On 5/23/2024 1:23 AM, Paavo Helde wrote: >>> On 23.05.2024 02:44, olcott wrote: >>>> Does enables conformance mean: Flags non conformance? >>> >>> No. Enabling conformance means enabling support for the conforming >>> features. >>> >>> Flagging non-conformance is not possible in general as there are more >>> creative fools out there than there are compiler writers. >>> >>> There are zillions of ways to write non-conforming code, for example >>> an endless loop is not conforming in C++. The compiler is not obliged >>> to diagnose it, but it is allowed for the compiler to silently >>> optimize the non-conforming code away, assuming it is never called. >>> At least that's what g++ folks think. >>> >>> >> >> I would think that syntactically non-conforming code could be >> flagged by the parser. >> > > Syntax errors and many types of constraint violations will be flagged by > the parser.  But there are endless possibilities of non-conforming > behaviour that cannot be seen at compile time. > Does enables conformance mean: Flags syntactic non conformance? /std:c11 The /std:c11 option enables ISO C11 conformance. It's available starting in Visual Studio 2019 version 16.8. /std:c17 The /std:c17 option enables ISO C17 conformance. It's available starting in Visual Studio 2019 version 16.8. -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer