[libcxx-commits] [libcxx] [libcxx] changes `__is_allocator` from a struct to a variable or concept (PR #68629)

Aaron Ballman via libcxx-commits libcxx-commits at lists.llvm.org
Mon Oct 16 11:45:28 PDT 2023


================
@@ -57,6 +57,8 @@
     # Disable warnings for extensions used in C++03
     "-Wno-local-type-template-args",
     "-Wno-c++11-extensions",
+    "-Wno-c++14-extensions",
+    "-Wno-c++17-extensions",
----------------
AaronBallman wrote:

Some diagnostics will appear in system headers, we mark them specially with `ShowInSystemHeader` in our diagnostics files, like: https://github.com/llvm/llvm-project/blob/1ebe73821f4cefa48d7e3d24e62303412ab9ad25/clang/include/clang/Basic/DiagnosticSemaKinds.td#L7879

I don't think that will matter for your needs, but it's still something to keep in mind regarding suppression mechanisms. If a diagnostic that isn't marked `ShowInSystemHeader` is appearing in a system header, that's almost certainly a Clang bug.

FWIW, we also suppress diagnostics coming from system macros: https://github.com/llvm/llvm-project/blob/1ebe73821f4cefa48d7e3d24e62303412ab9ad25/clang/lib/Basic/DiagnosticIDs.cpp#L577

https://github.com/llvm/llvm-project/pull/68629


More information about the libcxx-commits mailing list