summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2010-07-20 04:20:21 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2010-07-20 04:20:21 +0000
commitc57d34bc3566d0ed2dca22b3b74267a10dcef083 (patch)
treea09932c20e137d0b6c0158e587db3c278464dcf7 /clang/lib/Sema/SemaExpr.cpp
parent08d047666a81bca31c39fb071c2c81cc93854a46 (diff)
downloadbcm5719-llvm-c57d34bc3566d0ed2dca22b3b74267a10dcef083.tar.gz
bcm5719-llvm-c57d34bc3566d0ed2dca22b3b74267a10dcef083.zip
Update ImplicitCastExpr to be able to represent an XValue.
llvm-svn: 108807
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 447dc387320..73127df5ddc 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -1441,9 +1441,8 @@ Sema::PerformObjectMemberConversion(Expr *&From,
SourceRange FromRange = From->getSourceRange();
SourceLocation FromLoc = FromRange.getBegin();
- bool isLvalue
- = (From->isLvalue(Context) == Expr::LV_Valid) && !PointerConversions;
-
+ ImplicitCastExpr::ResultCategory Category = CastCategory(From);
+
// C++ [class.member.lookup]p8:
// [...] Ambiguities can often be resolved by qualifying a name with its
// class name.
@@ -1481,7 +1480,7 @@ Sema::PerformObjectMemberConversion(Expr *&From,
if (PointerConversions)
QType = Context.getPointerType(QType);
ImpCastExprToType(From, QType, CastExpr::CK_UncheckedDerivedToBase,
- isLvalue, BasePath);
+ Category, BasePath);
FromType = QType;
FromRecordType = QRecordType;
@@ -1518,7 +1517,7 @@ Sema::PerformObjectMemberConversion(Expr *&From,
if (PointerConversions)
UType = Context.getPointerType(UType);
ImpCastExprToType(From, UType, CastExpr::CK_UncheckedDerivedToBase,
- isLvalue, BasePath);
+ Category, BasePath);
FromType = UType;
FromRecordType = URecordType;
}
@@ -1535,7 +1534,7 @@ Sema::PerformObjectMemberConversion(Expr *&From,
return true;
ImpCastExprToType(From, DestType, CastExpr::CK_UncheckedDerivedToBase,
- isLvalue, BasePath);
+ Category, BasePath);
return false;
}
OpenPOWER on IntegriCloud