[libcxx-commits] [PATCH] D120087: [libc++] Check clang-tidy version
Nikolas Klauser via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Mar 2 07:32:00 PST 2022
philnik updated this revision to Diff 412415.
philnik marked 2 inline comments as done.
philnik added a comment.
Herald added a project: All.
- Address comments
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120087/new/
https://reviews.llvm.org/D120087
Files:
libcxx/utils/libcxx/test/dsl.py
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
@@ -18,6 +18,13 @@
_isMSVC = lambda cfg: '_MSC_VER' in compilerMacros(cfg)
_msvcVersion = lambda cfg: (int(compilerMacros(cfg)['_MSC_VER']) // 100, int(compilerMacros(cfg)['_MSC_VER']) % 100)
+def _hasSuitableClangTidy(cfg):
+ try:
+ return int(re.search('[0-9]+', commandOutput(cfg, ['clang-tidy --version'])).group()) >= 13
+ except ConfigurationRuntimeError:
+ return False
+
+
DEFAULT_FEATURES = [
Feature(name='fcoroutines-ts',
when=lambda cfg: hasCompileFlag(cfg, '-fcoroutines-ts') and
@@ -84,7 +91,7 @@
Feature(name='executor-has-no-bash',
when=lambda cfg: runScriptExitCode(cfg, ['%{exec} bash -c \'bash --version\'']) != 0),
Feature(name='has-clang-tidy',
- when=lambda cfg: runScriptExitCode(cfg, ['clang-tidy --version']) == 0),
+ when=_hasSuitableClangTidy),
Feature(name='apple-clang', when=_isAppleClang),
Feature(name=lambda cfg: 'apple-clang-{__clang_major__}'.format(**compilerMacros(cfg)), when=_isAppleClang),
Index: libcxx/utils/libcxx/test/dsl.py
===================================================================
--- libcxx/utils/libcxx/test/dsl.py
+++ libcxx/utils/libcxx/test/dsl.py
@@ -201,6 +201,14 @@
_, _, exitCode, _ = _executeScriptInternal(test, script)
return exitCode
+ at _memoizeExpensiveOperation(lambda c, s: (c.substitutions, c.environment, s))
+def commandOutput(config, command):
+ with _makeConfigTest(config) as test:
+ out, _, exitCode, _ = _executeScriptInternal(test, command)
+ if exitCode != 0:
+ raise ConfigurationRuntimeError()
+ return out
+
@_memoizeExpensiveOperation(lambda c, l: (c.substitutions, c.environment, l))
def hasAnyLocale(config, locales):
"""
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120087.412415.patch
Type: text/x-patch
Size: 2053 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220302/fed8392f/attachment.bin>
More information about the libcxx-commits
mailing list