llvm-project/clang/test/Analysis
Jordan Rose d86b3bdb7a [analyzer] Clean up the printing of FieldRegions for leaks.
Unfortunately, generalized region printing is very difficult:
- ElementRegions are used both for casting and as actual elements.
- Accessing values through a pointer means going through an intermediate
  SymbolRegionValue; symbolic regions are untyped.
- Referring to implicitly-defined variables like 'this' and 'self' could be
  very confusing if they come from another stack frame.

We fall back to simply not printing the region name if we can't be sure it
will print well. This will allow us to improve in the future.

llvm-svn: 161512
2012-08-08 18:23:36 +00:00
..
diagnostics PlistDiagnostics: force the ranges for control-flow edges to be single locations, forcing 2012-06-05 22:00:52 +00:00
engine [analyzer] Fix a spurious undef value warning. 2012-06-01 23:48:44 +00:00
inlining [analyzer] + New line at end of file 2012-08-07 05:12:29 +00:00
CFContainers.mm Teach ObjCContainersChecker that the array passed to CFArrayGetValueAtIndex might not be a symbolic value. 2012-04-05 05:18:05 +00:00
CFDateGC.m Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
CFNumber.c
CFRetainRelease_NSAssertionHandler.m
CGColorSpace.c
CheckNSError.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
MissingDealloc.m Sink definition of IBOutlet, IBOutletCollection, and IBAction into 2012-06-19 00:37:39 +00:00
NSPanel.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
NSString.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
NSWindow.m
NoReturn.m [analyzer] Check for +raise:format: on subclasses of NSException as well. 2012-06-22 17:15:58 +00:00
OSAtomic_mac.cpp
ObjCProperties.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
ObjCRetSigs.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
PR2599.m
PR2978.m
PR3991.m
PR7218.c
PR9741.cpp
PR12905.c Analyzer: Fix PR12905, a crash when encountering a call to a function named "C". 2012-05-21 19:40:38 +00:00
additive-folding-range-constraints.c [analyzer] Convert many existing tests to use clang_analyzer_eval. 2012-05-16 16:01:10 +00:00
additive-folding.cpp [analyzer] Fix test for PR12206, which was failing on i386. 2012-05-16 20:29:44 +00:00
analyzeOneFunction.m
analyze_display_progress.c
analyzer-stats.c
array-struct-region.c [analyzer] Revamp RegionStore to distinguish regions with symbolic offsets. 2012-08-08 18:23:27 +00:00
array-struct.c
auto-obj-dtors-cfg-output.cpp Refine CFG so that '&&' and '||' don't lead to extra confluence points when used in a branch, but 2012-07-14 05:04:10 +00:00
base-init.cpp [analyzer] Turn -cfg-add-initializers on by default, and remove the flag. 2012-07-31 18:04:59 +00:00
blocks-no-inline.c [analyzer] Add a new abstraction over all types of calls: CallEvent 2012-07-02 19:27:35 +00:00
blocks.m static analyzer: add inlining support for directly called blocks. 2012-06-01 20:04:04 +00:00
bool-assignment.cpp [analyzer] New checker for assignment of non-0/1 values to Boolean variables. 2012-02-11 16:32:09 +00:00
bool-assignment2.c [analyzer] New checker for assignment of non-0/1 values to Boolean variables. 2012-02-11 16:32:09 +00:00
bstring.c [analyzer] Convert many existing tests to use clang_analyzer_eval. 2012-05-16 16:01:10 +00:00
casts.c [analyzer] Exit early if constraint solver is given a non-integer symbol 2012-05-10 21:49:52 +00:00
casts.m
cfref_PR2519.c
cfref_rdar6080742.c
check-deserialization.cpp [analyzer] PCH deserialization optimization. 2012-04-12 22:36:48 +00:00
chroot.c
comparison-implicit-casts.cpp Add triples for test. 2012-05-16 21:13:36 +00:00
complex.c
concrete-address.c
constant-folding.c [analyzer] Convert many existing tests to use clang_analyzer_eval. 2012-05-16 16:01:10 +00:00
coverage.c [analyzer] Fix lack of coverage after empty inlined function. 2012-06-01 23:48:40 +00:00
cstring-syntax-cxx.cpp [analyzer] Turn on by default the Malloc Checker and a couple of CString 2012-02-20 21:10:37 +00:00
cstring-syntax.c Turn on strncat-size warning implemented a while ago. 2012-08-07 18:36:58 +00:00
ctor-inlining.mm [analyzer] Add a test for copy-constructor inlining. 2012-08-03 23:08:36 +00:00
cxx-crashes.cpp [analyzer] Array CompoundLiteralExprs need to be treated like lvalues. 2012-06-16 01:28:03 +00:00
cxx-for-range-cfg.cpp Teach CFG construction about destructors resulting from references to array types. Fixes crash in <rdar://problem/11671507>. 2012-07-18 04:57:57 +00:00
cxx-method-names.cpp [analyzer] Guard against C++ member functions that look like system functions. 2012-07-10 23:13:01 +00:00
cxx11-crashes.cpp [analyzer] Don't crash on LValBitCast 2012-05-25 16:02:16 +00:00
dead-stores.c Look through chains of 'x = y = z' when employing silencing heuristics in the DeadStoresChecker. 2012-04-04 19:58:03 +00:00
dead-stores.cpp
dead-stores.m [analyzer] Add a test for dead stores, which uses OpaqueValExpr. 2012-05-15 23:12:53 +00:00
debug-CallGraph.c Add a basic CallGraph to Analysis. 2012-03-08 00:42:23 +00:00
default-analyze.m Add test case for <rdar://problem/8808566>, which is now fixed by inlining support. 2012-03-16 04:59:57 +00:00
default-diagnostic-visitors.c
delegates.m Turn -Wobjc-root-class on by default. <rdar://problem/11203649>. 2012-07-25 07:26:32 +00:00
derived-to-base.cpp
div-zero.cpp
domtest.c Refine CFG so that '&&' and '||' don't lead to extra confluence points when used in a branch, but 2012-07-14 05:04:10 +00:00
dtor.cpp [analyzer] Turn -cfg-add-initializers on by default, and remove the flag. 2012-07-31 18:04:59 +00:00
dtors-in-dtor-cfg-output.cpp Colorize and condense CFG pretty-printing. 2011-12-22 23:33:52 +00:00
dynamic-cast.cpp [analyzer] Don't inline virtual calls unless we can devirtualize properly. 2012-07-12 00:16:25 +00:00
elementtype.c
exercise-ps.c Remove the "C" in "implicitly declaring C library function" diagnostic 2012-01-27 23:21:02 +00:00
fields.c
free.c [analyzer] Turn on by default the Malloc Checker and a couple of CString 2012-02-20 21:10:37 +00:00
func.c
global-region-invalidation.c [analyzer] Introduce clang_analyzer_eval for regression test constraint checks. 2012-05-16 16:01:07 +00:00
html-diags-multifile.c [analyzer diagnostics] Change CompactPathDiagnostic to recursively compact diagnostics in calls into macro pieces. 2012-03-02 01:27:31 +00:00
html-diags-multifile.h [analyzer diagnostics] Change CompactPathDiagnostic to recursively compact diagnostics in calls into macro pieces. 2012-03-02 01:27:31 +00:00
html-diags.c Reduce temp file pollution in some test cases. 2012-08-03 10:35:06 +00:00
idempotent-operations-limited-loops.c Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>. 2012-01-20 06:00:17 +00:00
idempotent-operations.c Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>. 2012-01-20 06:00:17 +00:00
idempotent-operations.cpp Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>. 2012-01-20 06:00:17 +00:00
idempotent-operations.m Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>. 2012-01-20 06:00:17 +00:00
initializer.cpp [analyzer] Update initializer assertion for delegating constructors. 2012-08-03 23:31:15 +00:00
initializers-cfg-output.cpp [analyzer] Turn -cfg-add-initializers on by default, and remove the flag. 2012-07-31 18:04:59 +00:00
inline-not-supported.c [analyzer] Rework inlining related command line options. 2012-03-08 23:16:35 +00:00
inline-plist.c [analyzer] Add experimental "issue hash" to the plist diagnostic. 2012-06-08 00:04:43 +00:00
inline-unique-reports.c [analyzer] Solve another source of non-determinism in the diagnostic 2012-08-02 23:41:05 +00:00
inline.c [analyzer] When inlining, make sure we use the definition decl. 2012-07-09 16:54:49 +00:00
inline.cpp [analyzer] Don't inline virtual calls unless we can devirtualize properly. 2012-07-12 00:16:25 +00:00
inline2.c [analyzer] Rework inlining related command line options. 2012-03-08 23:16:35 +00:00
inline3.c [analyzer] Rework inlining related command line options. 2012-03-08 23:16:35 +00:00
inline4.c [analyzer] Rework inlining related command line options. 2012-03-08 23:16:35 +00:00
ivars.m [analyzer] Add a test that messages to super invalidate ivars. 2012-07-31 02:05:30 +00:00
keychainAPI-diagnostic-visitor.m
keychainAPI.m [analyzer] Rework inlining related command line options. 2012-03-08 23:16:35 +00:00
lambdas.cpp Include lambda capture init expressions in CFG. 2012-04-12 20:34:52 +00:00
lvalue.cpp
malloc-annotations.c [analyzer] Track malloc'd regions stored in structs. 2012-08-08 18:23:31 +00:00
malloc-interprocedural.c [analyzer] Malloc: Utter the name of the leaked variable. 2012-03-21 19:45:08 +00:00
malloc-overflow.c
malloc-overflow.cpp
malloc-plist.c [analyzer] Add experimental "issue hash" to the plist diagnostic. 2012-06-08 00:04:43 +00:00
malloc-sizeof.c [analyzer] MallocSizeofChecker false positive: when sizeof is argument 2012-06-08 18:44:43 +00:00
malloc.c [analyzer] Clean up the printing of FieldRegions for leaks. 2012-08-08 18:23:36 +00:00
malloc.cpp [analyzer] One more pointer escape test. 2012-05-04 22:18:36 +00:00
malloc.m [analyzer] Allow pointers escape through calls containing callback args. 2012-05-03 23:50:28 +00:00
malloc.mm [analyzer] Teach malloc checker that initWith[Bytes|Characters}NoCopy 2012-06-22 22:42:30 +00:00
method-arg-decay.m After numerous requests, have Objective-C 'method declared here' notes mention the actual method. This looks better within an IDE, where text isn't always regurgitated in the presentation of a warning. Fixes radar 10914035. 2012-02-27 22:55:11 +00:00
method-call-intra-p.cpp [analyzer] Do not invalidate arguments when the parameter's 2011-12-20 22:35:30 +00:00
method-call-path-notes.cpp [analyzer] Add plist output checks for all four "path notes" tests. 2012-08-06 21:28:14 +00:00
method-call.cpp [analyzer] Convert many existing tests to use clang_analyzer_eval. 2012-05-16 16:01:10 +00:00
misc-ps-64.m
misc-ps-arm.m Having RegionStore lower field bindings to raw offsets, just like ElementRegions. This is a bit 2012-05-08 21:49:54 +00:00
misc-ps-cxx0x.cpp [analyzer] Track null/uninitialized C++ objects used in method calls. 2012-08-03 23:08:49 +00:00
misc-ps-eager-assume.m
misc-ps-ranges.m
misc-ps-region-store-i386.m
misc-ps-region-store-x86_64.m
misc-ps-region-store.cpp [analyzer] Use a more robust check for null in CallAndMessageChecker. 2012-08-04 01:04:52 +00:00
misc-ps-region-store.m [analyzer] Convert existing checkers to use check::preCall and check::postCall. 2012-07-02 19:28:21 +00:00
misc-ps-region-store.mm Add analyzer test for using of C++ references with ObjC object pointers, reported in <rdar://problem/10569024>. 2012-02-18 21:27:25 +00:00
misc-ps.c Update ExprEngine's handling of ternary operators to find the ternary expression 2012-07-25 21:58:25 +00:00
misc-ps.m Tweak test case to not emit warning. 2012-07-26 22:32:35 +00:00
new.cpp [analyzer] Handle new-expressions with initializers for scalars. 2012-07-16 23:38:09 +00:00
nil-receiver-undefined-larger-than-voidptr-ret-region.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
nil-receiver-undefined-larger-than-voidptr-ret.m Fix subtle bug in AnalysisConsumer where we would not analyze functions whose parent 2012-07-02 20:21:48 +00:00
no-exit-cfg.c
no-outofbounds.c
nonnull.m [analyzer] Convert existing checkers to use check::preCall and check::postCall. 2012-07-02 19:28:21 +00:00
null-deref-ps-region.c
null-deref-ps.c [frontend] Don't allow a mapping to a warning override an error/fatal mapping. 2012-02-03 01:49:51 +00:00
nullptr.cpp Replace inline asm constraint "=a" by the more general constraint "=r". 2012-05-22 11:03:10 +00:00
objc-arc.m "Teach" RetainCountChecker about dispatch_set_context, which can indirectly free its argument later. Fixes <rdar://problem/11059275>. 2012-03-22 06:29:41 +00:00
objc-bool.m Fix tests that weren't actually verifying anything. 2012-04-15 22:09:44 +00:00
objc-boxing.m [analyzer] Test objC boxing. 2012-05-11 23:15:16 +00:00
objc-for.m [analyzer] Add ObjCLoopChecker: objects from NSArray et al are non-nil. 2012-06-11 16:40:41 +00:00
objc-method-coverage.m [analyzer] PCH deserialization optimization. 2012-04-12 22:36:48 +00:00
objc-subscript.m [analyzer] Combine all ObjC message CallEvents into ObjCMethodCall. 2012-07-18 21:59:51 +00:00
operator-calls.cpp [analyzer] Use CallEvent for building inlined stack frames. 2012-07-10 22:07:57 +00:00
out-of-bounds.c [analyzer] Rework both constraint managers to handle mixed-type comparisons. 2012-05-08 03:27:16 +00:00
outofbound-notwork.c [analyzer] Fix RUN lines for old XFAIL tests, one of which actually works. 2012-05-16 16:01:14 +00:00
outofbound.c [analyzer] Add buffer overflow test case. 2012-05-11 23:15:11 +00:00
override-werror.c
plist-output-alternate.m [analyzer] Add experimental "issue hash" to the plist diagnostic. 2012-06-08 00:04:43 +00:00
plist-output.m [analyzer] Improve arrow locations for PseudoObjectExprs. 2012-08-06 21:28:11 +00:00
pr4209.m
pr_2542_rdar_6793404.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
pr_4164.c
properties.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
pthreadlock.c
ptr-arith.c [analyzer] Convert many existing tests to use clang_analyzer_eval. 2012-05-16 16:01:10 +00:00
rdar-6442306-1.m
rdar-6540084.m Use Sema::RequireCompleteType to check for the completeness of 2011-11-14 22:10:01 +00:00
rdar-6541136-region.c
rdar-6562655.m
rdar-6600344-nil-receiver-undefined-struct-ret.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
rdar-7168531.m Restructure how the driver communicates information about the 2012-06-20 06:18:46 +00:00
redefined_system.c [analyzer] Fixup for a test case. 2012-04-16 21:51:03 +00:00
refcnt_naming.m [analyzer] Only run this test with no IPA 2012-07-30 23:48:31 +00:00
reference.cpp [analyzer] Don't assume values bound to references are automatically non-null. 2012-08-04 00:25:30 +00:00
region-1.m
region-store.c [analyzer] We currently do not fully support CompoundLiterals in 2012-05-08 23:40:38 +00:00
retain-release-gc-only.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
retain-release-inline.m Avoid applying retain/release effects twice in RetainCountChecker when a function call was inlined (i.e., we do not need to apply summaries in such cases). 2012-03-23 06:26:56 +00:00
retain-release-path-notes-gc.m [analyzer] Add plist output checks for all four "path notes" tests. 2012-08-06 21:28:14 +00:00
retain-release-path-notes.m [analyzer] Add plist output checks for all four "path notes" tests. 2012-08-06 21:28:14 +00:00
retain-release-region-store.m Change RetainCountChecker to eagerly "escape" retained objects when they are 2012-03-27 01:12:45 +00:00
retain-release.m [analyzer] Add a test case for OS X 10.8's NSMakeCollectable under non-GC. 2012-08-07 01:11:14 +00:00
retain-release.mm [analyzer]Malloc,RetainRelease: Allow pointer to escape via NSMapInsert. 2012-03-30 05:48:16 +00:00
security-syntax-checks-no-emit.c Turn 'SecuritySyntaxChecker' into a "meta" security checker for insecure APIs. Now 2012-01-20 01:44:29 +00:00
security-syntax-checks.m [analyzer] Change the warning to suggest 'strlcat/strlcpy' as 2012-01-31 19:33:31 +00:00
self-init.m [analyzer] Handle inlining of instance calls to super. 2012-07-30 23:48:36 +00:00
sizeofpointer.c
stack-addr-ps.c Teach analyzer that blocks with no captures are globals. Fixes <rdar://problem/10348049>. 2012-02-18 22:41:01 +00:00
stack-addr-ps.cpp When going through references to check if the function returns the address 2012-04-30 23:23:55 +00:00
stack-block-returned.cpp
stackaddrleak.c
stats.c [analyzer] Record the basic blocks covered by the analyzes run. 2012-04-03 02:05:47 +00:00
stream.c
string-fail.c [analyzer] Convert many existing tests to use clang_analyzer_eval. 2012-05-16 16:01:10 +00:00
string.c [analyzer] Fix test for PR12206, which was failing on i386. 2012-05-16 20:29:44 +00:00
svalbuilder-logic.c [analyzer] Fix an assertion failure triggered by the analyzer buildbot. 2012-05-02 00:05:23 +00:00
system-header-simulator-objc.h [analyzer] Fixup to r158958. 2012-06-22 22:08:09 +00:00
system-header-simulator.h [analyzer] Malloc leak false positive: Allow xpc context to escape. 2012-06-20 23:35:57 +00:00
taint-generic.c [analyzer] Do not assert on constructing SymSymExpr with diff types. 2012-05-03 02:13:53 +00:00
taint-tester.c Having RegionStore lower field bindings to raw offsets, just like ElementRegions. This is a bit 2012-05-08 21:49:54 +00:00
taint-tester.cpp [analyzer] Add more C taint sources/sinks. 2012-01-24 19:32:25 +00:00
taint-tester.m [analyzer] It's possible to have a non PointerType expression evaluate to a Loc value. When this happens, use the default type. 2012-01-21 06:59:01 +00:00
temp-obj-dtors-cfg-output.cpp [analyzer] Turn -cfg-add-initializers on by default, and remove the flag. 2012-07-31 18:04:59 +00:00
templates.cpp [analyzer] Look through SubstNonTypeTemplateParmExprs. 2012-07-27 01:15:02 +00:00
test-variably-modified-types.c [analyzer] Test variable modified types. 2012-05-11 23:34:14 +00:00
traversal-algorithm.mm Make this test invariant to future changes of the max loop unrolling count. 2012-07-02 21:02:22 +00:00
undef-buffers.c
uninit-msg-expr.m
uninit-ps-rdar6145427.m
uninit-sometimes.cpp PR13360: When deciding the earliest point which inevitably leads to an 2012-07-13 23:33:44 +00:00
uninit-vals-ps-region.m Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>. 2012-01-20 06:00:17 +00:00
uninit-vals-ps.c
uninit-vals.m
unions-region.m
unix-fns.c "This change adds alloca/valloc checks to UnixAPIChecker. It includes a small refactoring for 2012-01-11 08:13:21 +00:00
unreachable-code-path.c [analyzer] Tweak the UnreachableCode checker to not warning about unreachable default blocks. Patch by Cyril Roelandt! 2012-02-29 06:05:28 +00:00
unused-ivars.m [analyzer] Fix a regression in ObjCUnusedIVars checker. 2012-05-15 22:31:56 +00:00
variadic-method-types.m [analyzer] Check that the arguments to NSOrderedSet creation methods are valid ObjC objects. 2012-04-06 19:06:01 +00:00
virtualcall.cpp Add initial version of checker to check if virtual member functions are called transitively 2012-01-03 23:18:57 +00:00