From f800560ff1cb664c58bf92e15a14fe99628de26a Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Thu, 30 Sep 2021 14:53:45 -0400 Subject: [PATCH] [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 --- libcxx/utils/libcxx/test/params.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py index 090e058..5836c77 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 @@ DEFAULT_PARAMETERS = [ 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 different 'flavors' of the same + standard library, such as libc++ as shipped by a different vendor, if it has different + 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.", -- 2.7.4