summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp3
-rw-r--r--clang/test/Modules/Inputs/merge-decl-context/a.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 2c743673f69..17d1978de03 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -13875,6 +13875,9 @@ void Sema::SetDeclDeleted(Decl *Dcl, SourceLocation DelLoc) {
if (Fn->isMain())
Diag(DelLoc, diag::err_deleted_main);
+ // C++11 [dcl.fct.def.delete]p4:
+ // A deleted function is implicitly inline.
+ Fn->setImplicitlyInline();
Fn->setDeletedAsWritten();
}
diff --git a/clang/test/Modules/Inputs/merge-decl-context/a.h b/clang/test/Modules/Inputs/merge-decl-context/a.h
index 7be90b1535d..a0b58a7d6dd 100644
--- a/clang/test/Modules/Inputs/merge-decl-context/a.h
+++ b/clang/test/Modules/Inputs/merge-decl-context/a.h
@@ -24,5 +24,6 @@ inline A<int> ff(int i) {
struct Aggregate {
int member;
};
+bool operator==(Aggregate, Aggregate) = delete;
#endif
OpenPOWER on IntegriCloud