зеркало из https://github.com/microsoft/clang-1.git
Implicit casts from rvalue to lvalue are not meaningful. Don't accidentally add
them when performing a const conversion on the implicit object argument for a member operator call on an rvalue. No change to the testsuite: the test for this change is that the added assertion does not fire any more. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144333 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
ce117a7d28
Коммит
acdfa4d504
|
@ -252,6 +252,7 @@ ExprResult Sema::ImpCastExprToType(Expr *E, QualType Ty,
|
|||
break;
|
||||
}
|
||||
}
|
||||
assert((VK == VK_RValue || !E->isRValue()) && "can't cast rvalue to lvalue");
|
||||
#endif
|
||||
|
||||
QualType ExprTy = Context.getCanonicalType(E->getType());
|
||||
|
|
|
@ -4090,7 +4090,7 @@ Sema::PerformObjectArgumentInitialization(Expr *From,
|
|||
|
||||
if (!Context.hasSameType(From->getType(), DestType))
|
||||
From = ImpCastExprToType(From, DestType, CK_NoOp,
|
||||
From->getType()->isPointerType() ? VK_RValue : VK_LValue).take();
|
||||
From->getValueKind()).take();
|
||||
return Owned(From);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче