diff options
Diffstat (limited to 'lib/AST/Expr.cpp')
-rw-r--r-- | lib/AST/Expr.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index cdbafde0c0..58dadb0801 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -420,7 +420,9 @@ Expr::isLvalueResult Expr::isLvalue() const { case ObjCPropertyRefExprClass: // FIXME: check if read-only property. return LV_Valid; case PreDefinedExprClass: - return LV_Valid; + return (cast<PreDefinedExpr>(this)->getIdentType() == PreDefinedExpr::CXXThis + ? LV_InvalidExpression + : LV_Valid); case CXXDefaultArgExprClass: return cast<CXXDefaultArgExpr>(this)->getExpr()->isLvalue(); default: |