Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

investigate clang-scan-deps tool for the tu_collector #2781

Open
gyorb opened this issue Jun 10, 2020 · 0 comments
Open

investigate clang-scan-deps tool for the tu_collector #2781

gyorb opened this issue Jun 10, 2020 · 0 comments
Labels
enhancement 🌟 help wanted tools 🛠️ Meta-tag for all the additional tools supplied with CodeChecker: plist2html, tu_collector, etc.

Comments

@gyorb
Copy link
Contributor

gyorb commented Jun 10, 2020

@Xazax-hun mentioned the clang-scan-deps tool in another PR comment #2765.

The first version is available since clang-9 it can be found here llvm-project/clang/tools/clang-scan-deps/ and can be built with the make clang-scan-deps command.
clang-scan-deps provides similar feature what is done by the tu_collector, to get the source files
in a translation unit, it might be worth to investigate the features.
There is a conference video about it 2019 EuroLLVM Developers’ Meeting: clang-scan-deps: A. Lorenz & M. "Spencer Fast dependency ...”

It might be faster than the current preprocessor based solution.
The used compile command database should contain the implicit include paths too to find the right files. The current log phase does not add the implicit include paths to the compile command database it is only done before the analyzers are started.

@gyorb gyorb added enhancement 🌟 tools 🛠️ Meta-tag for all the additional tools supplied with CodeChecker: plist2html, tu_collector, etc. help wanted labels Jun 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 🌟 help wanted tools 🛠️ Meta-tag for all the additional tools supplied with CodeChecker: plist2html, tu_collector, etc.
Projects
None yet
Development

No branches or pull requests

1 participant