aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-03-05 23:03:49 +0000
committerChris Lattner <sabre@nondot.org>2009-03-05 23:03:49 +0000
commit6f8ce146b52eace27f33bf6e0788f4be4f104404 (patch)
tree1b88e63f3e531d979b15542c0a6b00aeadd197a8
parent8b963ef99be6235f1e9fe866180fff7dbbe5e85b (diff)
more minor simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66214 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Sema/SemaDeclCXX.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index 178853e5cc..e2a8bb4347 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -546,13 +546,14 @@ Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier AS, Declarator &D,
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 @@ Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier AS, Declarator &D,
}
}
- 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++