diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2019-01-11 23:35:17 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2019-01-11 23:35:17 +0000 |
commit | 5be959c88ed297705b0ec1debaf7ccaa8dfe0db8 (patch) | |
tree | 5c95b71c247aa0de784c6e67f0b4e26e646d0566 /clang/include | |
parent | 9f3a279f2c999a9d2d26104824b9bd5fc14be6cb (diff) |
[analyzer] Support for OSObjects out parameters in RetainCountChecker
rdar://46357478
rdar://47121327
Differential Revision: https://reviews.llvm.org/D56240
llvm-svn: 350982
Diffstat (limited to 'clang/include')
-rw-r--r-- | clang/include/clang/StaticAnalyzer/Core/RetainSummaryManager.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/clang/include/clang/StaticAnalyzer/Core/RetainSummaryManager.h b/clang/include/clang/StaticAnalyzer/Core/RetainSummaryManager.h index 62b8fa6cf8ab..4fcaa794c17b 100644 --- a/clang/include/clang/StaticAnalyzer/Core/RetainSummaryManager.h +++ b/clang/include/clang/StaticAnalyzer/Core/RetainSummaryManager.h @@ -77,13 +77,21 @@ enum ArgEffectKind { IncRef, /// The argument is a pointer to a retain-counted object; on exit, the new - /// value of the pointer is a +0 value or NULL. + /// value of the pointer is a +0 value. UnretainedOutParameter, /// The argument is a pointer to a retain-counted object; on exit, the new - /// value of the pointer is a +1 value or NULL. + /// value of the pointer is a +1 value. RetainedOutParameter, + /// The argument is a pointer to a retain-counted object; on exit, the new + /// value of the pointer is a +1 value iff the return code is zero. + RetainedOutParameterOnZero, + + /// The argument is a pointer to a retain-counted object; on exit, the new + /// value of the pointer is a +1 value iff the return code is non-zero. + RetainedOutParameterOnNonZero, + /// The argument is treated as potentially escaping, meaning that /// even when its reference count hits 0 it should be treated as still /// possibly being alive as someone else *may* be holding onto the object. |