[PATCH] D49890: Clang-Tidy Export Problem
Ng Zhi An via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 29 15:06:31 PDT 2020
ngzhian added a comment.
I found this patch while searching for a similar problem I faced while tryin to use clang-tidy to fix some warnings in V8 (Chrome's JavaScript engine).
The setup for our compilation is as such:
- basedir
- src/
- out/ -arch1/
- .o files, generated files
- compile_commands.json
- arch2/
We use ninja to build, so usually with a command like `ninja -C out/arch1`, this means (roughly) cd into out/arch1 and build.
Given this, I have an alternative suggestion for a fix. In run-clang-tidy.py apply_fixes, we call the clang-apply-replacement with cwd set to build_path, like so:
diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
index 1eb13529575..cde9e3671af 100755
--- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
+++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
@@ -150,7 +150,7 @@ def apply_fixes(args, tmpdir):
if args.style:
invocation.append('-style=' + args.style)
invocation.append(tmpdir)
- subprocess.call(invocation)
+ subprocess.call(invocation, cwd=args.build_path)
def run_tidy(args, tmpdir, build_path, queue, lock, failed_files):
I don't know the internals of clang-tidy enough to do this, but it works for me. And it seems reasonable, since the Replacement FilePath in the yaml file consumed by clang-apply-replacement was generated as a path relative to the build_path anyway. For now this is a sufficient hack for my use case (tried with with just 1 data point as a test), and it will be good to get feedback if this fix is correct. Thanks!
Repository:
rCTE Clang Tools Extra
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D49890/new/
https://reviews.llvm.org/D49890
More information about the cfe-commits
mailing list