aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--lib/Sema/SemaDeclCXX.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index b00d73d93c..8ef3463f42 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -3057,6 +3057,14 @@ void Sema::CheckExplicitlyDefaultedDefaultConstructor(CXXConstructorDecl *CD) {
// We know there are no parameters.
CD->setType(Context.getFunctionType(Context.VoidTy, 0, 0, EPI));
}
+
+ if (ShouldDeleteDefaultConstructor(CD)) {
+ if (First)
+ CD->setDeletedAsWritten();
+ else
+ Diag(CD->getLocation(), diag::err_out_of_line_default_deletes)
+ << getSpecialMember(CD);
+ }
}
bool Sema::ShouldDeleteDefaultConstructor(CXXConstructorDecl *CD) {