[libcxx-commits] [libcxx] f800560 - [libc++] Rename the 'libc++' Lit feature to 'llvm-libc++'

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Mon Oct 4 15:33:05 PDT 2021


Author: Louis Dionne
Date: 2021-10-04T18:32:50-04:00
New Revision: f800560ff1cb664c58bf92e15a14fe99628de26a

URL: https://github.com/llvm/llvm-project/commit/f800560ff1cb664c58bf92e15a14fe99628de26a
DIFF: https://github.com/llvm/llvm-project/commit/f800560ff1cb664c58bf92e15a14fe99628de26a.diff

LOG: [libc++] Rename the 'libc++' Lit feature to 'llvm-libc++'

This is to simplify an upcoming change where we distinguish between
flavors of libc++ by adding an apple-libc++ Lit feature.

Differential Revision: https://reviews.llvm.org/D110870

Added: 
    

Modified: 
    libcxx/utils/libcxx/test/params.py

Removed: 
    


################################################################################
diff  --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
index 090e0589789a7..5836c7760d9be 100644
--- a/libcxx/utils/libcxx/test/params.py
+++ b/libcxx/utils/libcxx/test/params.py
@@ -8,6 +8,7 @@
 
 from libcxx.test.dsl import *
 from libcxx.test.features import _isMSVC
+import re
 
 _warningFlags = [
   '-Werror',
@@ -91,11 +92,24 @@ def getStdFlag(cfg, std):
               AddCompileFlag('-fno-rtti')
             ]),
 
-  Parameter(name='stdlib', choices=['libc++', 'libstdc++', 'msvc'], type=str, default='libc++',
-            help="The C++ Standard Library implementation being tested.",
-            actions=lambda stdlib: [
-              AddFeature('stdlib={}'.format(stdlib))
-            ]),
+  Parameter(name='stdlib', choices=['llvm-libc++', 'libstdc++', 'msvc'], type=str, default='llvm-libc++',
+            help="""The C++ Standard Library implementation being tested.
+
+                 Note that this parameter can also be used to encode 
diff erent 'flavors' of the same
+                 standard library, such as libc++ as shipped by a 
diff erent vendor, if it has 
diff erent
+                 properties worth testing.
+
+                 The Standard libraries currently supported are:
+                 - llvm-libc++: The 'upstream' libc++ as shipped with LLVM.
+                 - libstdc++: The GNU C++ library typically shipped with GCC.
+                 - msvc: The Microsoft implementation of the C++ Standard Library.
+                """,
+            actions=lambda stdlib: filter(None, [
+              AddFeature('stdlib={}'.format(stdlib)),
+              # Also add an umbrella feature 'stdlib=libc++' for all flavors of libc++, to simplify
+              # the test suite.
+              AddFeature('stdlib=libc++') if re.match('.+-libc\+\+', stdlib) else None
+            ])),
 
   Parameter(name='enable_warnings', choices=[True, False], type=bool, default=True,
             help="Whether to enable warnings when compiling the test suite.",


        


More information about the libcxx-commits mailing list