[PATCH] D99696: [clang] NRVO: Improvements and handling of more cases.
Matheus Izvekov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Apr 10 12:03:23 PDT 2021
mizvekov marked 8 inline comments as done.
mizvekov added inline comments.
================
Comment at: clang/lib/Sema/SemaStmt.cpp:3058
-bool Sema::isCopyElisionCandidate(QualType ReturnType, const VarDecl *VD,
- CopyElisionSemanticsKind CESK) {
- QualType VDType = VD->getType();
- // - in a return statement in a function with ...
- // ... a class return type ...
- if (!ReturnType.isNull() && !ReturnType->isDependentType()) {
- if (!ReturnType->isRecordType())
- return false;
- // ... the same cv-unqualified type as the function return type ...
- // When considering moving this expression out, allow dissimilar types.
- if (!(CESK & CES_AllowDifferentTypes) && !VDType->isDependentType() &&
- !Context.hasSameUnqualifiedType(ReturnType, VDType))
- return false;
+ // (other than a function ... parameter)
+ if (VD->getKind() == Decl::ParmVar) {
----------------
aaronpuchert wrote:
> These comments seem to be separated from their context now...
This one comment here is talking about the line just below it.
Any other examples where it seems separated?
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