Add Sema support for C++ classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52956 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index cdbafde..58dadb0 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -420,7 +420,9 @@
   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: