tbaeder added inline comments.

================
Comment at: clang/lib/AST/Interp/Interp.h:1301
   assert(S.Current->getFunction()->hasRVO());
+  if (S.checkingPotentialConstantExpression())
+    return false;
----------------
shafik wrote:
> Why did you add these checks calling `checkingPotentialConstantExpression` 
> for?
The RVO pointer needs to be on the stack when calling a function (much like the 
`this` pointer). In the context of the `Run` call after compiling a function, 
it cannot exist and so we can't return anything here. This is similar to the 
pre-existing check in `This()` just above this function.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140724

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

Reply via email to