"Opting into the conforming mode, /permissive-, during the series of VS 2017 update is a commitment to keeping your code base clean and to fixing non-conforming constructs we fix conformance issues in Visual C++." [...] "By contrast /permissive- offers a useful conformance mode where input C++ code is interpreted according to ISO C++ rules but also allows conforming extensions necessary to compile C++ on targets supported by Visual C++."
I guess the second quote agrees with your interpretation. We already diag most of the things they already mention. The one thing we don't diag by default is Wmicrosoft-enum-forward-reference since that's only an Extension and not an ExtWarn. We don't expose -pedantic from clang-cl, so this seemed like a somewhat natural mapping to me. Should /permissive- map to -Wmicrosoft instead and turn on the parts of -Wmicrosoft that are Extensions? Should we just ignore /permissive- and possibly make some of our -Wmicrosoft Extensions ExtWarns instead? On Mon, Apr 24, 2017 at 2:10 PM, David Majnemer <david.majne...@gmail.com> wrote: > -pedantic means "Issue all the warnings demanded by strict ISO C and ISO > C++; reject all programs that use forbidden extensions, and some other > programs that do not follow ISO C and ISO C++." > I believe it is more akin to -fno-ms-compatibility as it disables > compatibility hacks. > > On Mon, Apr 24, 2017 at 11:02 AM, Nico Weber <tha...@chromium.org> wrote: > >> It does sound pretty similar to me from the blog post. I think this is a >> decent place to start from. >> >> On Apr 24, 2017 11:55 AM, "David Majnemer via Phabricator via >> cfe-commits" <cfe-commits@lists.llvm.org> wrote: >> >>> majnemer requested changes to this revision. >>> majnemer added a comment. >>> This revision now requires changes to proceed. >>> >>> I don't think this is correct. GDR (of Microsoft) says the behavior is >>> different: https://www.reddit.com/r/cpp/comments/5dh7j5/visual_c_introd >>> uces_permissive_for_conformance/da5fxjj/ >>> >>> >>> https://reviews.llvm.org/D32435 >>> >>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits