diff options
author | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-05-23 23:14:04 +0000 |
---|---|---|
committer | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-05-23 23:14:04 +0000 |
commit | cd10dec673680fd18a2e5a27646173780c059d32 (patch) | |
tree | 64c35ae79c23d4e5bd7172e1cbaa4798af93857c /lib/AST/Decl.cpp | |
parent | e6a11a62d1d66d10a87d81ed697348d66d59adf7 (diff) |
Implement explicit specialization of explicitly-defaulted constructors.
The general out-of-line case (including explicit instantiation mostly
works except that the definition is being lost somewhere between the AST
and CodeGen, so the definition is never emitted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131933 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Decl.cpp')
-rw-r--r-- | lib/AST/Decl.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index ec11838c84..81d976f4e8 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -1438,7 +1438,7 @@ bool FunctionDecl::hasTrivialBody() const bool FunctionDecl::isDefined(const FunctionDecl *&Definition) const { for (redecl_iterator I = redecls_begin(), E = redecls_end(); I != E; ++I) { - if (I->IsDeleted || I->Body || I->IsLateTemplateParsed) { + if (I->IsDeleted || I->IsDefaulted || I->Body || I->IsLateTemplateParsed) { Definition = I->IsDeleted ? I->getCanonicalDecl() : *I; return true; } |