Eliminate CXXClassVarDecl. It doesn't add anything

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66696 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp
index 45a3372..4776ce5 100644
--- a/lib/AST/DeclCXX.cpp
+++ b/lib/AST/DeclCXX.cpp
@@ -316,12 +316,6 @@
   return new (C) CXXConversionDecl(RD, L, N, T, isInline, isExplicit);
 }
 
-CXXClassVarDecl *CXXClassVarDecl::Create(ASTContext &C, CXXRecordDecl *RD,
-                                   SourceLocation L, IdentifierInfo *Id,
-                                   QualType T) {
-  return new (C) CXXClassVarDecl(RD, L, Id, T);
-}
-
 OverloadedFunctionDecl *
 OverloadedFunctionDecl::Create(ASTContext &C, DeclContext *DC,
                                DeclarationName N) {
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index 38bcc9b..3d2132a 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -511,7 +511,7 @@
           return LV_Valid;
 
       //   -- If E2 is a static data member [...] then E1.E2 is an lvalue.
-      if (isa<CXXClassVarDecl>(Member))
+      if (isa<VarDecl>(Member) && Member->getDeclContext()->isRecord())
         return LV_Valid;
 
       //   -- If E2 is a non-static data member [...]. If E1 is an