[PATCH] D140724: [clang][Interp] Add back Run() call

Timm Bäder via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 12 21:32:29 PST 2023


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



More information about the cfe-commits mailing list