more minor simplifications.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66214 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index 178853e..e2a8bb4 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -546,13 +546,14 @@
 
   Decl *Member;
   if (isInstField) {
-    FieldDecl *FD = 
-      HandleField(S, cast<CXXRecordDecl>(CurContext), Loc, D, BitWidth);
-    // Refresh our notion of bitwidth.
-    BitWidth = FD->getBitWidth();
-    Member = FD;
+    Member = HandleField(S, cast<CXXRecordDecl>(CurContext), Loc, D, BitWidth);
+    assert(Member && "HandleField never returns null");
   } else {
     Member = static_cast<Decl*>(ActOnDeclarator(S, D, LastInGroup));
+    if (!Member) {
+      if (BitWidth) DeleteExpr(BitWidth);
+      return LastInGroup;
+    }
 
     // Non-instance-fields can't have a bitfield.
     if (BitWidth) {
@@ -580,8 +581,6 @@
     }
   }
 
-  if (!Member) return LastInGroup;
-
   assert((Name || isInstField) && "No identifier for non-field ?");
 
   // set/getAccess is not part of Decl's interface to avoid bloating it with C++