[libcxx] [libunwind] [libc++] Harden the test suite for running against older libc++ versions (PR #214820)

Louis Dionne via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 10 06:11:58 PDT 2026


================
@@ -60,15 +60,8 @@
     )
 
 inverted_macros = {
-    "_LIBCPP_HAS_TIME_ZONE_DATABASE": "no-tzdb",
-    "_LIBCPP_HAS_FILESYSTEM": "no-filesystem",
-    "_LIBCPP_HAS_LOCALIZATION": "no-localization",
-    "_LIBCPP_HAS_THREADS": "no-threads",
     "_LIBCPP_HAS_MONOTONIC_CLOCK": "no-monotonic-clock",
-    "_LIBCPP_HAS_WIDE_CHARACTERS": "no-wide-characters",
     "_LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS": "libcpp-has-no-availability-markup",
----------------
ldionne wrote:

One could argue that `_LIBCPP_HAS_MONOTONIC_CLOCK` is a carve-out just like the other ones. I've always thought of it as different cause it predates the introduction of traditional configuration-time carve-outs, but really it's no different. I'll handle that one in this patch too.

`_LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS` is genuinely not a carve-out, it's a configuration time option but it's not about carving out functionality, so I don't think it belongs in `carveouts.py`. I could however get rid of this `inverted_macros` handling by refactoring `libcpp-has-no-availability-markup` into `libcpp-has-availability-markup` and moving its detection into `true_false_macros` above. I'll do that in a separate patch.

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


More information about the cfe-commits mailing list