hanchenye-llvm-project/clang/test/Analysis
Jordan Rose 2741654b89 [analyzer] Functions marked __attribute__((const)) don't modify any memory.
This applies to __attribute__((pure)) as well, but 'const' is more interesting
because many of our builtins are marked 'const'.

PR19661

llvm-svn: 208154
2014-05-07 03:29:56 +00:00
..
Inputs [analyzer] Just silence all warnings coming out of std::basic_string. 2014-02-07 17:35:04 +00:00
diagnostics [analyzer] Suppress warnings coming out of std::basic_string. 2013-11-04 19:13:03 +00:00
engine
inlining Correctly set brace range for CXXConstructExprs formed by list initialization. 2014-02-22 02:59:41 +00:00
objc Correct hyphenations in comments and assert messages 2013-12-05 04:47:09 +00:00
CFContainers-invalid.c
CFContainers.mm
CFDateGC.m
CFNumber.c
CFRetainRelease_NSAssertionHandler.m
CGColorSpace.c
CheckNSError.m
Malloc+MismatchedDeallocator+NewDelete.cpp [analyzer] Tests: move system functions into system header simulator files. 2013-04-15 20:39:37 +00:00
Malloc+MismatchedDeallocator_intersections.cpp [analyzer] Reduced the unwanted correlations between checkers living inside MallocChecker.cpp 2013-04-04 23:46:29 +00:00
Malloc+NewDelete_intersections.cpp [analyzer] Shorten the malloc checker’s leak message 2013-04-06 00:41:36 +00:00
MismatchedDeallocator-checker-test.mm New message for cases when ownership is taken: 2013-09-16 17:51:25 +00:00
MismatchedDeallocator-path-notes.cpp [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
MissingDealloc.m
NSContainers.m [analyzer] When checking Foundation method calls, match the selectors exactly. 2014-04-09 01:39:22 +00:00
NSPanel.m
NSString.m
NSWindow.m
NewDelete+MismatchedDeallocator_intersections.cpp [analyzer] Re-enable cplusplus.NewDelete (but not NewDeleteLeaks). 2013-04-05 17:55:07 +00:00
NewDelete-checker-test.cpp [analyzer] Warn about double-delete in C++ at the second delete... 2014-01-08 18:46:55 +00:00
NewDelete-custom.cpp [analyzer] Shorten the malloc checker’s leak message 2013-04-06 00:41:36 +00:00
NewDelete-intersections.mm [analyzer] Shorten the malloc checker’s leak message 2013-04-06 00:41:36 +00:00
NewDelete-path-notes.cpp [analyzer] Assume new returns non-null even under -fno-exceptions 2013-08-28 08:04:08 +00:00
NewDelete-variadic.cpp Add implicit declarations of allocation functions when looking them up for 2014-02-04 01:14:30 +00:00
NewDeleteLeaks-PR18394.cpp Normalize line endings 2014-03-02 18:46:05 +00:00
NoReturn.m Switch this test from needlessly running the clang driver to directly 2014-01-15 09:07:56 +00:00
OSAtomic_mac.cpp
ObjCProperties.m
ObjCRetSigs.m
PR2599.m
PR2978.m
PR3991.m Split "incomplete implementation" warnings for ObjC into separate warnings. 2013-03-27 00:02:21 +00:00
PR7218.c
PR9741.cpp Remove duplicated -cc1 in tests 2013-12-08 18:06:52 +00:00
PR12905.c
additive-folding-range-constraints.c [analyzer] Teach constraint managers about unsigned comparisons. 2013-03-23 01:21:33 +00:00
additive-folding.cpp [analyzer] Teach constraint managers about unsigned comparisons. 2013-03-23 01:21:33 +00:00
analyzeOneFunction.m
analyze_display_progress.c
analyzer-config.c Revert "[analyzer] Add very limited support for temporary destructors" 2013-07-23 02:15:11 +00:00
analyzer-config.cpp Revert "[analyzer] Add very limited support for temporary destructors" 2013-07-23 02:15:11 +00:00
analyzer-stats.c Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
array-struct-region.c
array-struct-region.cpp [analyzer] Add IdenticalExprChecker, to find copy-pasted code. 2013-11-08 01:15:39 +00:00
array-struct.c
auto-obj-dtors-cfg-output.cpp Reapply "Pretty Printer: Fix printing of conversion operator decls and calls." 2014-02-25 18:03:55 +00:00
base-init.cpp
bitwise-ops.c [analyzer] Shitfing a constant value by its bit width is undefined. 2014-01-16 18:02:23 +00:00
blocks-no-inline.c
blocks.m [analyzer] Fix an infinite recursion in region invalidation by adding block count to the BlockDataRegion. 2013-11-20 00:11:42 +00:00
bool-assignment.c Re-apply "[analyzer] Model casts to bool differently from other numbers." 2013-05-01 18:19:59 +00:00
bstring.c
builtin-functions.cpp Omit arguments of __builtin_object_size from the CFG. 2013-08-19 16:27:28 +00:00
call-invalidation.cpp [analyzer] Functions marked __attribute__((const)) don't modify any memory. 2014-05-07 03:29:56 +00:00
casts.c PR16074, implement warnings to catch pointer to boolean true and pointer to 2014-02-26 02:36:06 +00:00
casts.cpp [analyzer] Fix test in previous commit to account for compiler warning. 2013-12-19 23:05:40 +00:00
casts.m [analyzer] Weaken assertion to account for pointer-to-integer casts. 2013-07-25 17:22:02 +00:00
cfg.cpp Render anonymous entities as '(anonymous <thing>)' (and lambdas as '(lambda at ... )') 2014-04-02 05:58:29 +00:00
cfref_PR2519.c
cfref_rdar6080742.c
check-deserialization.cpp
checker-plugins.c Add a test for Static Analyzer checker plugins 2014-01-09 00:47:40 +00:00
chroot.c
comparison-implicit-casts.cpp
complex-init-list.cpp
complex.c
concrete-address.c
conditional-operator.cpp Switch %clang -cc1 tests to %clang_cc1 2013-10-28 23:47:09 +00:00
conditional-path-notes.c [analyzer] Don't emit an "Assuming x is <OP> y" if it's not a comparison op. 2013-10-26 01:16:26 +00:00
constant-folding.c
coverage.c [analyzer] Shorten the malloc checker’s leak message 2013-04-06 00:41:36 +00:00
crash-trace.c Remove line number from test/Analysis/crash-trace.c. 2013-07-23 16:12:18 +00:00
cstring-syntax-cxx.cpp [analyzer] Fix a crash in SyntaxCString checker when given a custom strncat. 2013-04-10 22:06:29 +00:00
cstring-syntax.c
ctor.mm [analyzer] Improve test from r207486. 2014-04-29 17:08:17 +00:00
cxx-crashes.cpp
cxx-for-range-cfg.cpp
cxx-for-range.cpp [analyzer] Specialize "loop executed 0 times" for for-in and for-range loops. 2013-11-08 01:15:30 +00:00
cxx-method-names.cpp
cxx11-crashes.cpp Teach static analyzer about AttributedStmts 2013-07-02 09:38:48 +00:00
dead-stores.c Fix to PR8880 (clang dies processing a for loop) 2014-01-23 15:05:00 +00:00
dead-stores.cpp
dead-stores.m Teach DeadStoresChecker about attribute objc_precise_lifetime. 2014-01-15 00:59:23 +00:00
debug-CallGraph.c
default-analyze.m Objective-C. After providing a fix-it for a 2013-12-18 21:04:43 +00:00
default-diagnostic-visitors.c
delegates.m
derived-to-base.cpp Fix static analyzer crash when casting from an incomplete type 2013-06-20 07:45:01 +00:00
div-zero.cpp
domtest.c
dtor-cxx11.cpp [analyzer] Remove incorrect workaround for unimplemented temporary destructors. 2014-04-01 16:39:59 +00:00
dtor.cpp [analyzer] Re-enable test I accidentally committed commented-out. 2014-04-07 16:36:08 +00:00
dtors-in-dtor-cfg-output.cpp
dynamic-cast.cpp Fix a tranche of comment, test and doc typos 2013-12-05 16:25:25 +00:00
edges-new.mm [analyzer] Specialize "loop executed 0 times" for for-in and for-range loops. 2013-11-08 01:15:30 +00:00
elementtype.c
enum.cpp [analyzer] Replace isIntegerType() with isIntegerOrEnumerationType(). 2013-04-09 02:30:33 +00:00
exceptions.mm
exercise-ps.c
fields.c
free.c [analyzer] These implements unix.MismatchedDeallocatorChecker checker. 2013-03-28 17:05:19 +00:00
func.c [analyzer] Add new debug helper clang_analyzer_warnIfReached. 2013-10-03 16:57:03 +00:00
global-region-invalidation.c [analyzer] Re-enable using global regions as a symbolic base. 2013-04-15 20:39:45 +00:00
global_region_invalidation.mm [analyzer] Re-enable using global regions as a symbolic base. 2013-04-15 20:39:45 +00:00
html-diags-multifile.c Fix test that wasn't testing anything 2013-11-05 12:45:37 +00:00
html-diags-multifile.h
html-diags.c Add a test case for r185707/PR16547. 2013-07-05 15:51:00 +00:00
identical-expressions.cpp [analyzer] Check all conditions in a chained if against each other. 2014-03-11 16:52:29 +00:00
initializer.cpp [analyzer] Handle C++11 member initializer expressions. 2013-07-17 17:16:42 +00:00
initializers-cfg-output.cpp CFG: Properly print delegating initializer CFG elements. 2013-10-22 23:19:47 +00:00
inline-not-supported.c
inline-plist.c [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
inline-unique-reports.c [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
inline.c Fix a crash in the static analyzer (bug #16307) 2013-06-19 08:19:56 +00:00
inline.cpp [analyzer] Inline C++ operator new when c++-inline-allocators is turned on. 2014-02-11 02:21:06 +00:00
inline2.c
inline3.c
inline4.c
ivars.m
keychainAPI-diagnostic-visitor.m
keychainAPI.m
kmalloc-linux.c [analyzer] Handle the M_ZERO and __GFP_ZERO flags in kernel mallocs. 2014-03-26 17:05:46 +00:00
lambdas.cpp Per latest drafting, switch to implementing init-captures as if by declaring 2013-09-28 04:02:39 +00:00
lit.local.cfg Make the information about disabled ARCMT/Rewriter/StaticAnalyzer available 2013-08-27 19:27:35 +00:00
live-variables.cpp Revert "[analyzer] Refactor conditional expression evaluating code" 2013-12-06 18:56:29 +00:00
live-variables.m Revert "[analyzer] Refactor conditional expression evaluating code" 2013-12-06 18:56:29 +00:00
logical-ops.c [analyzer] Refactor conditional expression evaluating code 2013-08-23 07:19:22 +00:00
lvalue.cpp
malloc-annotations.c [analyzer] Shorten the malloc checker’s leak message 2013-04-06 00:41:36 +00:00
malloc-interprocedural.c [analyzer] Shorten the malloc checker’s leak message 2013-04-06 00:41:36 +00:00
malloc-overflow.c
malloc-overflow.cpp
malloc-plist.c [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
malloc-sizeof.c
malloc-three-arg.c [analyzer] Handle the M_ZERO and __GFP_ZERO flags in kernel mallocs. 2014-03-26 17:05:46 +00:00
malloc.c [analyzer] Teach CastSizeChecker about flexible array members. 2014-02-18 17:06:30 +00:00
malloc.cpp [analyzer] Consolidate constant evaluation logic in SValBuilder. 2013-05-01 23:10:44 +00:00
malloc.m [analyzer] Pointers escape into +[NSValue valueWithPointer:]... 2014-01-07 21:39:48 +00:00
malloc.mm [analyzer] Switched to checkPreCall interface for detecting usage after free. 2013-04-10 22:21:41 +00:00
member-expr.cpp [analyzer] Don't assert when combining using .* on a temporary. 2014-04-29 17:08:12 +00:00
method-arg-decay.m Change 'method X in protocol not implemented' warning to include the name of the protocol. 2013-12-13 05:58:51 +00:00
method-call-intra-p.cpp
method-call-path-notes.cpp [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
method-call.cpp
misc-ps-64.m
misc-ps-arm.m Add error checking to reject neon_vector_type attribute on targets without NEON. 2013-09-16 18:07:35 +00:00
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 [analyzer] Extend IdenticalExprChecker to check the two branches of an if. 2014-02-19 17:44:11 +00:00
misc-ps-region-store.m [analyzer] Remove IdempotentOperations checker. 2014-01-04 05:52:11 +00:00
misc-ps-region-store.mm
misc-ps.c [analyzer] Accept references to variables declared "extern void" (C only). 2013-05-29 20:50:34 +00:00
misc-ps.m [analyzer] Remove IdempotentOperations checker. 2014-01-04 05:52:11 +00:00
new-with-exceptions.cpp [analyzer] Assume new returns non-null even under -fno-exceptions 2013-08-28 08:04:08 +00:00
new.cpp Correct hyphenations in comments and assert messages 2013-12-05 04:47:09 +00:00
nil-receiver-undefined-larger-than-voidptr-ret-region.m
nil-receiver-undefined-larger-than-voidptr-ret.m Fix FileCheck --check-prefix lines. 2013-08-12 12:51:05 +00:00
no-exit-cfg.c
no-outofbounds.c [analyzer] Teach CastSizeChecker about flexible array members. 2014-02-18 17:06:30 +00:00
nonnull.m [analyzer] NonNullParamChecker: don't freak out about nested transparent_unions. 2014-02-26 01:20:19 +00:00
null-deref-path-notes.m [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
null-deref-ps-region.c
null-deref-ps.c [analyzer] Remove IdempotentOperations checker. 2014-01-04 05:52:11 +00:00
nullptr.cpp [analyzer] Treat nullPtrType as a location type. 2013-07-12 17:58:33 +00:00
objc-arc.m Fix a tranche of comment, test and doc typos 2013-12-05 16:25:25 +00:00
objc-bool.m
objc-boxing.m [analyzer] Objective-C object literals are always non-nil. 2014-02-08 00:04:14 +00:00
objc-for.m Correct hyphenations in comments and assert messages 2013-12-05 04:47:09 +00:00
objc-method-coverage.m
objc-properties.m Correct hyphenations in comments and assert messages 2013-12-05 04:47:09 +00:00
objc-string.mm A new conversion warning for when an Objective-C object literal is implicitly 2014-01-28 23:40:26 +00:00
objc-subscript.m [analyzer] RetainCountChecker: Clean up path notes for autorelease. 2013-04-23 01:42:25 +00:00
objc_invalidation.m Replace -fobjc-default-synthesize-properties with disable-objc-default-synthesize-properties. 2013-09-27 20:21:48 +00:00
operator-calls.cpp Sema: avoid reuse of Exprs when synthesizing operator= 2013-08-30 08:52:28 +00:00
out-of-bounds.c [analyzer] Accept references to variables declared "extern void" (C only). 2013-05-29 20:50:34 +00:00
outofbound-notwork.c
outofbound.c
override-werror.c
plist-html-macros.c
plist-macros.cpp [analyzer; alternate edges] Fix the edge locations in presence of macros. 2013-06-08 00:29:24 +00:00
plist-output-alternate.m [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
plist-output.m [analyzer] Enable the new edge algorithm by default. 2013-06-03 23:00:19 +00:00
pointer-to-member.cpp [analyzer] Pointers-to-members are (currently) Locs, not NonLocs. 2013-07-02 16:50:24 +00:00
pr4209.m Split "incomplete implementation" warnings for ObjC into separate warnings. 2013-03-27 00:02:21 +00:00
pr_2542_rdar_6793404.m
pr_4164.c
properties.m [analyzer] Don't track retain counts of objects directly accessed through ivars. 2014-03-25 17:10:58 +00:00
properties.mm [analyzer] Tighten up sanity checks on Objective-C property getter synthesis. 2014-01-23 03:59:10 +00:00
pthreadlock.c [analyzer] Lock checker: Allow pthread_mutex_init to reinitialize a destroyed lock. 2014-04-01 03:40:53 +00:00
ptr-arith.c PR16074, implement warnings to catch pointer to boolean true and pointer to 2014-02-26 02:36:06 +00:00
ptr-arith.cpp [analyzer] Use a more generic MemRegion.getAsOffset to evaluate bin operators on MemRegions 2013-05-28 17:31:43 +00:00
rdar-6442306-1.m
rdar-6540084.m improve of note message and minor refactoring of my last 2013-05-15 15:27:35 +00:00
rdar-6541136-region.c
rdar-6562655.m
rdar-6600344-nil-receiver-undefined-struct-ret.m
rdar-7168531.m
redefined_system.c
refcnt_naming.m
reference.cpp [analyzer] Use the expression’s type instead of region’s type in ArrayToPointer decay evaluation 2013-05-28 23:24:01 +00:00
reference.mm [analyzer] Warn when nil receiver results in forming null reference 2013-04-03 19:28:19 +00:00
region-1.m Objective-C. Diagose use of undefined protocols 2014-03-11 17:10:51 +00:00
region-store.c [analyzer] Set concrete offset bindings to UnknownVal when processing symbolic offset binding, even if no bindings are present. 2013-03-25 20:43:24 +00:00
region-store.cpp
reinterpret-cast.cpp [analyzer] Re-enable reasoning about CK_LValueBitCast 2013-05-28 22:32:08 +00:00
retain-release-cf-audited.m
retain-release-gc-only.m
retain-release-inline.m [analyzer] Better test for r178063. 2013-03-26 23:58:52 +00:00
retain-release-path-notes-gc.m [analyzer] Merge TextPathDiagnostics and ClangDiagPathDiagConsumer. 2013-08-16 01:06:30 +00:00
retain-release-path-notes.m [analyzer] RetainCountChecker: add support for CFAutorelease. 2013-10-07 17:16:52 +00:00
retain-release-region-store.m
retain-release.m [analyzer] Don't track return value of NSNull +null for retain/release tracking. 2014-01-03 01:19:28 +00:00
retain-release.mm [analyzer] Fix a crash in RetainCountChecker - we should not rely on CallEnter::getCallExpr to return non-NULL 2013-04-25 00:41:32 +00:00
security-syntax-checks-no-emit.c
security-syntax-checks.m Check the canonical parameter type with getAs<>() in a static checker 2013-06-24 16:56:16 +00:00
self-init.m Replace -fobjc-default-synthesize-properties with disable-objc-default-synthesize-properties. 2013-09-27 20:21:48 +00:00
shallow-mode.m
simple-stream-checks.c [analyzer] Indirect invalidation counts as an escape for leak checkers. 2013-05-10 17:07:16 +00:00
sizeofpointer.c
stack-addr-ps.c
stack-addr-ps.cpp [analyzer] Fix FP warnings when binding a temporary to a local static variable 2013-07-26 11:50:42 +00:00
stack-block-returned.cpp
stackaddrleak.c PR16074, implement warnings to catch pointer to boolean true and pointer to 2014-02-26 02:36:06 +00:00
static_local.m
stats.c
stream.c
string-fail.c
string.c [analyzer] Assume that strings are no longer than SIZE_MAX/4. 2013-08-19 16:27:34 +00:00
superclass.m [analyzer] Move checker alpha.osx.cocoa.MissingSuperCall out of alpha category. 2014-02-19 05:28:39 +00:00
svalbuilder-logic.c Re-apply "[analyzer] Model casts to bool differently from other numbers." 2013-05-01 18:19:59 +00:00
taint-generic.c [analyzer] Teach ConstraintManager to ignore NonLoc <> NonLoc comparisons. 2013-03-24 20:25:22 +00:00
taint-tester.c [analyzer] Tests: move system functions into system header simulator files. 2013-04-15 20:39:37 +00:00
taint-tester.cpp [analyzer] Treat the rvalue of a forward-declared struct as Unknown. 2013-08-30 19:17:26 +00:00
taint-tester.m
temp-obj-dtors-cfg-output.cpp Fix handling of condition variables in the face of temp dtors. 2014-05-05 18:21:06 +00:00
templates.cpp [analyzer] Don't crash if a block doesn't have a type signature. 2013-05-22 18:09:44 +00:00
temporaries.cpp Fix crash when resolving branch conditions for temporary destructor condition blocks. 2014-05-05 09:58:03 +00:00
test-objc-non-nil-return-value-checker.m
test-variably-modified-types.c
traversal-algorithm.mm
traversal-path-unification.c
undef-buffers.c
uninit-const.c [analyzer] Warn when passing pointers to const but uninitialized memory. 2014-03-13 17:55:39 +00:00
uninit-const.cpp [analyzer] Warn when passing pointers to const but uninitialized memory. 2014-03-13 17:55:39 +00:00
uninit-msg-expr.m
uninit-ps-rdar6145427.m
uninit-sometimes.cpp PR16054: Slight strengthening for -Wsometimes-uninitialized: if we use a 2013-09-12 18:49:10 +00:00
uninit-vals-ps-region.m [analyzer] Remove IdempotentOperations checker. 2014-01-04 05:52:11 +00:00
uninit-vals-ps.c [analyzer] Don't warn for returning void expressions in void blocks. 2013-04-17 18:03:48 +00:00
uninit-vals.m [analyzer] "Force" LazyCompoundVals on bind when they are simple enough. 2013-04-18 16:33:46 +00:00
unions-region.m
unions.cpp [analyzer] Generate a LazyCompoundVal when loading from a union-typed region. 2013-10-23 20:08:55 +00:00
unix-fns.c [analyzer] Address Jordan’s code review for r183451 2013-06-06 22:32:11 +00:00
unreachable-code-path.c [analyzer] Don't run unreachable code checker on inlined functions. 2013-08-19 17:03:12 +00:00
unused-ivars.m
variadic-method-types.m
virtualcall.cpp
virtualcall.h
weak-functions.c PR16074, implement warnings to catch pointer to boolean true and pointer to 2014-02-26 02:36:06 +00:00