llvm-project/clang/test/Analysis
Devin Coughlin 803ee03117 [analyzer] Teach trackNullOrUndefValue() about class property accessors.
Teach trackNullOrUndefValue() how to properly look through PseudoObjectExprs
to find the underlying semantic method call for property getters. This fixes a
crash when looking through class property getters that I introduced in r265839.

rdar://problem/26796666

llvm-svn: 273340
2016-06-22 00:20:00 +00:00
..
Inputs [analyzer] Nullability: Don't warn along paths where null returned from non-null. 2016-03-28 20:30:25 +00:00
diagnostics [analyzer] Invalidate destination of std::copy() and std::copy_backward(). 2016-02-07 16:55:44 +00:00
engine
inlining [analyzer] Teach trackNullOrUndefValue() about class property accessors. 2016-06-22 00:20:00 +00:00
objc
CFContainers-invalid.c
CFContainers.mm [analyzer] Remove ObjCContainersChecker size information when a CFMutableArrayRef escapes 2015-06-15 01:00:42 +00:00
CFDateGC.m
CFNumber.c
CFRetainRelease_NSAssertionHandler.m
CGColorSpace.c
CheckNSError.m
DeallocMissingRelease.m [analyzer] Add CIFIlter modeling to DeallocChecker. 2016-03-25 21:18:22 +00:00
DeallocUseAfterFreeErrors.m [analyzer] Move ObjCSuperDeallocChecker out of the alpha package. 2016-03-02 22:01:03 +00:00
DynamicTypePropagation.m [analyzer] Move the ObjCGenericsChecker out of the alpha package. 2015-11-03 19:38:03 +00:00
MPIMock.h [analyzer] Add checker to verify the correct usage of the MPI API 2016-06-13 03:22:41 +00:00
Malloc+MismatchedDeallocator+NewDelete.cpp Detect uses of mismatching forms of 'new' and 'delete' 2015-05-18 19:59:11 +00:00
Malloc+MismatchedDeallocator_intersections.cpp [analyzer] This implements potential undefbehavior.ZeroAllocDereference checker. 2015-04-14 14:18:04 +00:00
Malloc+NewDelete_intersections.cpp
MemRegion.cpp [analyzer] Add checker to verify the correct usage of the MPI API 2016-06-13 03:22:41 +00:00
MismatchedDeallocator-checker-test.mm Detect uses of mismatching forms of 'new' and 'delete' 2015-05-18 19:59:11 +00:00
MismatchedDeallocator-path-notes.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
MissingDealloc.m [analyzer] Move ObjCDeallocChecker out of the alpha package. 2016-03-02 21:50:54 +00:00
NSContainers.m [static analyzer] Don't flag nil storage into NSMutableDictionary. 2015-11-11 00:49:22 +00:00
NSPanel.m
NSString.m [analyzer] Use BodyFarm-synthesized body even when actual body available. 2016-03-28 23:55:58 +00:00
NSWindow.m
NewDelete+MismatchedDeallocator_intersections.cpp
NewDelete-checker-test.cpp [analyzer] This implements potential undefbehavior.ZeroAllocDereference checker. 2015-04-14 14:18:04 +00:00
NewDelete-custom.cpp
NewDelete-intersections.mm [analyzer] This implements potential undefbehavior.ZeroAllocDereference checker. 2015-04-14 14:18:04 +00:00
NewDelete-path-notes.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
NewDelete-variadic.cpp
NewDeleteLeaks-PR18394.cpp
NewDeleteLeaks-PR19102.cpp
NoReturn.m [analyzer] Handle another Android assert function. 2015-12-30 00:08:59 +00:00
OSAtomic_mac.cpp
ObjCProperties.m
ObjCRetSigs.m [Static Analyzer] Some tests do not turn on core checkers. Running the analyzers without the core checkers is not supported. 2015-07-24 03:25:13 +00:00
PR2599.m Update tests touched by r249656 2015-10-08 06:31:22 +00:00
PR2978.m [analyzer] Move ObjCDeallocChecker out of the alpha package. 2016-03-02 21:50:54 +00:00
PR3991.m
PR7218.c
PR9741.cpp
PR12905.c
PR24184.cpp [analyzer] Improve pointer arithmetic checker. 2016-02-23 12:34:39 +00:00
additive-folding-range-constraints.c
additive-folding.cpp
analyzeOneFunction.m
analyze_display_progress.cpp [analyzer] AnalysisConsumer: print fully-qualified function name while displaying progress 2016-02-03 13:35:33 +00:00
analyzer-checker-config.c [Static Analyzer] Basic per checker command line option validation. 2015-07-09 21:43:45 +00:00
analyzer-config.c Reapply r251621 "[Analyzer] Widening loops which do not exit" 2015-10-30 15:23:57 +00:00
analyzer-config.cpp Reapply r251621 "[Analyzer] Widening loops which do not exit" 2015-10-30 15:23:57 +00:00
analyzer-stats.c
array-struct-region.c
array-struct-region.cpp
array-struct.c [analyzer] Relax an assertion in VisitLvalArraySubscriptExpr 2015-02-05 01:02:59 +00:00
auto-obj-dtors-cfg-output.cpp
base-init.cpp
bitwise-ops.c
blocks-no-inline.c
blocks.m [analyzer] Find ObjC 'self' decl even when block captures local named 'self'. 2016-02-23 22:26:04 +00:00
blocks.mm [analyzer] Include block capture copy expressions in the CFG. 2015-11-25 22:35:37 +00:00
bool-assignment.c [analyzer] Fix an off-by-one in evalIntegralCast() 2016-01-18 10:17:16 +00:00
bstring.c
bstring.cpp [analyzer] Invalidate destination of std::copy() and std::copy_backward(). 2016-02-07 16:55:44 +00:00
bug_hash_test.cpp [analyzer] Fix IssueHash generation. 2015-12-01 09:00:41 +00:00
bug_hash_test.m [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
builtin-functions.cpp
builtin_signbit.cpp Fix __builtin_signbit for ppcf128 type 2015-11-06 14:52:46 +00:00
call-invalidation.cpp [analyzer] Let TK_PreserveContents span across the whole base region. 2016-04-25 14:44:25 +00:00
casts.c
casts.cpp
casts.m
cfg.cpp
cfref_PR2519.c
cfref_rdar6080742.c
check-deserialization.cpp
checker-plugins.c
chroot.c
comparison-implicit-casts.cpp
complex-init-list.cpp
complex.c
concrete-address.c
conditional-operator.cpp
conditional-path-notes.c [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
const-method-call.cpp [analyzer] Fix assertion failure invalidating on const member function calls (PR25392). 2015-11-09 19:50:29 +00:00
constant-folding.c
coverage.c
crash-trace.c Fix REQUIRES lines on tests from r228735. Thanks Kristof for pointing out the missing commas 2015-02-11 19:45:13 +00:00
cstring-syntax-cxx.cpp
cstring-syntax.c
ctor.mm
cxx-crashes.cpp
cxx-for-range-cfg.cpp
cxx-for-range.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
cxx-method-names.cpp
cxx11-crashes.cpp P0188R1: add support for standard [[fallthrough]] attribute. This is almost 2016-03-08 00:32:55 +00:00
dead-stores.c
dead-stores.cpp [analyzer] Skip checking blocks in dependent contexts. 2015-11-18 22:46:52 +00:00
dead-stores.m Update mailing list references to lists.llvm.org 2015-08-05 03:55:23 +00:00
debug-CallGraph.c
default-analyze.m
default-diagnostic-visitors.c
delayed-template-parsing-crash.cpp Do not crash when static analysis encounters a FunctionDecl that has a delayed template parse of its body. 2015-08-20 21:27:35 +00:00
delegates.m
derived-to-base.cpp
designated-initializer.c Implementing C99 partial re-initialization behavior (DR-253) 2015-06-10 00:27:52 +00:00
disable-all-checks.c
div-zero.cpp
division-by-zero.c Fix a crash by division by zero in analyzer 2015-06-25 14:06:02 +00:00
domtest.c
dtor-cxx11.cpp
dtor.cpp Analyzer: Teach analyzer how to handle TypeTraitExpr 2015-09-22 19:33:15 +00:00
dtors-in-dtor-cfg-output.cpp
dynamic-cast.cpp
dynamic_type_check.m [Static Analyzer] Fixed a false positive case in DynamicTypeChecker when dealing with forward declarations. 2015-09-18 23:38:57 +00:00
edges-new.mm [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
elementtype.c
enum.cpp
exceptions.mm
exercise-ps.c
explain-svals.cpp [analyzer] Provide .def-files and visitors for SVal/SymExpr/MemRegion, v2. 2016-01-15 15:22:05 +00:00
fields.c [analyzer] Improve pointer arithmetic checker. 2016-02-23 12:34:39 +00:00
free.c [analyzer] Individual configuration options can be specified for checkers. 2015-03-04 17:59:34 +00:00
func.c
generics.m [analyzer] Fix crash in ObjCGenericsChecker 2016-05-11 20:28:41 +00:00
global-region-invalidation.c
global_region_invalidation.mm
html-diags-multifile.c
html-diags-multifile.h
html-diags.c Remove shell requirements from tests that use 'cd' 2015-03-02 22:42:58 +00:00
identical-expressions.cpp [Static Analyzer] Warn when inner and outer conditions are identical. The inner condition is always true. 2015-08-10 07:18:29 +00:00
index-type.c [analyzer] Use a wider integer type for an array index. 2016-02-01 09:29:17 +00:00
initializer.cpp [analyzer] Better detect when C++ object was constructed into existing region. 2015-12-17 00:28:33 +00:00
initializers-cfg-output.cpp Make Sema::getPrintingPolicy less ridiculously expensive. This used to perform 2016-05-19 01:39:10 +00:00
inline-not-supported.c
inline-plist.c [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
inline-unique-reports.c [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
inline.c
inline.cpp [analyzer] Improve modeling of static initializers. 2015-11-19 01:25:28 +00:00
inline2.c
inline3.c
inline4.c
ivars.m
keychainAPI-diagnostic-visitor.m
keychainAPI.m
kmalloc-linux.c
lambda-notes.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
lambdas-generalized-capture.cpp [analyzer] Add tests for generalized lambda capture (C++14). NFC. 2015-11-26 00:11:23 +00:00
lambdas.cpp [analyzer] Fix crash when lambda captures a variable-length array. 2015-12-07 23:01:53 +00:00
lambdas.mm [analyzer] Find ObjC 'self' decl even when block captures local named 'self'. 2016-02-23 22:26:04 +00:00
lit.local.cfg
live-variables.cpp
live-variables.m
localization-aggressive.m [analyzer] Add 'optin' checker package and move localizability checkers into it. 2015-11-04 21:33:41 +00:00
localization.m [analyzer] Add path note for localizability checker. 2016-04-28 19:44:40 +00:00
logical-ops.c
loop-widening.c Reapply r251621 "[Analyzer] Widening loops which do not exit" 2015-10-30 15:23:57 +00:00
lvalue.cpp
malloc-annotations.c [analyzer] Individual configuration options can be specified for checkers. 2015-03-04 17:59:34 +00:00
malloc-interprocedural.c
malloc-overflow.c [analyzer] Discard malloc-overflow bug-report when a known size is malloc'ed. 2015-09-23 23:27:55 +00:00
malloc-overflow.cpp
malloc-overflow2.c clang/test/Analysis/malloc-overflow2.c: Appease 32-bit targets. 2015-09-24 02:49:00 +00:00
malloc-plist.c [analyzer] Update RegionStoreManager::getBinding to handle BlockDataRegions 2015-11-05 18:56:42 +00:00
malloc-protoype.c
malloc-sizeof.c
malloc-sizeof.cpp
malloc-three-arg.c
malloc.c [analyzer] Let TK_PreserveContents span across the whole base region. 2016-04-25 14:44:25 +00:00
malloc.cpp
malloc.m
malloc.mm
member-expr.cpp
method-arg-decay.m
method-call-intra-p.cpp
method-call-path-notes.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
method-call.cpp
misc-ps-64.m
misc-ps-arm.m
misc-ps-cxx0x.cpp
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
misc-ps-region-store.m
misc-ps-region-store.mm
misc-ps.c
misc-ps.m
model-file.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
mpichecker.cpp [analyzer] Add checker to verify the correct usage of the MPI API 2016-06-13 03:22:41 +00:00
mpicheckernotes.cpp [analyzer] Add checker to verify the correct usage of the MPI API 2016-06-13 03:22:41 +00:00
new-with-exceptions.cpp
new.cpp
nil-receiver-undefined-larger-than-voidptr-ret-region.m
nil-receiver-undefined-larger-than-voidptr-ret.m
no-exit-cfg.c
no-outofbounds.c
no-unreachable-dtors.cpp CFG: Delay creating Dtors for CompoundStmts which end in ReturnStmt 2015-11-14 00:36:50 +00:00
nonnull.m
null-deref-path-notes.m [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
null-deref-ps-region.c
null-deref-ps.c [analyzer] Don't report null dereferences on address_space annotated memory 2016-01-06 00:32:49 +00:00
nullability-no-arc.mm [analyzer] Nullability: Don't warn along paths where null returned from non-null. 2016-03-28 20:30:25 +00:00
nullability.mm [analyzer] Nullability: Suppress diagnostic on bind with cast. 2016-04-13 17:59:24 +00:00
nullability_nullonly.mm [analyzer] Nullability: add option to not report on calls to system headers. 2016-03-05 01:32:43 +00:00
nullptr.cpp [analyzer] Don't report null dereferences on address_space annotated memory 2016-01-06 00:32:49 +00:00
objc-arc.m [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
objc-bool.m
objc-boxing.m
objc-for.m
objc-message.m [analyzer] Skip Pre/Post handlers for ObjC calls when receiver is nil. 2015-09-15 01:13:53 +00:00
objc-method-coverage.m
objc-properties.m
objc-radar17039661.m [analyzer] Look for allocation site in the parent frames as well as the current one. 2015-02-05 01:02:53 +00:00
objc-string.mm
objc-subscript.m
objc_invalidation.m
operator-calls.cpp
out-of-bounds.c
outofbound-notwork.c
outofbound.c [analyzer] Individual configuration options can be specified for checkers. 2015-03-04 17:59:34 +00:00
override-werror.c
padding_c.c clang/test/Analysis/padding_c.c: Suppress a test incompatible to i686-linux. 2015-12-15 09:37:01 +00:00
padding_cpp.cpp [PATCH] Adding checker to detect excess padding in records 2015-12-14 21:38:59 +00:00
padding_message.cpp [PATCH] Adding checker to detect excess padding in records 2015-12-14 21:38:59 +00:00
plist-html-macros.c
plist-macros.cpp [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
plist-output-alternate.m [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
plist-output.m [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
pointer-to-member.cpp
pr4209.m
pr22954.c [analyzer] When memcpy'ing into a fixed-size array, do not invalidate entire region. 2015-09-24 16:52:56 +00:00
pr_2542_rdar_6793404.m
pr_4164.c
properties.m [analyzer] Add tests for Objective-C class properties 2016-05-06 18:24:50 +00:00
properties.mm
pthreadlock.c
ptr-arith.c [analyzer] Improve pointer arithmetic checker. 2016-02-23 12:34:39 +00:00
ptr-arith.cpp [analyzer] Improve pointer arithmetic checker. 2016-02-23 12:34:39 +00:00
qt_malloc.cpp [analyzer] Fix false warning about memory leak for QApplication::postEvent 2016-01-06 00:32:56 +00:00
range_casts.c [analyzer] Fix RangeConstraintManager's pinning of single value ranges. 2016-01-12 10:40:45 +00:00
rdar-6442306-1.m [analyzer] Improve pointer arithmetic checker. 2016-02-23 12:34:39 +00:00
rdar-6540084.m [Static Analyzer] Some tests do not turn on core checkers. Running the analyzers without the core checkers is not supported. 2015-07-24 03:25:13 +00:00
rdar-6541136-region.c
rdar-6562655.m
rdar-6600344-nil-receiver-undefined-struct-ret.m
rdar-7168531.m
redefined_system.c [analyzer] Do not crash in the KeychainAPI checker on user defined 'free()'. 2015-02-05 01:02:56 +00:00
refcnt_naming.m
reference.cpp
reference.mm
region-1.m
region-store.c
region-store.cpp
reinterpret-cast.cpp [analyzer] Fix MemRegion crash casting non-struct to derived struct (PR25426). 2015-12-05 00:22:36 +00:00
retain-release-cache-out.m
retain-release-cf-audited.m
retain-release-gc-only.m Update tests touched by r249656 2015-10-08 06:31:22 +00:00
retain-release-inline.m
retain-release-path-notes-gc.m [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
retain-release-path-notes.m [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
retain-release-region-store.m Update tests touched by r249656 2015-10-08 06:31:22 +00:00
retain-release.m Replace __double_underscored type nullability qualifiers with _Uppercase_underscored 2015-06-24 22:02:08 +00:00
retain-release.mm
return-ptr-range.cpp [analyzer] Fix symbolic element index lifetime. 2015-12-10 09:28:06 +00:00
security-syntax-checks-no-emit.c
security-syntax-checks.m Enable security checks for arc4random() on CloudABI as well. 2015-03-11 08:48:55 +00:00
self-init.m
shallow-mode.m
simple-stream-checks.c
sizeofpointer.c
stack-addr-ps.c Register parameters have local storage. 2015-02-04 07:15:12 +00:00
stack-addr-ps.cpp
stack-block-returned.cpp
stackaddrleak.c [Analyzer] Correct stack address escape diagnostic 2016-05-26 14:02:17 +00:00
static_local.m
stats.c
stream.c
string-fail.c
string.c [analyzer] Fix for PR23790 : constrain return value of strcmp() rather than returning a concrete value. 2016-05-19 23:03:49 +00:00
superclass.m [analyzer] Don't issue alarm in ObjCSuperCallChecker for the super class itself. 2015-08-08 01:31:51 +00:00
svalbuilder-logic.c
switch-case.c [analyzer] Create one state for a range switch case instead of multiple. 2015-09-22 20:31:19 +00:00
symbol-reaper.c [analyzer] Fix symbolic element index lifetime. 2015-12-10 09:28:06 +00:00
taint-generic.c
taint-tester.c
taint-tester.cpp
taint-tester.m
temp-obj-dtors-cfg-output.cpp Make Sema::getPrintingPolicy less ridiculously expensive. This used to perform 2016-05-19 01:39:10 +00:00
templates.cpp
temporaries.cpp [Static Analyzer] Lambda support. 2015-09-11 16:55:01 +00:00
test-after-div-zero.c
test-include-cpp.cpp [static analyzer] Analyzer is skipping forward declared C/C++ functions 2015-06-26 17:42:58 +00:00
test-include-cpp.h [static analyzer] Analyzer is skipping forward declared C/C++ functions 2015-06-26 17:42:58 +00:00
test-include.c [static analyzer] Analyzer is skipping forward declared C/C++ functions 2015-06-26 17:42:58 +00:00
test-include.h [static analyzer] Analyzer is skipping forward declared C/C++ functions 2015-06-26 17:42:58 +00:00
test-objc-non-nil-return-value-checker.m
test-variably-modified-types.c
traversal-algorithm.mm
traversal-begin-end-function.c [analyzer] Add checker callback for beginning of function. 2016-02-19 01:35:10 +00:00
traversal-path-unification.c [analyzer] Add checker callback for beginning of function. 2016-02-19 01:35:10 +00:00
ubigraph-viz.cpp Analyzer: Fix a crasher in UbigraphViz 2015-09-18 21:54:47 +00:00
undef-buffers.c [analyzer] Individual configuration options can be specified for checkers. 2015-03-04 17:59:34 +00:00
uninit-const.c
uninit-const.cpp
uninit-msg-expr.m
uninit-ps-rdar6145427.m
uninit-sometimes.cpp
uninit-vals-ps-region.m
uninit-vals-ps.c
uninit-vals.m
unions-region.m
unions.cpp
unix-api.c
unix-fns.c [analyzer] Bug identification 2015-10-22 11:53:04 +00:00
unreachable-code-path.c
unused-ivars.m
variadic-method-types.m
vfork.c [analyzer] Add VforkChecker to find unsafe code in vforked process. 2015-11-06 11:16:31 +00:00
virtualcall.cpp
virtualcall.h
vla.c
weak-functions.c