diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2018-09-21 20:36:41 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2018-09-21 20:36:41 +0000 |
commit | 33e5a158964525f0ec10651c2f58b097f81d245b (patch) | |
tree | 59f31415ffed30ba50b2a727a425e4c8230d6f19 /clang/lib/StaticAnalyzer/Core/CheckerManager.cpp | |
parent | 6babf2ae169c87b3e7f8c25582b98927c0c07336 (diff) | |
download | bcm5719-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.cpp | 5 |
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); } |