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