llvm-project/clang/lib/AST
Richard Smith e2467b7aed PR22763: if a defaulted (non-user-provided) special member function is
explicitly instantiated, still emit it with each use.

We don't emit a definition of the member with an explicit instantiation
definition (and indeed it appears that we're not allowed to, since an explicit
instantiation definition does not constitute an odr-use and only odr-use
permits definition for defaulted special members). So we still need to emit a
weak definition with each use.

This also makes defaulted-in-class declarations behave more like
implicitly-declared special members, which matches their design intent.
And it matches the way this problem was solved in GCC.

llvm-svn: 318474
2017-11-16 23:54:56 +00:00
..
APValue.cpp
ASTConsumer.cpp
ASTContext.cpp PR22763: if a defaulted (non-user-provided) special member function is 2017-11-16 23:54:56 +00:00
ASTDiagnostic.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:31:42 +00:00
ASTDumper.cpp Extend -ast-dump for CXXRecordDecl to dump the flags from the DefinitionData. 2017-09-22 00:11:15 +00:00
ASTImporter.cpp [ASTImporter] TypeAliasTemplate and PackExpansion importing capability 2017-11-14 11:30:38 +00:00
ASTStructuralEquivalence.cpp Dependent Address Space Support 2017-10-02 06:25:51 +00:00
ASTTypeTraits.cpp
AttrImpl.cpp
CMakeLists.txt Moved QualTypeNames.h from Tooling to AST. 2017-11-08 10:39:03 +00:00
CXXABI.h
CXXInheritance.cpp [index] Avoid one more crash caused by infinite recursion that happens when 2017-05-18 18:06:07 +00:00
Comment.cpp [AST] Look through attribute type locs when searching for function type 2017-04-26 12:46:27 +00:00
CommentBriefParser.cpp
CommentCommandTraits.cpp
CommentLexer.cpp
CommentParser.cpp
CommentSema.cpp -Wdocumentation should allow '...' params in variadic function type aliases 2017-10-06 20:51:04 +00:00
DataCollection.cpp [analyzer] Make StmtDataCollector customizable 2017-08-23 16:28:26 +00:00
Decl.cpp [modules] Fix crash in complex class merging scenario. 2017-11-15 01:33:46 +00:00
DeclBase.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-08 00:39:18 +00:00
DeclCXX.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-14 23:13:32 +00:00
DeclFriend.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-10 00:59:22 +00:00
DeclGroup.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-10 00:59:22 +00:00
DeclObjC.cpp [ObjC] Pick a 'readwrite' property when synthesizing ambiguous 2017-07-13 11:06:22 +00:00
DeclOpenMP.cpp
DeclPrinter.cpp [DeclPrinter] Extract function PrintConstructorInitializers, NFC 2017-11-16 01:31:27 +00:00
DeclTemplate.cpp Add a destruct-on-exit function to ASTContext. 2017-02-14 05:37:36 +00:00
DeclarationName.cpp [ASTPrinter] Print nested name specifiers for out-of-line functions 2017-04-11 16:46:03 +00:00
Expr.cpp [AST, Sema] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-15 22:00:04 +00:00
ExprCXX.cpp Support for destroying operator delete, per C++2a proposal P0722. 2017-10-13 01:55:36 +00:00
ExprClassification.cpp [Sema] Disallow assigning record lvalues with nested const-qualified fields. 2017-09-19 13:10:30 +00:00
ExprConstant.cpp PR35214: don't crash if we see an array of unknown bound added to an empty but invalid designator. 2017-11-15 03:03:56 +00:00
ExprObjC.cpp
ExternalASTMerger.cpp Fix -Wcast-qual warning after r314336. 2017-09-28 15:44:46 +00:00
ExternalASTSource.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-08 00:39:18 +00:00
InheritViz.cpp
ItaniumCXXABI.cpp
ItaniumMangle.cpp Convert clang::LangAS to a strongly typed enum 2017-10-15 18:48:14 +00:00
Linkage.h Give external linkage and mangling to lambdas inside inline variables and variable templates. 2017-09-22 04:25:05 +00:00
Mangle.cpp [modules ts] Ensure that module linkage variables are always emitted and always have their name mangled. 2017-09-07 00:55:55 +00:00
MicrosoftCXXABI.cpp
MicrosoftMangle.cpp Dependent Address Space Support 2017-10-02 06:25:51 +00:00
NSAPI.cpp Recommit "Add _Float16 as a C/C++ source language type" 2017-09-08 15:15:00 +00:00
NestedNameSpecifier.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:31:42 +00:00
ODRHash.cpp [ODRHash] Add base classes to hashing CXXRecordDecl. 2017-09-30 02:19:17 +00:00
OpenMPClause.cpp [OPENMP] Capture argument of `device` clause for target-based 2017-10-02 16:32:39 +00:00
ParentMap.cpp
QualTypeNames.cpp Moved QualTypeNames.h from Tooling to AST. 2017-11-08 10:39:03 +00:00
RawCommentList.cpp
RecordLayout.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-10 00:59:22 +00:00
RecordLayoutBuilder.cpp Convert clang::LangAS to a strongly typed enum 2017-10-15 18:48:14 +00:00
SelectorLocationsKind.cpp
Stmt.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-14 23:35:42 +00:00
StmtCXX.cpp [coroutines] Add serialization/deserialization of coroutines 2017-07-25 18:01:49 +00:00
StmtIterator.cpp
StmtObjC.cpp
StmtOpenMP.cpp [OPENMP] Codegen for 'task_reduction' clause. 2017-07-25 15:53:26 +00:00
StmtPrinter.cpp Handle lambda captures of variable length arrays in profiling and printing. 2017-11-11 00:54:25 +00:00
StmtProfile.cpp Handle lambda captures of variable length arrays in profiling and printing. 2017-11-11 00:54:25 +00:00
StmtViz.cpp
TemplateBase.cpp [AST] Give TemplateArgumentLoc a constexpr ctor. 2017-01-30 18:32:46 +00:00
TemplateName.cpp PR10147: When substituting a template template argument, substitute in the most 2017-08-29 22:14:43 +00:00
Type.cpp Make helper function static. NFC. 2017-10-31 23:23:36 +00:00
TypeLoc.cpp Recommit "Add _Float16 as a C/C++ source language type" 2017-09-08 15:15:00 +00:00
TypePrinter.cpp Convert clang::LangAS to a strongly typed enum 2017-10-15 18:48:14 +00:00
VTTBuilder.cpp
VTableBuilder.cpp [ms] Fix vbtable index for covariant overrides of vbase methods 2017-08-29 17:40:04 +00:00