[libcxx] [llvm] [libc++] Deprecate and remove meaningless `<cxxx>` headers (PR #111615)

Louis Dionne via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 18 12:23:50 PDT 2024


================
@@ -82,6 +83,11 @@ Deprecations and Removals
   were private but could cause ambiguity in name lookup. Code that expects such ambiguity will possibly not compile in
   LLVM 20.
 
+- ``<ccomplex>``, ``<cstdalign>`` (previously missing), ``<cstdbool>``, and ``<ctgmath>`` are deprecated since C++17 as
+  specified by the standard. They, together with ``<ciso646>``, are removed in C++20, but libc++ still provides these
+  headers as an extension and only deprecates them. The ``_LIBCPP_ENABLE_REMOVED_CISO646`` macro can be defined to
+  suppress deprecation for ``<ciso646>``.
----------------
ldionne wrote:

Why are we treating `<ciso646>` differently? At first glance my preference would be to handle it consistently with the other headers and only provide `_LIBCPP_DISABLE_DEPRECATION_WARNINGS`.

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


More information about the llvm-commits mailing list