[libcxx-commits] [PATCH] D146365: [libc++] Also support target triples that end with .0 in backdeployment tests

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Mar 18 13:27:18 PDT 2023


ldionne created this revision.
Herald added subscribers: mikhail.ramalho, arichardson.
Herald added a project: All.
ldionne requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Sometimes, a target can look like `<arch>-apple-macosx10.15.0` instead
of `<arch>-apple-macosx10.15`. This ensures that the test suite handles
those target triples properly as well.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D146365

Files:
  libcxx/utils/libcxx/test/features.py


Index: libcxx/utils/libcxx/test/features.py
===================================================================
--- libcxx/utils/libcxx/test/features.py
+++ libcxx/utils/libcxx/test/features.py
@@ -327,46 +327,46 @@
 DEFAULT_FEATURES += [
   # Tests that require std::to_chars(floating-point) in the built library
   Feature(name='availability-fp_to_chars-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0)(.0)?}}', cfg.available_features)),
 
   # Tests that require https://wg21.link/P0482 support in the built library
   Feature(name='availability-char8_t_support-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0)(.0)?}}', cfg.available_features)),
 
   # Tests that require __libcpp_verbose_abort support in the built library
   Feature(name='availability-verbose_abort-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0)(.0)?}}', cfg.available_features)),
 
   # Tests that require std::bad_variant_access in the built library
   Feature(name='availability-bad_variant_access-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11|12}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{(9|10|11|12)(.0)?}}', cfg.available_features)),
 
   # Tests that require std::bad_optional_access in the built library
   Feature(name='availability-bad_optional_access-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11|12}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{(9|10|11|12)(.0)?}}', cfg.available_features)),
 
   # Tests that require std::bad_any_cast in the built library
   Feature(name='availability-bad_any_cast-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11|12}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{(9|10|11|12)(.0)?}}', cfg.available_features)),
 
   # Tests that require std::pmr support in the built library
   Feature(name='availability-pmr-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx{{(10.9|10.10|10.11|10.12|10.13|10.14|10.15|11.0|12.0)(.0)?}}', cfg.available_features)),
 
   # Tests that require std::filesystem support in the built library
   Feature(name='availability-filesystem-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{(9|10|11|12|13|14)(.0)?}}', cfg.available_features)),
 
   # Tests that require the C++20 synchronization library (P1135R6 implemented by https://llvm.org/D68480) in the built library
   Feature(name='availability-synchronization_library-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14|15}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{(9|10|11|12|13|14|15)(.0)?}}', cfg.available_features)),
 
   # Tests that require support for std::shared_mutex and std::shared_timed_mutex in the built library
   Feature(name='availability-shared_mutex-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{(9|10|11)(.0)?}}', cfg.available_features)),
 
   # Tests that require support for aligned allocation in the built library. This is about `operator new(..., std::align_val_t, ...)` specifically,
   # not other forms of aligned allocation.
   Feature(name='availability-aligned_allocation-missing',
-    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11|12}}', cfg.available_features)),
+    when=lambda cfg: BooleanExpression.evaluate('use_system_cxx_lib && target={{.+}}-apple-macosx10.{{(9|10|11|12)(.0)?}}', cfg.available_features)),
 ]


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146365.506314.patch
Type: text/x-patch
Size: 5396 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230318/468761ce/attachment.bin>


More information about the libcxx-commits mailing list