<div dir="ltr">On Fri, Feb 19, 2016 at 1:17 PM, Martin J. O'Riordan via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have the same kind of dilemma - I really like having a "strictly conforming" option because I love Standards, but realistically I need them to be supplemented by a relaxed mode that permits extensions.<br>
<br>
What I think would be the right thing for Clang, would be for '-std=XXX' to enforce the ISO definition of XXX, but to be able to supplement it with an additional option or options that enabled the extensions or relaxed the ISO rules (warnings of divergence are still good).  Normally when I use '-std=XXX', I also find I have to use at least ' -U__STRICT_ANSI__' because the extended or non-Standard behaviour is what I often want; and sometimes other additional options.  But having '-std=XXX' mean exactly the ISO definition is really useful, and cool.<br>
<br>
Ironically, having '-std=XXX' be really strict about ISO compliance is almost certainly the wrong thing for my code; for example it means enabling exceptions which are simply too expensive for embedded; but I would still like to tell the compiler to enforce strict ISO conformance rules - unless I have supplemented it with options to relax particular constraints.  Sometimes we use '-std=XXX' to select a dialect (e.g. C++11 versus C++14), but then have to supplement it by a bunch of other options that tune it to our actual non-Standard needs.  But I still need warnings and error messages, they tell me where I need to be very specific about what and why I am doing something that strays outside the ISO interpretation.<br>
<br>
An alternative would to be to add something like '-fstrict-iso' to make '-std=XXX' be strict, but my own feeling is that strict should be the default, and relaxed should be the deliberately selected alternative.<br></blockquote><div><br></div><div>It seems that there is some interest in keeping the default be standards conforming.  It would be nice to get a consensus on this issue so that we can move forward.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        MartinO<br>
<div class="HOEnZb"><div class="h5"><br>
-----Original Message-----<br>
From: cfe-dev [mailto:<a href="mailto:cfe-dev-bounces@lists.llvm.org">cfe-dev-bounces@lists.llvm.org</a>] On Behalf Of Joerg Sonnenberger via cfe-dev<br>
Sent: 19 February 2016 15:20<br>
To: <a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
Subject: Re: [cfe-dev] Enabling strong enum extensions under C<br>
<br>
On Tue, Feb 16, 2016 at 09:46:27AM -0500, Nico Weber via cfe-dev wrote:<br>
> Personally, I'd like if -std=c11 would give you C11 without extensions.<br>
<br>
Speaking with OS developer hat, it is not practical to disable all extensions like the protected versions of keywords or attributes.<br>
<br>
Joerg<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>