[analyzer] On-demand parsing capability for CTU
authorEndre Fülöp <endre.fulop@sigmatechnology.se>
Wed, 10 Jun 2020 06:59:04 +0000 (08:59 +0200)
committerEndre Fülöp <endre.fulop@sigmatechnology.se>
Wed, 10 Jun 2020 06:59:04 +0000 (08:59 +0200)
commit020815fafd15ddac0f2b5539e7766107d7b25ddc
treebd2d5fe92fd452962876daf055fb02237270169b
parent801d1235c8a0611e511dc29d3d295f6af996977f
[analyzer] On-demand parsing capability for CTU

Summary:
Introduce on-demand parsing of needed ASTs during CTU analysis.
The index-file format is extended, and analyzer-option CTUInvocationList
is added to specify the exact invocations needed to parse the needed
source-files.

Reviewers: martong, balazske, Szelethus, xazax.hun, whisperity

Reviewed By: martong, xazax.hun

Subscribers: gribozavr2, thakis, ASDenysPetrov, ormris, mgorny, whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, steakhal, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75665
15 files changed:
clang/docs/analyzer/user-docs/CrossTranslationUnit.rst
clang/include/clang/CrossTU/CrossTranslationUnit.h
clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
clang/lib/CrossTU/CrossTranslationUnit.cpp
clang/test/Analysis/Inputs/ctu-other.c
clang/test/Analysis/Inputs/ctu-other.c.externalDefMap.ast-dump.txt [moved from clang/test/Analysis/Inputs/ctu-other.c.externalDefMap.txt with 100% similarity]
clang/test/Analysis/Inputs/ctu-other.cpp.externalDefMap.ast-dump.txt [moved from clang/test/Analysis/Inputs/ctu-other.cpp.externalDefMap.txt with 100% similarity]
clang/test/Analysis/analyzer-config.c
clang/test/Analysis/ctu-different-triples.cpp
clang/test/Analysis/ctu-main.c
clang/test/Analysis/ctu-main.cpp
clang/test/Analysis/ctu-on-demand-parsing.c [new file with mode: 0644]
clang/test/Analysis/ctu-on-demand-parsing.cpp [new file with mode: 0644]
clang/test/Analysis/ctu-unknown-parts-in-triples.cpp
clang/unittests/CrossTU/CrossTranslationUnitTest.cpp