[PATCH] D33797: [coroutines] Fix rebuilding of dependent coroutine parameters
Richard Smith - zygoloid via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 2 16:43:02 PDT 2017
rsmith added inline comments.
================
Comment at: lib/Sema/SemaCoroutine.cpp:1285
+ // We needed to check it, but we don't need to generate code for it.
+ if (!paramDecl->getIdentifier())
+ continue;
----------------
EricWF wrote:
> @rsmith Is there a better way to check if the move would be valid for unnamed parameters without building up these expressions?
We could wire through a flag to tell `AddInitializerToDecl` to build the `InitializationSequence` but not `Perform` it, but I don't think it's worth the effort. In fact, I'd prefer that we store the copy statement in the AST regardless, and make the choice to elide the copy from within `CodeGen`. (Sema shouldn't be dropping parts of the AST just because CodeGen doesn't need them; for example, a tool that wants to identify all potential callers of the move constructor should be able to find this call.)
I think we should also disable elision of parameter copies under `-fno-elide-constructors`.
https://reviews.llvm.org/D33797
More information about the cfe-commits
mailing list