llvm-project/clang/lib/AST
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
..
APValue.cpp Pacify compilers that think you can drop off a fully covered switch. 2013-06-03 21:26:13 +00:00
ASTConsumer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ASTContext.cpp ASTContext: Refactor implicit record creation 2013-12-17 01:22:38 +00:00
ASTDiagnostic.cpp Teach the diagnostics engine about the Attr type to make reporting on semantic attributes easier (and not require hard-coded strings). This requires a getSpelling() function on the Attr class, which is table-driven. Updates a handful of cases where a hard-coded string was being used to test the functionality out. Updating associated test cases for the improved quoting. 2013-12-26 18:30:57 +00:00
ASTDumper.cpp Only mark dump() function definitions 'used' in debug builds 2014-01-04 13:47:14 +00:00
ASTImporter.cpp [objc] Refactor and improve functionality for the -Wunused-property-ivar warning. 2014-01-03 18:32:18 +00:00
ASTTypeTraits.cpp Add Distance parameter to ASTNodeKind::isBaseOf. 2013-11-23 01:40:07 +00:00
AttrImpl.cpp Refactor the Microsoft inheritance attribute handling so that it no longer has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes. 2013-12-18 23:44:18 +00:00
CMakeLists.txt Update RecursiveASTVisitor so that it visits attributes. This is currently 2013-12-30 17:24:36 +00:00
CXXABI.h [ms-cxxabi] Implement guard variables for static initialization 2013-09-10 20:14:30 +00:00
CXXInheritance.cpp Use pop_back_val() instead of both back() and pop_back(). 2013-08-23 16:11:15 +00:00
Comment.cpp Documentation comment parsing: when checking if we have typedef to something 2013-12-17 22:22:14 +00:00
CommentBriefParser.cpp Some refactoring in my patch on document 2013-03-02 02:39:57 +00:00
CommentCommandTraits.cpp Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]). 2013-07-15 03:38:40 +00:00
CommentLexer.cpp CommentLexer: eliminate an NDEBUG from the headers 2013-12-07 13:51:26 +00:00
CommentParser.cpp Comment parsing: fix a bug where a line with whitespace between two paragraphs 2013-08-23 18:03:40 +00:00
CommentSema.cpp Fix strange indentation and remove trailing whitespace on empty lines 2013-12-17 19:28:18 +00:00
Decl.cpp Removed one of the string versions of getQualifiedNameAsString, and switched over to using printQualifiedName where possible. No functional changes intended. 2014-01-03 18:42:48 +00:00
DeclBase.cpp Assert that tag decls are never marked (in)valid after definition is complete 2013-12-21 01:10:54 +00:00
DeclCXX.cpp PR18232: implement instantiation for class-scope explicit specializations of 2013-12-14 01:04:22 +00:00
DeclFriend.cpp Add class-specific operator new to Decl hierarchy. This guarantees that Decls 2013-11-22 09:01:48 +00:00
DeclGroup.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
DeclObjC.cpp [objc] Refactor and improve functionality for the -Wunused-property-ivar warning. 2014-01-03 18:32:18 +00:00
DeclOpenMP.cpp Add class-specific operator new to Decl hierarchy. This guarantees that Decls 2013-11-22 09:01:48 +00:00
DeclPrinter.cpp Only mark dump() function definitions 'used' in debug builds 2014-01-04 13:47:14 +00:00
DeclTemplate.cpp Fix a tranche of comment, test and doc typos 2013-12-05 16:25:25 +00:00
DeclarationName.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
Expr.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
ExprCXX.cpp ms-compat: Fix taking the address of a member of a dependent base 2013-10-15 18:38:02 +00:00
ExprClassification.cpp Eliminate UnaryTypeTraitExpr 2014-01-01 05:57:51 +00:00
ExprConstant.cpp Fixing a FIXME; the RetTy template parameter is always bool in practice, and so it has been removed. No functional changes intended. 2014-01-03 19:26:43 +00:00
ExternalASTSource.cpp Simplify FindExternalVisibleDeclsByName by making it return a bool indicating 2013-02-07 03:30:24 +00:00
InheritViz.cpp Use llvm::sys::fs::createTemporaryFile. 2013-07-05 20:00:06 +00:00
ItaniumCXXABI.cpp Switch to the new MingW ABI. 2013-12-12 16:07:11 +00:00
ItaniumMangle.cpp Eliminate UnaryTypeTraitExpr 2014-01-01 05:57:51 +00:00
Makefile
Mangle.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
MangleNumberingContext.cpp [ms-cxxabi] Implement guard variables for static initialization 2013-09-10 20:14:30 +00:00
MicrosoftCXXABI.cpp Refactor the Microsoft inheritance attribute handling so that it no longer has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes. 2013-12-18 23:44:18 +00:00
MicrosoftMangle.cpp [-cxx-abi microsoft] Remove trailing spaces from the mangler 2013-12-13 01:06:04 +00:00
NSAPI.cpp Use None rather than Optional<T>() where possible. 2013-02-21 01:47:18 +00:00
NestedNameSpecifier.cpp Use pop_back_val() instead of both back() and pop_back(). 2013-08-23 16:11:15 +00:00
ParentMap.cpp [analyzer; new edges] Simplify edges in a C++11 for-range loop. 2013-06-06 21:53:45 +00:00
RawCommentList.cpp Refactor comment merging. 2013-09-28 15:06:27 +00:00
RecordLayout.cpp [MS-ABI] Fix alias-avoidance padding between bases 2013-12-06 19:54:25 +00:00
RecordLayoutBuilder.cpp [ms-abi] Fixes improperly sized vfptrs with pragma pack 2013-12-26 22:09:12 +00:00
SelectorLocationsKind.cpp Fix crash when using archaic protocol, rdar://10238337 2011-10-05 21:28:06 +00:00
Stmt.cpp [OpenMP] Added parsing and semantic analysis for firstprivate clause 2013-10-01 05:32:34 +00:00
StmtIterator.cpp Simplify StmtIterator. 2013-06-27 20:39:04 +00:00
StmtPrinter.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
StmtProfile.cpp Eliminate UnaryTypeTraitExpr 2014-01-01 05:57:51 +00:00
StmtViz.cpp
TemplateBase.cpp Reduce sizeof(TemplateArgument) from 32 to 24. 2013-08-21 23:05:56 +00:00
TemplateName.cpp Add quotation marks to template names in diagnostics. 2013-03-05 06:21:38 +00:00
Type.cpp Add an AdjustedType sugar node for adjusting calling conventions 2013-12-05 01:23:43 +00:00
TypeLoc.cpp AST: Don't treat a TemplateExpansion as a Template 2013-08-28 00:00:27 +00:00
TypePrinter.cpp Only mark dump() function definitions 'used' in debug builds 2014-01-04 13:47:14 +00:00
VTTBuilder.cpp Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used instead. 2012-07-04 18:45:14 +00:00
VTableBuilder.cpp [ms-cxxabi] Improve vbtable name mangling accuracy 2014-01-03 23:42:00 +00:00