diff options
| author | Gabor Horvath <xazax.hun@gmail.com> | 2017-06-22 10:09:40 +0000 |
|---|---|---|
| committer | Gabor Horvath <xazax.hun@gmail.com> | 2017-06-22 10:09:40 +0000 |
| commit | b3bcddf769ac3a386e9e266d4a159c7a18b621f6 (patch) | |
| tree | 530d72bf628016fd2655d5aae5c8fe8770d83ec7 /clang/lib/StaticAnalyzer | |
| parent | b512e915154a0d46c727513d4bf5b76e0dda95bf (diff) | |
| download | bcm5719-llvm-b3bcddf769ac3a386e9e266d4a159c7a18b621f6.tar.gz bcm5719-llvm-b3bcddf769ac3a386e9e266d4a159c7a18b621f6.zip | |
[analyzer] Do not continue to analyze a path if the constraints contradict with builtin assume
Differential Revision: https://reviews.llvm.org/D34502
llvm-svn: 305991
Diffstat (limited to 'clang/lib/StaticAnalyzer')
| -rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp index 48d6cd8a527..097d4198800 100644 --- a/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp @@ -50,8 +50,10 @@ bool BuiltinFunctionChecker::evalCall(const CallExpr *CE, state = state->assume(ArgSVal.castAs<DefinedOrUnknownSVal>(), true); // FIXME: do we want to warn here? Not right now. The most reports might // come from infeasible paths, thus being false positives. - if (!state) + if (!state) { + C.generateSink(C.getState(), C.getPredecessor()); return true; + } C.addTransition(state); return true; |

