aaron.ballman added a comment. In D131465#3823599 <https://reviews.llvm.org/D131465#3823599>, @hans wrote:
> In D131465#3821701 <https://reviews.llvm.org/D131465#3821701>, @aaron.ballman > wrote: > >> Perhaps the simple rule we're going for is "when executed on Windows, Clang >> defaults to C++17 unless it is executed from a context in which an MSVC >> library can be detected, in which case Clang defaults to the same language >> standard as used by that version of MSVC"? It's a bit long-winded, but the >> idea being that we try to match MSVC's default when compiling against MSVC >> libraries and otherwise stick with the clang default. > > But the last sentence is basically what we have today. When targeting > windows-msvc, we try to match the behavior of the msvc version being > targeted, which is in turn determined by what flags the user passes, what > msvc installation is found in the environment, or the default (19.14). Hmmm, you're right. I think I may have confused myself with the behaviors here -- MSVC still reports `__cplusplus` as `199711L` but they seem to accept a random smattering of C++17 by default and mostly accept C++14, at least from some simple testing: https://godbolt.org/z/dxjq5Wocx So it's a bit hard to say what kind of compatibility we're aiming for there... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131465/new/ https://reviews.llvm.org/D131465 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits