llvm-project/clang/lib/StaticAnalyzer/Checkers
Alp Toker ef6b007dc5 Only mark dump() function definitions 'used' in debug builds
This has the dual effect of (1) enabling more dead-stripping in release builds
and (2) ensuring that debug helper functions aren't stripped away in debug
builds, as they're intended to be called from the debugger.

Note that the attribute is applied to definitions rather than declarations in
headers going forward because it's now conditional on NDEBUG:

  /// \brief Mark debug helper function definitions like dump() that should not be
  /// stripped from debug builds.

Requires corresponding macro added in LLVM r198456.

llvm-svn: 198489
2014-01-04 13:47:14 +00:00
..
AllocationDiagnostics.cpp [analyzer] Add experimental option "leak-diagnostics-reference-allocation". 2013-04-16 21:44:22 +00:00
AllocationDiagnostics.h [analyzer] Add experimental option "leak-diagnostics-reference-allocation". 2013-04-16 21:44:22 +00:00
AnalyzerStatsChecker.cpp Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
ArrayBoundChecker.cpp Replace ProgramPoint llvm::cast support to be well-defined. 2013-02-21 22:23:56 +00:00
ArrayBoundCheckerV2.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
BasicObjCFoundationChecks.cpp Fixed a FIXME; created a print method for Selectors that accepts a raw_ostream, and started using it in places it made sense. 2014-01-03 17:59:55 +00:00
BoolAssignmentChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
BuiltinFunctionChecker.cpp Omit arguments of __builtin_object_size from the CFG. 2013-08-19 16:27:28 +00:00
CMakeLists.txt [analyzer] Remove IdempotentOperations checker. 2014-01-04 05:52:11 +00:00
CStringChecker.cpp [analyzer] Better modeling of memcpy by the CStringChecker (PR16731). 2013-11-17 09:18:48 +00:00
CStringSyntaxChecker.cpp [analyzer] ArrayRef-ize BugReporter::EmitBasicReport. 2013-10-07 17:16:59 +00:00
CallAndMessageChecker.cpp Fixed a FIXME; created a print method for Selectors that accepts a raw_ostream, and started using it in places it made sense. 2014-01-03 17:59:55 +00:00
CastSizeChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CastToStructChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CheckObjCDealloc.cpp Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr. 2013-12-19 02:39:40 +00:00
CheckObjCInstMethSignature.cpp Fixed a FIXME; created a print method for Selectors that accepts a raw_ostream, and started using it in places it made sense. 2014-01-03 17:59:55 +00:00
CheckSecuritySyntaxOnly.cpp [analyzer] ArrayRef-ize BugReporter::EmitBasicReport. 2013-10-07 17:16:59 +00:00
CheckSizeofPointer.cpp [analyzer] ArrayRef-ize BugReporter::EmitBasicReport. 2013-10-07 17:16:59 +00:00
CheckerDocumentation.cpp Fix comment type pointed out by Kim Gräsman. 2013-05-25 02:22:10 +00:00
Checkers.td [analyzer] Remove IdempotentOperations checker. 2014-01-04 05:52:11 +00:00
ChrootChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ClangCheckers.cpp [analyzer] Overhaul of checker registration in preparation for basic plugin support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages). 2011-08-16 21:24:21 +00:00
ClangSACheckers.h [analyzer] Replace bug category magic strings with shared constants, take 2. 2013-10-04 00:25:24 +00:00
DeadStoresChecker.cpp Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr. 2013-12-19 02:39:40 +00:00
DebugCheckers.cpp Fix array_pod_sort predicates after LLVM change. 2013-09-22 14:10:29 +00:00
DereferenceChecker.cpp [analyzer] tracking stores/constraints now works for ObjC ivars or struct fields. 2013-02-24 07:21:01 +00:00
DirectIvarAssignment.cpp DirectIvarAssignment: Replace vtable'd objects with simple functions. 2013-08-09 17:17:42 +00:00
DivZeroChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
DynamicTypePropagation.cpp StaticAnalyzer/Checkers/DynamicTypePropagation.cpp: Fix in comments. 80-col and an utf8 char. 2013-10-28 04:14:33 +00:00
ExprInspectionChecker.cpp [analyzer] Add new debug helper clang_analyzer_warnIfReached. 2013-10-03 16:57:03 +00:00
FixedAddressChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
GenericTaintChecker.cpp Switched FormatAttr to using an IdentifierArgument instead of a StringArgument since that is a more accurate modeling. 2013-09-03 21:02:22 +00:00
IdenticalExprChecker.cpp [analyzer] Misc. tidying in IdenticalExprChecker. 2013-12-10 18:18:10 +00:00
InterCheckerAPI.h [analyzer] Fix another false positive in the Malloc Checker, by making 2012-02-17 22:35:31 +00:00
IvarInvalidationChecker.cpp [analyzer] IvarInvalidation: correctly handle cases where only partial invalidators exist 2013-04-24 02:49:16 +00:00
LLVMConventionsChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
MacOSKeychainAPIChecker.cpp [analyzer] Rename “Mac OS X API”, “Mac OS API” -> “API Misuse (Apple)” 2013-04-03 19:28:22 +00:00
MacOSXAPIChecker.cpp [analyzer] Rename “Mac OS X API”, “Mac OS API” -> “API Misuse (Apple)” 2013-04-03 19:28:22 +00:00
Makefile Clang-side build system infrastructure for multiple tblgens. 2011-10-06 01:52:10 +00:00
MallocChecker.cpp Only mark dump() function definitions 'used' in debug builds 2014-01-04 13:47:14 +00:00
MallocOverflowSecurityChecker.cpp [analyzer] ArrayRef-ize BugReporter::EmitBasicReport. 2013-10-07 17:16:59 +00:00
MallocSizeofChecker.cpp [analyzer] ArrayRef-ize BugReporter::EmitBasicReport. 2013-10-07 17:16:59 +00:00
NSAutoreleasePoolChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
NSErrorChecker.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
NoReturnFunctionChecker.cpp Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr. 2013-12-19 02:39:40 +00:00
NonNullParamChecker.cpp [analyzer] Rename AttrNonNullChecker -> NonNullParamChecker 2013-03-09 03:23:14 +00:00
ObjCAtSyncChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
ObjCContainersASTChecker.cpp [analyzer] ArrayRef-ize BugReporter::EmitBasicReport. 2013-10-07 17:16:59 +00:00
ObjCContainersChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
ObjCMissingSuperCallChecker.cpp [analyzer] Fix doc error (wrong param name) in ObjCSuperCallChecker. 2012-12-13 18:26:05 +00:00
ObjCSelfInitChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
ObjCUnusedIVarsChecker.cpp Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr. 2013-12-19 02:39:40 +00:00
PointerArithChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
PointerSubChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
PthreadLockChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
RetainCountChecker.cpp [analyzer] Don't track return value of NSNull +null for retain/release tracking. 2014-01-03 01:19:28 +00:00
ReturnPointerRangeChecker.cpp Replace ProgramPoint llvm::cast support to be well-defined. 2013-02-21 22:23:56 +00:00
ReturnUndefChecker.cpp [analyzer] Don't warn for returning void expressions in void blocks. 2013-04-17 18:03:48 +00:00
SimpleStreamChecker.cpp Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. 2013-07-04 03:08:24 +00:00
StackAddrEscapeChecker.cpp [analyzer] StackAddrEscapeChecker: strip qualifiers from temporary types. 2013-02-26 01:21:21 +00:00
StreamChecker.cpp [analyzer] Address a TODO in the StreamChecker; otherwise the output is non-deterministic. 2013-03-15 23:34:31 +00:00
TaintTesterChecker.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
TraversalChecker.cpp [analyzer] Print return values from debug.DumpCalls checker. 2013-03-21 18:16:59 +00:00
UndefBranchChecker.cpp Replace ProgramPoint llvm::cast support to be well-defined. 2013-02-21 22:23:56 +00:00
UndefCapturedBlockVarChecker.cpp Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr. 2013-12-19 02:39:40 +00:00
UndefResultChecker.cpp [analyzer] Do not report uninitialized value warnings inside swap functions. 2013-06-18 23:16:15 +00:00
UndefinedArraySubscriptChecker.cpp Eliminate CXXConstructorDecl::IsImplicitlyDefined. 2013-08-07 16:16:48 +00:00
UndefinedAssignmentChecker.cpp [analyzer] Do not report uninitialized value warnings inside swap functions. 2013-06-18 23:16:15 +00:00
UnixAPIChecker.cpp Fix a tranche of comment, test and doc typos 2013-12-05 16:25:25 +00:00
UnreachableCodeChecker.cpp Fixing a compile error that recently started happening for me in MSVC 2013. CFGTerminator has an explicit conversion to bool operator that we can make use of instead of using == 0. 2013-12-29 18:59:54 +00:00
VLASizeChecker.cpp Replace SVal llvm::cast support to be well-defined. 2013-02-20 05:52:05 +00:00
VirtualCallChecker.cpp [analyzer] ArrayRef-ize BugReporter::EmitBasicReport. 2013-10-07 17:16:59 +00:00