clang-1/lib/Checker
Tom Care ef52bcb606 Improvements to IdempotentOperationChecker and its use of PseudoConstantAnalysis
- Added wasReferenced function to PseudoConstantAnalysis to determine if a variable was ever referenced in a function (outside of a self-assignment)
- BlockDeclRefExpr referenced variables are now explicitly added to the non-constant list
- Remove unnecessary ignore of implicit casts
- Generalized parameter self-assign detection to detect deliberate self-assigns of variables to avoid unused variable warnings
- Updated test cases with deliberate self-assignments
- Fixed bug with C++ references and pseudoconstants
- Added test case for C++ references and pseudoconstants

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24 21:09:07 +00:00
..
AdjustedReturnValueChecker.cpp MemRegion can refer to ASTContext without external help. 2010-08-11 06:10:55 +00:00
AggExprVisitor.cpp Improve C++ constructor handling. 2010-04-01 03:47:27 +00:00
AnalysisConsumer.cpp Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations) 2010-08-06 22:23:07 +00:00
AnalysisManager.cpp Reapply r108617. 2010-07-19 01:31:21 +00:00
ArrayBoundChecker.cpp MemRegion can refer to ASTContext without external help. 2010-08-11 06:10:55 +00:00
AttrNonNullChecker.cpp If a nonnull argument evaluates to UnknownVal, don't warn (and don't crash). 2010-06-21 20:08:28 +00:00
BasicConstraintManager.cpp Fold additive constants, and support comparsions of the form $sym+const1 <> const2 2010-06-18 22:49:11 +00:00
BasicObjCFoundationChecks.cpp Remove dead code, caught by unused function warnings. 2010-08-15 01:15:58 +00:00
BasicObjCFoundationChecks.h Improve NULL-checking for CFRetain/CFRelease. We now remember that the argument was non-NULL, and we report where the null assumption came from (like AttrNonNullChecker already did). 2010-07-06 02:34:42 +00:00
BasicStore.cpp Remove dead code. Patch by Jon Mulder! 2010-08-19 18:59:37 +00:00
BasicValueFactory.cpp Change LazyCompoundVal to a <Store, MemRegion*> pair. We really don't need to 2010-02-05 02:26:30 +00:00
BugReporter.cpp zap dead code. 2010-08-18 02:45:56 +00:00
BugReporterVisitors.cpp MemRegion can refer to ASTContext without external help. 2010-08-11 06:10:55 +00:00
BuiltinFunctionChecker.cpp Add a new symbol type, SymbolExtent, to represent the extents of memory regions that may not be known at compile-time (such as those created by malloc). This replaces the old setExtent/getExtent API on Store, which used the GRState's GDM to store SVals. 2010-07-04 00:00:41 +00:00
CFRefCount.cpp Remove dead code. 2010-08-17 22:05:33 +00:00
CMakeLists.txt Extracted out some useful common functions in IdempotentOperationChecker to their own CheckerHelpers file. 2010-07-27 23:26:07 +00:00
CStringChecker.cpp Allow the "size" of a buffer access check to be either signed or unsigned. Fixes PR7925. 2010-08-16 23:25:19 +00:00
CallAndMessageChecker.cpp MemRegion can refer to ASTContext without external help. 2010-08-11 06:10:55 +00:00
CastSizeChecker.cpp Add a new symbol type, SymbolExtent, to represent the extents of memory regions that may not be known at compile-time (such as those created by malloc). This replaces the old setExtent/getExtent API on Store, which used the GRState's GDM to store SVals. 2010-07-04 00:00:41 +00:00
CastToStructChecker.cpp Introduce Type::isStructureOrClassType(), which does the obvious 2010-04-26 21:31:17 +00:00
CheckDeadStores.cpp Further adjustments to -Wglobal-constructors; works for references and direct 2010-08-02 21:13:48 +00:00
CheckObjCDealloc.cpp Add clang support for IBOutletCollection. 2010-05-19 17:38:06 +00:00
CheckObjCInstMethSignature.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
CheckSecuritySyntaxOnly.cpp Detabify. 2010-08-22 01:00:03 +00:00
CheckSizeofPointer.cpp Move 'LocalCheckers.h' to the 'Checkers' subdirectory. 2010-01-26 22:59:55 +00:00
Checker.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
CheckerHelpers.cpp Zap unused UnaryOperator::OffsetOf. 2010-08-13 01:36:11 +00:00
CocoaConventions.cpp Correctly handle 'Class<...>' when examining Cocoa conventions in the static analyzer. Fixes a crash reported in <rdar://problem/8272168>. Patch by Henry Mason! 2010-08-05 00:19:24 +00:00
DereferenceChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
DivZeroChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
Environment.cpp Add an ivar to SymbolReaper for the current statement, and then stop passing the current statement around everywhere. Preparation for symbolic extents. 2010-07-01 20:09:55 +00:00
ExplodedGraph.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
FixedAddressChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
FlatStore.cpp - Allow making ElementRegions with complex offsets (expressions or symbols) for the purpose of bounds-checking. 2010-08-16 01:15:17 +00:00
FrontendActions.cpp Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration 2010-06-15 17:48:49 +00:00
GRBlockCounter.cpp Since we now may have basicblocks with the same block is in different function, 2010-03-23 05:05:02 +00:00
GRCXXExprEngine.cpp Improve comments. 2010-08-24 04:26:55 +00:00
GRCoreEngine.cpp More PCH -> AST renaming. 2010-08-18 23:57:06 +00:00
GRExprEngine.cpp Detabify. 2010-08-22 01:00:03 +00:00
GRExprEngineExperimentalChecks.cpp Added an path-sensitive unreachable code checker to the experimental analyzer checks. 2010-07-23 23:04:53 +00:00
GRExprEngineExperimentalChecks.h Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations) 2010-08-06 22:23:07 +00:00
GRExprEngineInternalChecks.h Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations) 2010-08-06 22:23:07 +00:00
GRState.cpp Move GRState::AssumeInBound out of its header file -- it's not really inline-friendly anymore. 2010-08-16 20:34:06 +00:00
HTMLDiagnostics.cpp llvm::errs() is non-buffered, so it doesn't need to be flushed. 2010-06-28 15:56:07 +00:00
IdempotentOperationChecker.cpp Improvements to IdempotentOperationChecker and its use of PseudoConstantAnalysis 2010-08-24 21:09:07 +00:00
LLVMConventionsChecker.cpp Remove dead code, caught by unused function warnings. 2010-08-15 01:15:58 +00:00
MacOSXAPIChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
MallocChecker.cpp Generate Attr subclasses with TableGen. 2010-08-18 23:23:40 +00:00
ManagerRegistry.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
MemRegion.cpp MemRegion can refer to ASTContext without external help. 2010-08-11 06:10:55 +00:00
NSAutoreleasePoolChecker.cpp Overhaul the AST representation of Objective-C message send 2010-04-21 00:45:42 +00:00
NSErrorChecker.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
NoReturnFunctionChecker.cpp the big refactoring bits of PR3782. 2010-03-30 20:24:48 +00:00
OSAtomicChecker.cpp MemRegion can refer to ASTContext without external help. 2010-08-11 06:10:55 +00:00
ObjCUnusedIVarsChecker.cpp Add clang support for IBOutletCollection. 2010-05-19 17:38:06 +00:00
PathDiagnostic.cpp Simplify code and remove comment that is no longer relevant. 2010-07-07 12:24:14 +00:00
PlistDiagnostics.cpp Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration 2010-06-15 17:48:49 +00:00
PointerArithChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
PointerSubChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
PthreadLockChecker.cpp Revert 95541. 2010-02-08 16:18:51 +00:00
RangeConstraintManager.cpp Fold additive constants, and support comparsions of the form $sym+const1 <> const2 2010-06-18 22:49:11 +00:00
RegionStore.cpp Adjust code placement. 2010-08-23 01:37:32 +00:00
ReturnPointerRangeChecker.cpp MemRegion can refer to ASTContext without external help. 2010-08-11 06:10:55 +00:00
ReturnUndefChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
SVals.cpp Remove a special case for OSAtomic functions. We can already bind and retrieve 2010-08-21 11:00:26 +00:00
SValuator.cpp Pointer comparisons (and pointer-pointer subtraction). Basically filling in SimpleSValuator::EvalBinOpLL(). 2010-06-28 08:26:15 +00:00
SimpleConstraintManager.cpp - Allow making ElementRegions with complex offsets (expressions or symbols) for the purpose of bounds-checking. 2010-08-16 01:15:17 +00:00
SimpleConstraintManager.h - Allow making ElementRegions with complex offsets (expressions or symbols) for the purpose of bounds-checking. 2010-08-16 01:15:17 +00:00
SimpleSValuator.cpp Allow EvalBinOpNN to handle expressions of the form $a+$b if $b can be reduced to a constant. 2010-08-09 20:31:57 +00:00
StackAddrLeakChecker.cpp Detabify. 2010-08-22 01:00:03 +00:00
Store.cpp - Allow making ElementRegions with complex offsets (expressions or symbols) for the purpose of bounds-checking. 2010-08-16 01:15:17 +00:00
StreamChecker.cpp Detabify. 2010-08-22 01:00:03 +00:00
SymbolManager.cpp Add a new metadata symbol type for checkers to use. Metadata symbols must be associated with a region and will be collected if the region dies or its checker fails to mark it as in use. 2010-08-14 20:18:45 +00:00
UndefBranchChecker.cpp Constify all references to Stmt* and CFGBlock* in libChecker. 2010-07-20 06:22:24 +00:00
UndefCapturedBlockVarChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefResultChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefinedArraySubscriptChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefinedAssignmentChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UnixAPIChecker.cpp Remove copy of 'Optional' in Clang tree, and convert clients to use the one now in the LLVM tree. 2010-04-09 20:26:58 +00:00
UnreachableCodeChecker.cpp Small changes to UnreachableCodeChecker 2010-08-12 23:01:06 +00:00
VLASizeChecker.cpp Add comment noting VLASizeChecker's duty in defining a VLA's extent. 2010-07-06 23:33:54 +00:00
ValueManager.cpp Another metadata symbol change (missed a file) 2010-08-14 20:22:12 +00:00