diff options
Diffstat (limited to 'clang/lib/AST/Expr.cpp')
| -rw-r--r-- | clang/lib/AST/Expr.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index 49a4d777838..a179af8b145 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -398,6 +398,11 @@ Expr::isLvalueResult Expr::isLvalue(ASTContext &Ctx) const {          cast<UnaryOperator>(this)->getOpcode() == UnaryOperator::Imag ||          cast<UnaryOperator>(this)->getOpcode() == UnaryOperator::Extension)        return cast<UnaryOperator>(this)->getSubExpr()->isLvalue(Ctx);  // GNU. + +    if (Ctx.getLangOptions().CPlusPlus && // C++ [expr.pre.incr]p1 +        (cast<UnaryOperator>(this)->getOpcode() == UnaryOperator::PreInc || +         cast<UnaryOperator>(this)->getOpcode() == UnaryOperator::PreDec)) +      return LV_Valid;      break;    case ImplicitCastExprClass:      return cast<ImplicitCastExpr>(this)->isLvalueCast()? LV_Valid  | 

