]> granicus.if.org Git - clang/commit
[analyzer] Support for naive cross translation unit analysis
authorGabor Horvath <xazax.hun@gmail.com>
Wed, 28 Feb 2018 13:23:10 +0000 (13:23 +0000)
committerGabor Horvath <xazax.hun@gmail.com>
Wed, 28 Feb 2018 13:23:10 +0000 (13:23 +0000)
commit5b8b6afcd1b48d3de840874c45f7543c0d40aa64
treef07a11dcd8900b6157539c5a39b77cdcc2905bbd
parentf4ab7b42ebfeff74222e4fe541a878f0f6a83d48
[analyzer] Support for naive cross translation unit analysis

The aim of this patch is to be minimal to enable incremental development of
the feature on the top of the tree. This patch should be an NFC when the
feature is turned off. It is turned off by default and still considered as
experimental.

Technical details are available in the EuroLLVM Talk:
http://llvm.org/devmtg/2017-03//2017/02/20/accepted-sessions.html#7

Note that the initial prototype was done by A. Sidorin et al.: http://lists.llvm.org/pipermail/cfe-dev/2015-October/045730.html

Contributions to the measurements and the new version of the code: Peter Szecsi, Zoltan Gera, Daniel Krupp, Kareem Khazem.

Differential Revision: https://reviews.llvm.org/D30691

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326323 91177308-0d34-0410-b5e6-96231b3b80d8
23 files changed:
include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
lib/StaticAnalyzer/Core/CMakeLists.txt
lib/StaticAnalyzer/Core/CallEvent.cpp
lib/StaticAnalyzer/Core/ExprEngine.cpp
lib/StaticAnalyzer/Core/PathDiagnostic.cpp
lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
lib/StaticAnalyzer/Frontend/CMakeLists.txt
test/Analysis/Inputs/ctu-chain.cpp [new file with mode: 0644]
test/Analysis/Inputs/ctu-other.cpp [new file with mode: 0644]
test/Analysis/Inputs/externalFnMap.txt [new file with mode: 0644]
test/Analysis/analyzer-config.cpp
test/Analysis/ctu-main.cpp [new file with mode: 0644]
tools/scan-build-py/README.md
tools/scan-build-py/libscanbuild/__init__.py
tools/scan-build-py/libscanbuild/analyze.py
tools/scan-build-py/libscanbuild/arguments.py
tools/scan-build-py/libscanbuild/clang.py
tools/scan-build-py/libscanbuild/report.py
tools/scan-build-py/tests/unit/test_analyze.py
tools/scan-build-py/tests/unit/test_clang.py