llvm-project/clang/lib/StaticAnalyzer/Core
Anna Zaks 3d5d3d3e2c [analyzer] Make analyzer less aggressive when dealing with [self init].
With inlining, retain count checker starts tracking 'self' through the
init methods. The analyser results were too noisy if the developer
did not follow 'self = [super init]' pattern (which is common
especially in older code bases) - we reported self init anti-pattern AND
possible use-after-free. This patch teaches the retain count
checker to assume that [super init] does not fail when it's not consumed
by another expression. This silences the retain count warning that warns
about possibility of use-after-free when init fails, while preserving
all the other checking on 'self'.

llvm-svn: 162508
2012-08-24 00:06:12 +00:00
..
APSIntType.cpp [analyzer] Rework both constraint managers to handle mixed-type comparisons. 2012-05-08 03:27:16 +00:00
AnalysisManager.cpp Allow multiple PathDiagnosticConsumers to be used with a BugReporter at the same time. 2012-08-16 17:45:23 +00:00
BasicValueFactory.cpp Drop the ASTContext.h include from Stmt.h and fix up transitive users. 2012-07-04 17:04:04 +00:00
BlockCounter.cpp Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. 2011-08-12 23:37:29 +00:00
BugReporter.cpp Allow multiple PathDiagnosticConsumers to be used with a BugReporter at the same time. 2012-08-16 17:45:23 +00:00
BugReporterVisitors.cpp [analyzer] Look through all casts when trying to track constraints. 2012-08-16 00:03:33 +00:00
CMakeLists.txt Remove BasicConstraintManager. It hasn't been in active service for a while. 2012-08-22 19:47:13 +00:00
CallEvent.cpp [analyzer] Make analyzer less aggressive when dealing with [self init]. 2012-08-24 00:06:12 +00:00
Checker.cpp Reapply r149311 which I reverted by mistake. 2012-01-31 02:23:28 +00:00
CheckerContext.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
CheckerHelpers.cpp Split 'include/clang/StaticAnalyzer' into 'include/clang/StaticAnalyzer/Core' and 'include/clang/StaticAnalyzer/Checkers'. 2011-02-10 01:03:03 +00:00
CheckerManager.cpp [analyzer] Reduce code duplication: make CXXDestructorCall a CXXInstanceCall. 2012-08-13 23:46:05 +00:00
CheckerRegistry.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
CoreEngine.cpp [analyzer] PostImplicitCall can also occur between CFGElements. 2012-07-26 20:03:56 +00:00
Environment.cpp [analyzer] Support C++ default arguments if they are literal values. 2012-08-23 18:10:53 +00:00
ExplodedGraph.cpp [analyzer] Add comments to ExplodedNode::NodeGroup. 2012-08-20 18:59:46 +00:00
ExprEngine.cpp [analyzer] For now, treat pointers-to-members as non-null void * symbols. 2012-08-23 23:01:43 +00:00
ExprEngineC.cpp [analyzer] For now, treat pointers-to-members as non-null void * symbols. 2012-08-23 23:01:43 +00:00
ExprEngineCXX.cpp Rename 'currentX' to 'currX' throughout analyzer and libAnalysis. 2012-08-22 06:26:15 +00:00
ExprEngineCallAndReturn.cpp Rename 'currentX' to 'currX' throughout analyzer and libAnalysis. 2012-08-22 06:26:15 +00:00
ExprEngineObjC.cpp Rename 'currentX' to 'currX' throughout analyzer and libAnalysis. 2012-08-22 06:26:15 +00:00
FunctionSummary.cpp [analyzer] Record the basic blocks covered by the analyzes run. 2012-04-03 02:05:47 +00:00
HTMLDiagnostics.cpp Remove #if 0 that has been around for a long time. 2012-08-16 17:45:32 +00:00
Makefile
MemRegion.cpp [analyzer] Only adjust the type of 'this' when we devirtualize a method call. 2012-08-15 17:33:34 +00:00
PathDiagnostic.cpp Remove "range_iterator" from PathDiagnosticPiece and just use ArrayRef<SourceRange> for ranges. This 2012-08-16 17:45:29 +00:00
PlistDiagnostics.cpp Remove "range_iterator" from PathDiagnosticPiece and just use ArrayRef<SourceRange> for ranges. This 2012-08-16 17:45:29 +00:00
ProgramState.cpp Rename 'unbindLoc()' (in ProgramState) and 'Remove()' to 2012-08-22 06:37:46 +00:00
RangeConstraintManager.cpp Despite me asking Jordan to do r162313, revert it. We can provide 2012-08-22 19:58:20 +00:00
RegionStore.cpp Fix an assortment of doxygen comment issues found by -Wdocumentation. 2012-08-22 23:50:41 +00:00
SValBuilder.cpp Rename 'getConjuredSymbol*' to 'conjureSymbol*'. 2012-08-22 06:26:06 +00:00
SVals.cpp [analyzer] Don't strip CXXBaseObjectRegions when checking dynamic_casts. 2012-08-13 22:11:34 +00:00
SimpleConstraintManager.cpp Despite me asking Jordan to do r162313, revert it. We can provide 2012-08-22 19:58:20 +00:00
SimpleConstraintManager.h [analyzer] Rework both constraint managers to handle mixed-type comparisons. 2012-05-08 03:27:16 +00:00
SimpleSValBuilder.cpp [analyzer] Fixit for r158136. 2012-06-07 20:18:08 +00:00
Store.cpp [analyzer] A CXXBaseObjectRegion should correspond to a DIRECT base. 2012-08-09 21:24:02 +00:00
SubEngine.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
SymbolManager.cpp Fix undefined behavior: member function calls where 'this' is a null pointer. 2012-08-23 06:16:52 +00:00
TextPathDiagnostics.cpp Allow multiple PathDiagnosticConsumers to be used with a BugReporter at the same time. 2012-08-16 17:45:23 +00:00