summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2018-09-21 20:36:41 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2018-09-21 20:36:41 +0000
commit33e5a158964525f0ec10651c2f58b097f81d245b (patch)
tree59f31415ffed30ba50b2a727a425e4c8230d6f19 /clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
parent6babf2ae169c87b3e7f8c25582b98927c0c07336 (diff)
downloadbcm5719-llvm-33e5a158964525f0ec10651c2f58b097f81d245b.tar.gz
bcm5719-llvm-33e5a158964525f0ec10651c2f58b097f81d245b.zip
[analyzer] Associate diagnostics created in checkEndFunction with a return statement, if possible
If not possible, use the last line of the declaration, as before. Differential Revision: https://reviews.llvm.org/D52326 llvm-svn: 342768
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/CheckerManager.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/CheckerManager.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp b/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
index 712872a15d8..3740e4bf4df 100644
--- a/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
+++ b/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
@@ -446,9 +446,8 @@ void CheckerManager::runCheckersForEndFunction(NodeBuilderContext &BC,
// autotransition for it.
NodeBuilder Bldr(Pred, Dst, BC);
for (const auto checkFn : EndFunctionCheckers) {
- const ProgramPoint &L = BlockEntrance(BC.Block,
- Pred->getLocationContext(),
- checkFn.Checker);
+ const ProgramPoint &L =
+ FunctionExitPoint(RS, Pred->getLocationContext(), checkFn.Checker);
CheckerContext C(Bldr, Eng, Pred, L);
checkFn(RS, C);
}
OpenPOWER on IntegriCloud