[PATCH] D99696: [clang] NRVO: Improvements and handling of more cases.

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 14 08:49:36 PDT 2021


rjmccall added a comment.

When `__block` variables get moved to the heap, they're supposed to be moved if possible, not copied.  It looks like PerformMoveOrCopyInitialization requires NRVO info to be passed in to ever do a move.  Maybe it's being passed in wrong when building `__block` copy expressions in some situation.

Was there really not a test case covering those semantics?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99696



More information about the cfe-commits mailing list