diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-03-05 23:03:49 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-03-05 23:03:49 +0000 | 
| commit | 97e277e55e727934f3e68bfab7066b7ab86112a4 (patch) | |
| tree | c95b89c943489d1d359253bb0e28c739a83b96f3 /clang/lib/Sema/SemaDeclCXX.cpp | |
| parent | d26760aecbb2629eeb6bbcb869db086ca39c500f (diff) | |
| download | bcm5719-llvm-97e277e55e727934f3e68bfab7066b7ab86112a4.tar.gz bcm5719-llvm-97e277e55e727934f3e68bfab7066b7ab86112a4.zip | |
more minor simplifications.
llvm-svn: 66214
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 13 | 
1 files changed, 6 insertions, 7 deletions
| diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 178853e5ccf..e2a8bb4347e 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/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++ | 

