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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits