diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-01-24 22:51:26 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-01-24 22:51:26 +0000 |
commit | d814eaf0dfb30f1cb6f90b056f8126f7e31e7ef4 (patch) | |
tree | f716f2531654026e5080d1746ab958817bd9694e /lib/Sema/SemaExprCXX.cpp | |
parent | 1acbe5e65631c7b52fa559df2bdcfdf76d4c410a (diff) |
Switch PerformImplicitConversion over to use DefaultLvalueConversion for lvalue-to-rvalue conversion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148874 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaExprCXX.cpp')
-rw-r--r-- | lib/Sema/SemaExprCXX.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp index 919ef06957..1b08aa2159 100644 --- a/lib/Sema/SemaExprCXX.cpp +++ b/lib/Sema/SemaExprCXX.cpp @@ -2324,12 +2324,14 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, // Nothing to do. break; - case ICK_Lvalue_To_Rvalue: + case ICK_Lvalue_To_Rvalue: { assert(From->getObjectKind() != OK_ObjCProperty); FromType = FromType.getUnqualifiedType(); - From = ImplicitCastExpr::Create(Context, FromType, CK_LValueToRValue, - From, 0, VK_RValue); + ExprResult FromRes = DefaultLvalueConversion(From); + assert(!FromRes.isInvalid() && "Can't perform deduced conversion?!"); + From = FromRes.take(); break; + } case ICK_Array_To_Pointer: FromType = Context.getArrayDecayedType(FromType); |