[PATCH] D131465: C++/ObjC++: switch to gnu++17 as the default standard

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 28 11:59:26 PDT 2022


aaron.ballman added a comment.

In D131465#3812424 <https://reviews.llvm.org/D131465#3812424>, @rnk wrote:

> A simple rule like "clang 16.0 raised the default C++ standard version to 17, except on PS4" seems preferable.

Agreed that a simple rule is a good target for us to aim for.

In D131465#3815217 <https://reviews.llvm.org/D131465#3815217>, @hans wrote:

> Well it has to adapt to MSVC's library files, so it can't always do the same regardless of version.
>
> Given that MSVC has supported /std:c++17 for a while, it's probably safe to bump the default, but perhaps not for all versions.

I tend to agree.

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.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131465/new/

https://reviews.llvm.org/D131465



More information about the cfe-commits mailing list