llvm-project/clang/test/Analysis
Tom Care f8a9863df9 Improved IdempotentOperationChecker false positives and false negatives.
- Unfinished analysis may still report valid warnings if the path was completely analyzed
- New 'CanVary' heuristic to recursively determine if a subexpression has a varying element
- Updated test cases, including one known bug
- Exposed GRCoreEngine through GRExprEngine

llvm-svn: 110970
2010-08-12 22:45:47 +00:00
..
CFDateGC.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
CFNumber.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
CFRetainRelease_NSAssertionHandler.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
CGColorSpace.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
CheckNSError.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
MissingDealloc.m Rename -cc1 option '-warn-objc-missing-dealloc' to '-analyzer-check-objc-missing-dealloc'. 2010-02-05 01:59:21 +00:00
NSPanel.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
NSString.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
NSWindow.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
NoReturn.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
ObjCProperties.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
ObjCRetSigs.m Rename -cc1 option '-warn-objc-methodsigs' to '-analyzer-check-objc-methodsigs'. 2010-02-05 01:57:44 +00:00
PR2599.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
PR2978.m Rename -cc1 option '-warn-objc-missing-dealloc' to '-analyzer-check-objc-missing-dealloc'. 2010-02-05 01:59:21 +00:00
PR3991.m Improve diagnostics on incomplete implementation 2010-03-27 19:02:17 +00:00
PR7218.c After conversations with Zhongxing Xu and Jordy Rose, refine the logic in 2010-05-31 01:22:04 +00:00
additive-folding-range-constraints.c Don't depend on system headers in clang -cc1 tests. 2010-06-24 11:06:12 +00:00
additive-folding.c Added some false positive checking to UnreachableCodeChecker 2010-07-27 23:30:21 +00:00
analyze_display_progress.c Fix -analyze-display-progress (once again), this time with an additional regression test. 2010-06-25 20:59:24 +00:00
array-struct-region.c Move new test (that requires RegionStore) into its own file. 2010-07-29 07:11:59 +00:00
array-struct.c Move new test (that requires RegionStore) into its own file. 2010-07-29 07:11:59 +00:00
blocks.m Add test case showing that a recursive block that captures a block pointer that 2010-02-16 16:55:10 +00:00
bstring.c When checking if a buffer access is valid, first make sure the buffer has a valid Loc. Fixes PR7830. 2010-08-05 23:11:30 +00:00
casts.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
casts.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
cfref_PR2519.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
cfref_rdar6080742.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
complex.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
concrete-address.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
conditional-op-missing-lhs.c Rename -cc1 option '-warn-dead-stores' to '-analyzer-check-dead-stores'. 2010-02-05 01:52:40 +00:00
constant-folding.c Added some false positive checking to UnreachableCodeChecker 2010-07-27 23:30:21 +00:00
dead-stores.c Improved IdempotentOperationChecker false positives and false negatives. 2010-08-12 22:45:47 +00:00
dead-stores.cpp Add dead stores C++ test case that was previously asserting due to an 2010-06-25 22:48:52 +00:00
dead-stores.m Dead emit dead store warnings when assigning nil to an ObjC object 2010-02-23 21:19:33 +00:00
delegates.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
elementtype.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
exercise-ps.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
fields.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
flat-store.c Improve flat store: MemRegion::getAsOffset() computes a region's offset within 2010-08-02 04:56:14 +00:00
free.c Catch free()s on non-regions and regions known to be not from malloc(), by checking the symbol type and memory space. 2010-06-07 19:32:37 +00:00
func.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
idempotent-operations.c Improved IdempotentOperationChecker false positives and false negatives. 2010-08-12 22:45:47 +00:00
inline.c Turn -analyzer-inline-call on for C functions. This also fixed a bug that 2010-05-06 03:38:27 +00:00
inline2.c Turn -analyzer-inline-call on for C functions. This also fixed a bug that 2010-05-06 03:38:27 +00:00
inline3.c Turn -analyzer-inline-call on for C functions. This also fixed a bug that 2010-05-06 03:38:27 +00:00
inline4.c Turn -analyzer-inline-call on for C functions. This also fixed a bug that 2010-05-06 03:38:27 +00:00
malloc.c After a lengthy design discussion, add support for "ownership attributes" for malloc/free checking. Patch by Andrew McGregor! 2010-07-31 01:52:11 +00:00
method-call.cpp Make -analyzer-inline-call not a separate analysis. Instead it's a boolean 2010-05-06 02:59:29 +00:00
misc-ps-64.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
misc-ps-basic-store.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
misc-ps-eager-assume.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
misc-ps-flat-store.c Add support for binding and retrieving VarRegions in flat store. 2010-02-08 05:40:07 +00:00
misc-ps-ranges.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
misc-ps-region-store-i386.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
misc-ps-region-store-x86_64.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
misc-ps-region-store.cpp Teach GRExprEngine::VisitLValue() about FloatingLiteral, ImaginaryLiteral, and CharacterLiteral. Fixes an assertion failure reported in PR 7675. 2010-07-29 01:31:59 +00:00
misc-ps-region-store.m Add test case for <rdar://problem/8258814>. 2010-08-02 20:33:00 +00:00
misc-ps-region-store.mm Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
misc-ps.m 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
new.cpp The second check point in the old test case was invalid. 2010-04-21 02:22:25 +00:00
nil-receiver-undefined-larger-than-voidptr-ret.m Refactor the AnalysisConsumer to analyze functions after the whole 2010-04-30 04:14:20 +00:00
no-exit-cfg.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
no-outofbounds.c 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
null-deref-ps-region.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
null-deref-ps-temp.c Improved IdempotentOperationChecker false positives and false negatives. 2010-08-12 22:45:47 +00:00
null-deref-ps.c Improved IdempotentOperationChecker false positives and false negatives. 2010-08-12 22:45:47 +00:00
outofbound.c Support sizeof for VLA expressions (sizeof(someVLA)). sizeof(int[n]) still unimplemented. A VLA region's sizeof value matches its extent. 2010-07-05 04:42:43 +00:00
override-werror.c Improve diagnostics when we fail to convert from a source type to a 2010-04-09 00:35:39 +00:00
plist-output.m Tweak null dereference diagnostics to give clearer diagnostics when 2010-03-23 01:11:38 +00:00
pr4209.m Improve diagnostics on incomplete implementation 2010-03-27 19:02:17 +00:00
pr_2542_rdar_6793404.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
pr_4164.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
ptr-arith.c Pointers casted as integers still count as locations to SimpleSValuator, so don't crash if we do a funny thing like ((int)ptr)&1. Fixes PR7527. 2010-06-30 01:35:20 +00:00
rdar-6442306-1.m 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
rdar-6540084.m Rename -cc1 option '-warn-dead-stores' to '-analyzer-check-dead-stores'. 2010-02-05 01:52:40 +00:00
rdar-6541136-region.c Finesse 'idempotent operations' analyzer issues to include the opcode of the binary operator for clearer error reporting. Also remove the 'Idempotent operation' prefix in messages; it's redundant since the bug type is the same. 2010-07-27 18:49:08 +00:00
rdar-6541136.c Finesse 'idempotent operations' analyzer issues to include the opcode of the binary operator for clearer error reporting. Also remove the 'Idempotent operation' prefix in messages; it's redundant since the bug type is the same. 2010-07-27 18:49:08 +00:00
rdar-6562655.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
rdar-6582778-basic-store.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
rdar-6600344-nil-receiver-undefined-struct-ret.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
rdar-7168531.m A bug I've introduced in STDIN handling surfaced a few broken tests, fix them. 2010-06-25 12:48:07 +00:00
refcnt_naming.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
reference.cpp Assignments to reference variables shouldn't kill the variable. 2010-06-04 01:14:56 +00:00
region-1.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
retain-release-basic-store.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
retain-release-gc-only.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
retain-release-region-store.m Fix idempotent operations false positive caused by ivars not being invalidated in function 2010-08-02 21:59:12 +00:00
retain-release.m 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
security-syntax-checks-no-emit.c Rename -cc1 option '-warn-security-syntactic' to '-analyzer-check-security-syntactic'. 2010-02-05 01:50:36 +00:00
security-syntax-checks.m Rename -cc1 option '-warn-security-syntactic' to '-analyzer-check-security-syntactic'. 2010-02-05 01:50:36 +00:00
sizeofpointer.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
stack-addr-ps.c Tweak stack address checker to report multiple cases where globals may reference stack memory. 2010-06-17 04:21:37 +00:00
stack-addr-ps.cpp Teach SemaChecking::CheckReturnStackAddr about ImplicitCastExprs that convert values to an lvalue. This allows us to warn (again) about returning references to stack variables. (fixes PR 7812). 2010-08-04 20:01:07 +00:00
stackaddrleak.c Tweak stack address checker to report multiple cases where globals may reference stack memory. 2010-06-17 04:21:37 +00:00
stream.c add test case. 2010-08-06 00:04:40 +00:00
string.c Added some false positive checking to UnreachableCodeChecker 2010-07-27 23:30:21 +00:00
undef-buffers.c Add support for calloc() in MallocChecker. Patch by Jordy Rose, with my 2010-06-01 03:01:33 +00:00
uninit-msg-expr.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
uninit-ps-rdar6145427.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
uninit-vals-ps-region.m Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations) 2010-08-06 22:23:07 +00:00
uninit-vals-ps.c Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
uninit-vals.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
uninit-vals.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
unions-region.m Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'. 2010-02-05 02:06:54 +00:00
unix-fns.c Add static analyzer check for calls to 'pthread_once()' where the control-flow has 2010-04-08 19:53:31 +00:00
unreachable-code-path.c Fixed logic error in UnreachableCodeChecker's marking algorithm that would sometimes allow for multiple sequential statements to be flagged. 2010-08-05 17:53:44 +00:00
unused-ivars.m Enhance the unused ivar checker to not consider an ivar to be accidentally unused 2010-02-25 03:26:55 +00:00