[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-commits
Subject:    [PATCH] D26143: [modules] Mark deleted functions as implicitly inline to allow merging
From:       Eric Fiselier via cfe-commits <cfe-commits () lists ! llvm ! org>
Date:       2016-10-31 23:16:55
Message-ID: fe6ef2736cc077e83dae3bc5eac274aa () localhost ! localdomain
[Download RAW message or body]

This revision was automatically updated to reflect the committed changes.
Closed by commit rL285655: [modules] Mark deleted functions as implicitly inline to \
allow  merging (authored by EricWF).

Changed prior to commit:
  https://reviews.llvm.org/D26143?vs=76501&id=76502#toc

https://reviews.llvm.org/D26143

Files:
  cfe/trunk/lib/Sema/SemaDeclCXX.cpp
  cfe/trunk/test/Modules/Inputs/merge-decl-context/a.h


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


["D26143.76502.patch" (text/x-patch)]

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

[Attachment #4 (text/plain)]

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic