[PATCH] D102149: [analyzer][ctu] Allow loading invocation list from a compilation database automatically detected from the ctu-dir
Ella Ma via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun May 9 22:58:40 PDT 2021
OikawaKirie created this revision.
OikawaKirie added reviewers: steakhal, gamesh411, martong, balazske.
OikawaKirie added a project: clang.
Herald added subscribers: ASDenysPetrov, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware, xazax.hun, mgorny.
OikawaKirie requested review of this revision.
Herald added a subscriber: cfe-commits.
It seems to be simpler and more convenient to reuse the compilation database generated for ClangTool when using clang-check to run the analyzer.
In this patch, when the invocation list file is failed to be loaded, the ASTLoader will try to find a compilation database from the `ctu-dir` and convert the detected database to an invocation list.
For each compile command objects in the database:
- the "directory" entry is converted to option `-working-directory` appended to the invocation commands;
- the "file" entry is updated to an absolute path based on the "directory" entry as the index;
- and the "command" entry is converted to the invocation commands.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D102149
Files:
clang/include/clang/CrossTU/CrossTranslationUnit.h
clang/lib/CrossTU/CMakeLists.txt
clang/lib/CrossTU/CrossTranslationUnit.cpp
clang/test/Analysis/ctu-on-demand-parsing.c
clang/test/Analysis/ctu-on-demand-parsing.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102149.343965.patch
Type: text/x-patch
Size: 8485 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210510/4c14bb64/attachment-0001.bin>
More information about the cfe-commits
mailing list