llvm-project/clang/lib/StaticAnalyzer/Checkers
Eli Friedman 75807f239e Make IgnoreParens() look through ChooseExprs.
This is the same way GenericSelectionExpr works, and it's generally a
more consistent approach.

A large part of this patch is devoted to caching the value of the condition
of a ChooseExpr; it's needed to avoid threading an ASTContext into
IgnoreParens().

Fixes <rdar://problem/14438917>.

llvm-svn: 186738
2013-07-20 00:40:58 +00:00
..
AllocationDiagnostics.cpp [analyzer] Add experimental option "leak-diagnostics-reference-allocation". 2013-04-16 21:44:22 +00:00
AllocationDiagnostics.h [analyzer] Add experimental option "leak-diagnostics-reference-allocation". 2013-04-16 21:44:22 +00:00
AnalyzerStatsChecker.cpp Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
ArrayBoundChecker.cpp Replace ProgramPoint llvm::cast support to be well-defined. 2013-02-21 22:23:56 +00:00
ArrayBoundCheckerV2.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
BasicObjCFoundationChecks.cpp [analyzer] Use output form collections’ count to decide if ObjC for loop should be entered 2013-06-22 00:23:26 +00:00
BoolAssignmentChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
BuiltinFunctionChecker.cpp [analyzer] Add support for __builtin_addressof. 2013-07-12 00:26:14 +00:00
CMakeLists.txt [analyzer] Add experimental option "leak-diagnostics-reference-allocation". 2013-04-16 21:44:22 +00:00
CStringChecker.cpp Fix memory corruption in CStringChecker 2013-06-12 07:45:04 +00:00
CStringSyntaxChecker.cpp [analyzer] Fix a crash in SyntaxCString checker when given a custom strncat. 2013-04-10 22:06:29 +00:00
CallAndMessageChecker.cpp Fix a crash in the static analyzer (bug #16307) 2013-06-19 08:19:56 +00:00
CastSizeChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CastToStructChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CheckObjCDealloc.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CheckObjCInstMethSignature.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CheckSecuritySyntaxOnly.cpp Use getAs<> where appropriate on QualTypes instead of using dyn_cast. 2013-06-24 18:47:11 +00:00
CheckSizeofPointer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CheckerDocumentation.cpp Fix comment type pointed out by Kim Gräsman. 2013-05-25 02:22:10 +00:00
Checkers.td [analyzer] Add a debug checker that prints Exploded Graph 2013-06-24 18:12:12 +00:00
ChrootChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ClangCheckers.cpp [analyzer] Overhaul of checker registration in preparation for basic plugin support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages). 2011-08-16 21:24:21 +00:00
ClangSACheckers.h Don't include the header outside the include guards, it defeats the purpose of the include guards. 2012-12-17 20:10:49 +00:00
CommonBugCategories.cpp Require that all static analyzer issues have a category. As part of this change, 2012-04-05 20:43:28 +00:00
DeadStoresChecker.cpp Remove unused, awkward CFGStmtVisitor and subclasses. 2013-05-15 23:22:55 +00:00
DebugCheckers.cpp [analyzer] Add a debug checker that prints Exploded Graph 2013-06-24 18:12:12 +00:00
DereferenceChecker.cpp [analyzer] tracking stores/constraints now works for ObjC ivars or struct fields. 2013-02-24 07:21:01 +00:00
DirectIvarAssignment.cpp [analyzer] DirectIvarAssignment: allow suppression annotation on Ivars. 2013-01-17 23:24:58 +00:00
DivZeroChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
DynamicTypePropagation.cpp [analyzer] Type information from C++ new expressions is perfect. 2013-04-22 21:36:44 +00:00
ExprInspectionChecker.cpp [analyzer] Include analysis stack in crash traces. 2013-07-19 00:59:08 +00:00
FixedAddressChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
GenericTaintChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
IdempotentOperationChecker.cpp Make IgnoreParens() look through ChooseExprs. 2013-07-20 00:40:58 +00:00
InterCheckerAPI.h [analyzer] Fix another false positive in the Malloc Checker, by making 2012-02-17 22:35:31 +00:00
IvarInvalidationChecker.cpp [analyzer] IvarInvalidation: correctly handle cases where only partial invalidators exist 2013-04-24 02:49:16 +00:00
LLVMConventionsChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
MacOSKeychainAPIChecker.cpp [analyzer] Rename “Mac OS X API”, “Mac OS API” -> “API Misuse (Apple)” 2013-04-03 19:28:22 +00:00
MacOSXAPIChecker.cpp [analyzer] Rename “Mac OS X API”, “Mac OS API” -> “API Misuse (Apple)” 2013-04-03 19:28:22 +00:00
Makefile Clang-side build system infrastructure for multiple tblgens. 2011-10-06 01:52:10 +00:00
MallocChecker.cpp Add 'static' and 'const' qualifiers to some arrays of strings. 2013-07-15 08:24:27 +00:00
MallocOverflowSecurityChecker.cpp Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
MallocSizeofChecker.cpp [analyzer] Replace isIntegerType() with isIntegerOrEnumerationType(). 2013-04-09 02:30:33 +00:00
NSAutoreleasePoolChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
NSErrorChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
NoReturnFunctionChecker.cpp [analyzer] Improve handling of noreturn destructors 2013-07-03 08:23:49 +00:00
NonNullParamChecker.cpp [analyzer] Rename AttrNonNullChecker -> NonNullParamChecker 2013-03-09 03:23:14 +00:00
ObjCAtSyncChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
ObjCContainersASTChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ObjCContainersChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
ObjCMissingSuperCallChecker.cpp [analyzer] Fix doc error (wrong param name) in ObjCSuperCallChecker. 2012-12-13 18:26:05 +00:00
ObjCSelfInitChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
ObjCUnusedIVarsChecker.cpp Rework the traversal of Objective-C categories and extensions to 2013-01-16 23:00:23 +00:00
PointerArithChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
PointerSubChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
PthreadLockChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
RetainCountChecker.cpp [analyzer] RetainCountChecker: don't track through xpc_connection_set_context. 2013-05-02 01:51:40 +00:00
ReturnPointerRangeChecker.cpp Replace ProgramPoint llvm::cast support to be well-defined. 2013-02-21 22:23:56 +00:00
ReturnUndefChecker.cpp [analyzer] Don't warn for returning void expressions in void blocks. 2013-04-17 18:03:48 +00:00
SimpleStreamChecker.cpp Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. 2013-07-04 03:08:24 +00:00
StackAddrEscapeChecker.cpp [analyzer] StackAddrEscapeChecker: strip qualifiers from temporary types. 2013-02-26 01:21:21 +00:00
StreamChecker.cpp [analyzer] Address a TODO in the StreamChecker; otherwise the output is non-deterministic. 2013-03-15 23:34:31 +00:00
TaintTesterChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
TraversalChecker.cpp [analyzer] Print return values from debug.DumpCalls checker. 2013-03-21 18:16:59 +00:00
UndefBranchChecker.cpp Replace ProgramPoint llvm::cast support to be well-defined. 2013-02-21 22:23:56 +00:00
UndefCapturedBlockVarChecker.cpp [analyzer] Apply the suppression rules to the nil receiver only if the value participates in the computation of the nil we warn about. 2013-03-28 23:15:22 +00:00
UndefResultChecker.cpp [analyzer] Do not report uninitialized value warnings inside swap functions. 2013-06-18 23:16:15 +00:00
UndefinedArraySubscriptChecker.cpp [AST] Don't include RecursiveASTVisitor.h in ASTContext.h 2013-06-17 12:56:08 +00:00
UndefinedAssignmentChecker.cpp [analyzer] Do not report uninitialized value warnings inside swap functions. 2013-06-18 23:16:15 +00:00
UnixAPIChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
UnreachableCodeChecker.cpp Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
VLASizeChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
VirtualCallChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00