diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2009-05-03 01:08:28 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2009-05-03 01:08:28 +0000 |
| commit | bdb23a1f56eb384765fd6841e76f07ce583f789b (patch) | |
| tree | d4154a111d78bb1cc2ca7f0f86fafc1249f700a4 /clang/lib/Sema | |
| parent | 3e3e69bbe72308336ac955b1e21cb9d121496ac3 (diff) | |
| download | bcm5719-llvm-bdb23a1f56eb384765fd6841e76f07ce583f789b.tar.gz bcm5719-llvm-bdb23a1f56eb384765fd6841e76f07ce583f789b.zip | |
Fix invalid error about duplicate declaration of padding bit field in
an interface.
llvm-svn: 70652
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 3ae2ba14c91..9647740b14c 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -3980,12 +3980,14 @@ void Sema::ActOnFields(Scope* S, for (ObjCInterfaceDecl::ivar_iterator IVI = ID->ivar_begin(), IVE = ID->ivar_end(); IVI != IVE; ++IVI) { ObjCIvarDecl* Ivar = (*IVI); - IdentifierInfo *II = Ivar->getIdentifier(); - ObjCIvarDecl* prevIvar = - ID->getSuperClass()->lookupInstanceVariable(Context, II); - if (prevIvar) { - Diag(Ivar->getLocation(), diag::err_duplicate_member) << II; - Diag(prevIvar->getLocation(), diag::note_previous_declaration); + + if (IdentifierInfo *II = Ivar->getIdentifier()) { + ObjCIvarDecl* prevIvar = + ID->getSuperClass()->lookupInstanceVariable(Context, II); + if (prevIvar) { + Diag(Ivar->getLocation(), diag::err_duplicate_member) << II; + Diag(prevIvar->getLocation(), diag::note_previous_declaration); + } } } } |

