Revision tags: llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
#
ddb01010 |
| 10-Feb-2021 |
Artem Dergachev <artem.dergachev@gmail.com> |
Revert "[analyzer] RetainCountChecker: Add a suppression for OSSymbols."
This reverts commit 3500cc8d891bb3825bb3275affe6db8b12f2f695.
This old commit was made over a completely false premise. OSSy
Revert "[analyzer] RetainCountChecker: Add a suppression for OSSymbols."
This reverts commit 3500cc8d891bb3825bb3275affe6db8b12f2f695.
This old commit was made over a completely false premise. OSSymbols aren't different from other OSObjects and we shouldn't treat them differently for the purposes of static analysis.
show more ...
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1 |
|
#
3500cc8d |
| 01-Apr-2020 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] RetainCountChecker: Add a suppression for OSSymbols.
OSSymbol objects are particular XNU OSObjects that aren't really reference-counted. Therefore you cannot do any harm by over- or under
[analyzer] RetainCountChecker: Add a suppression for OSSymbols.
OSSymbol objects are particular XNU OSObjects that aren't really reference-counted. Therefore you cannot do any harm by over- or under-releasing them.
show more ...
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
#
a82ffe9d |
| 17-Feb-2020 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] Add support for CXXInheritedCtorInitExpr.
So far we've been dropping coverage every time we've encountered a CXXInheritedCtorInitExpr. This patch attempts to add some initial support for
[analyzer] Add support for CXXInheritedCtorInitExpr.
So far we've been dropping coverage every time we've encountered a CXXInheritedCtorInitExpr. This patch attempts to add some initial support for it.
Constructors for arguments of a CXXInheritedCtorInitExpr are still not fully supported.
Differential Revision: https://reviews.llvm.org/D74735
show more ...
|
Revision tags: llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
#
adcd0268 |
| 28-Jan-2020 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly m
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly mechanical from a custom clang-tidy check, with a lot of manual fixups. It uncovers a lot of minor inefficiencies.
This doesn't actually modify StringRef yet, I'll do that in a follow-up.
show more ...
|
Revision tags: llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
3517d105 |
| 28-Aug-2019 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] Fix more analyzer warnings on analyzer and libAnalysis.
llvm-svn: 370263
|
Revision tags: llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3 |
|
#
b03854f8 |
| 19-Jun-2019 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] RetainCount: Add support for OSRequiredCast().
It's a new API for custom RTTI in Apple IOKit/DriverKit framework that is similar to OSDynamicCast() that's already supported, but crashes i
[analyzer] RetainCount: Add support for OSRequiredCast().
It's a new API for custom RTTI in Apple IOKit/DriverKit framework that is similar to OSDynamicCast() that's already supported, but crashes instead of returning null (and therefore causing UB when the cast fails unexpectedly). Kind of like cast_or_null<> as opposed to dyn_cast_or_null<> in LLVM's RTTI.
Historically, RetainCountChecker was responsible for modeling OSDynamicCast. This is simply an extension of the same functionality.
Differential Revision: https://reviews.llvm.org/D63117
llvm-svn: 363891
show more ...
|
Revision tags: llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
48e7a2fa |
| 26-Apr-2019 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] RetainCount: Add a suppression for "the Matching rule".
In the OSObject universe there appears to be another slightly popular contract, apart from "create" and "get", which is "matching".
[analyzer] RetainCount: Add a suppression for "the Matching rule".
In the OSObject universe there appears to be another slightly popular contract, apart from "create" and "get", which is "matching". It optionally consumes a "table" parameter and if a table is passed, it fills in the table and returns it at +0; otherwise, it creates a new table, fills it in and returns it at +1.
For now suppress false positives by doing a conservative escape on all functions that end with "Matching", which is the naming convention that seems to be followed by all such methods.
Differential Revision: https://reviews.llvm.org/D61161
llvm-svn: 359264
show more ...
|
Revision tags: llvmorg-8.0.0 |
|
#
f2192b20 |
| 15-Mar-2019 |
Artem Dergachev <artem.dergachev@gmail.com> |
[analyzer] RetainCount: A function isn't a CFRetain if it takes no arguments.
Don't crash when a function has a name that starts with "CF" and ends with "Retain" but takes 0 arguments. In particular
[analyzer] RetainCount: A function isn't a CFRetain if it takes no arguments.
Don't crash when a function has a name that starts with "CF" and ends with "Retain" but takes 0 arguments. In particular, don't try to treat it as if it returns its first argument.
These problems are inevitable because the checker is naming-convention-based, but at least we shouldn't crash.
Differential Revision: https://reviews.llvm.org/D59123
llvm-svn: 356223
show more ...
|
Revision tags: llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2 |
|
#
6794aa70 |
| 05-Feb-2019 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] [RetainCountChecker] Bugfix: in non-OSObject-mode, do not track CXX method calls
Differential Revision: https://reviews.llvm.org/D57782
llvm-svn: 353227
|
#
77eae6d4 |
| 30-Jan-2019 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] [RetainCountChecker] Bugfix for tracking top-level parameters of Objective-C methods
Differential Revision: https://reviews.llvm.org/D57433
llvm-svn: 352588
|
#
d37ff4e8 |
| 29-Jan-2019 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] [RetainCountChecker] Track input parameters to the top-level function
Track them for ISL/OS objects by default, and for NS/CF under a flag.
rdar://47536377
Differential Revision: https:
[analyzer] [RetainCountChecker] Track input parameters to the top-level function
Track them for ISL/OS objects by default, and for NS/CF under a flag.
rdar://47536377
Differential Revision: https://reviews.llvm.org/D57356
llvm-svn: 352534
show more ...
|
#
b0fc58b5 |
| 29-Jan-2019 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] [RetainSummaryManager] [NFC] Split one function into two, as it's really doing two things
Differential Revision: https://reviews.llvm.org/D57201
llvm-svn: 352533
|
#
2e466678 |
| 29-Jan-2019 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] [ARCMT] [NFC] Unify entry point into RetainSummaryManager
Just use one single entry point, since we have AnyCall utility now.
Differential Revision: https://reviews.llvm.org/D57346
llvm
[analyzer] [ARCMT] [NFC] Unify entry point into RetainSummaryManager
Just use one single entry point, since we have AnyCall utility now.
Differential Revision: https://reviews.llvm.org/D57346
llvm-svn: 352532
show more ...
|
#
0f3bbbae |
| 29-Jan-2019 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] [RetainCountChecker] Support 'taggedRetain' and 'taggedRelease'
Differential Revision: https://reviews.llvm.org/D57211
llvm-svn: 352530
|
#
6fdd2bd5 |
| 25-Jan-2019 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] Port RetainSummaryManager to the new AnyCall interface, decouple ARCMT from the analyzer
rdar://19694750
Differential Revision: https://reviews.llvm.org/D57127
llvm-svn: 352149
|
Revision tags: llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2 |
|
#
0ac54fad |
| 18-Aug-2018 |
George Karpenkov <ekarpenkov@apple.com> |
[analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker
ARCMigrator is using code from RetainCountChecker, which is a layering violation (and it also does it badly, by using a differe
[analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker
ARCMigrator is using code from RetainCountChecker, which is a layering violation (and it also does it badly, by using a different header, and then relying on implementation being present in a header file).
This change splits up RetainSummaryManager into a separate library in lib/Analysis, which can be used independently of a checker.
Differential Revision: https://reviews.llvm.org/D50934
llvm-svn: 340114
show more ...
|