Quuxplusone added inline comments.

================
Comment at: clang/lib/Sema/SemaStmt.cpp:3110
+///
+/// \returns Whether need to do the second overload resolution. If the first
+/// overload resolution fails, or if the first overload resolution success but
----------------
s/need/we need/


================
Comment at: clang/lib/Sema/SemaStmt.cpp:3111
+/// \returns Whether need to do the second overload resolution. If the first
+/// overload resolution fails, or if the first overload resolution success but
+/// the selected constructor/operator doesn't match the additional criteria, we
----------------
s/success/succeeds/


================
Comment at: clang/lib/Sema/SemaStmt.cpp:3212
   ExprResult Res = ExprError();
+  bool NeedSecondOverload = true;
 
----------------
Naming nit: I would prefer to call this "NeedSecondStep" or 
"NeedSecondOverloadResolution" or "NeedSecondResolution". The way it is now, it 
sounds like it's saying we need to find a second //overload//, which isn't 
really the intended meaning.


================
Comment at: clang/test/CXX/class/class.init/class.copy.elision/p3.cpp:4
+// RUN: %clang_cc1 -std=c++14 -fsyntax-only -fcxx-exceptions 
-verify=cxx11_14_17 %s
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions 
-verify=cxx11_14_17 %s
+
----------------
The new behavior looks good to me (once the tests pass).
Why are there two different `-verify=` tags here, though? This behavior hasn't 
changed between C++11/14/17 and C++20.

(IIUC, the point of this patch is to fix the implementation divergence 
described in 
http://quuxplusone.github.io/draft/d2266-implicit-move-rvalue-ref.html#two-lookups
 , example `thirteen`.)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92936/new/

https://reviews.llvm.org/D92936

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

Reply via email to