summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2008-11-19 17:17:41 +0000
committerDouglas Gregor <dgregor@apple.com>2008-11-19 17:17:41 +0000
commit40412acc0282908a2e76ec419890513065884547 (patch)
treefefa44134d9058f9ab8d52b6553bca88ff2f9411 /clang/lib/Parse/ParseExpr.cpp
parent0f09564ffc47f55379498ef1ea9b23bbc2eb5027 (diff)
downloadbcm5719-llvm-40412acc0282908a2e76ec419890513065884547.tar.gz
bcm5719-llvm-40412acc0282908a2e76ec419890513065884547.zip
Support overloading of the subscript operator[], including support for
built-in operator candidates. Test overloading of '&' and ','. In C++, a comma expression is an lvalue if its right-hand subexpression is an lvalue. Update Expr::isLvalue accordingly. llvm-svn: 59643
Diffstat (limited to 'clang/lib/Parse/ParseExpr.cpp')
-rw-r--r--clang/lib/Parse/ParseExpr.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseExpr.cpp b/clang/lib/Parse/ParseExpr.cpp
index 5f36f0bb272..74b0715de2a 100644
--- a/clang/lib/Parse/ParseExpr.cpp
+++ b/clang/lib/Parse/ParseExpr.cpp
@@ -672,7 +672,8 @@ Parser::ExprResult Parser::ParsePostfixExpressionSuffix(ExprResult LHS) {
SourceLocation RLoc = Tok.getLocation();
if (!LHS.isInvalid && !Idx.isInvalid && Tok.is(tok::r_square))
- LHS = Actions.ActOnArraySubscriptExpr(LHS.Val, Loc, Idx.Val, RLoc);
+ LHS = Actions.ActOnArraySubscriptExpr(CurScope, LHS.Val, Loc,
+ Idx.Val, RLoc);
else
LHS = ExprResult(true);
OpenPOWER on IntegriCloud