rsmith accepted this revision.
rsmith added inline comments.
This revision is now accepted and ready to land.


================
Comment at: include/clang/Sema/Sema.h:3827
   bool isCopyElisionCandidate(QualType ReturnType, const VarDecl *VD,
-                              bool AllowParamOrMoveConstructible);
+                              CopyElisionSemanticsKind CESK);
 
----------------
Quuxplusone wrote:
> Q: Is it appropriate for me to be changing the signature of this public 
> method at all? I don't know libclang's rules regarding this kind of change.
For reference, changes here are fine. We provide no API or ABI stability 
guarantees for our C++ ABI; libclang provides an ABI-stable C ABI layered on 
top of our internal API for this reason.


================
Comment at: include/clang/Sema/Sema.h:3806
     CES_Default = (CES_AllowParameters | CES_AllowDifferentTypes),
+    CES_AsIfByStdMove = (CES_AllowParameters | CES_AllowDifferentTypes | 
CES_AllowExceptionVariables),
   };
----------------
Please wrap to 80 columns.


================
Comment at: lib/Sema/SemaStmt.cpp:3075-3076
+      } else {
+        // The most common case for this is returning T from a function that
+        // returns Expected<T>. This is totally fine in a post-CWG1579 world,
+        // but was not fine before.
----------------
I've seen this a lot more for returning `unique_ptr<Derived>` from a function 
with return type `unique_ptr<Base>`. Maybe just give this `Expected<T>` case as 
an example rather than saying it's the most common example?


Repository:
  rC Clang

https://reviews.llvm.org/D43322



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

Reply via email to