[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 11:43:51 +0000 (13:43 +0200)
commit97e07d0c352ca469eb07a0cb3162c2807ff1099d
treefde8728671fdae7fdeaf8da43dad66d3a7456b99
parentc148e15c255ea04d898c8f7de576dbf254a22529
[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