From 6f8ce146b52eace27f33bf6e0788f4be4f104404 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 5 Mar 2009 23:03:49 +0000 Subject: [PATCH] more minor simplifications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66214 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaDeclCXX.cpp | 13 ++++++------- 1 file 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(CurContext), Loc, D, BitWidth); - // Refresh our notion of bitwidth. - BitWidth = FD->getBitWidth(); - Member = FD; + Member = HandleField(S, cast(CurContext), Loc, D, BitWidth); + assert(Member && "HandleField never returns null"); } else { Member = static_cast(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++ -- 2.50.1