Index: lib/Sema/SemaDeclCXX.cpp =================================================================== --- lib/Sema/SemaDeclCXX.cpp +++ lib/Sema/SemaDeclCXX.cpp @@ -13870,6 +13870,9 @@ 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(); } Index: test/Modules/Inputs/merge-decl-context/a.h =================================================================== --- test/Modules/Inputs/merge-decl-context/a.h +++ test/Modules/Inputs/merge-decl-context/a.h @@ -24,5 +24,6 @@ struct Aggregate { int member; }; +bool operator==(Aggregate, Aggregate) = delete; #endif