diff options
| author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-07-20 04:20:21 +0000 | 
|---|---|---|
| committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-07-20 04:20:21 +0000 | 
| commit | c57d34bc3566d0ed2dca22b3b74267a10dcef083 (patch) | |
| tree | a09932c20e137d0b6c0158e587db3c278464dcf7 /clang/lib/Sema/SemaExpr.cpp | |
| parent | 08d047666a81bca31c39fb071c2c81cc93854a46 (diff) | |
| download | bcm5719-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.cpp | 11 | 
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;  } | 

