[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>
Thu, 11 Jun 2020 08:56:59 +0000 (10:56 +0200)
commit5cc18516c4839fccc64b54eaa5aa447a8e1ed8fa
tree44eddc25e0fd78f7b50f863c85afc7849452ccad
parent2beacda4f64b6321a5770e7f9565cdf6ca507271
[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