Code gen. for ivar references; including bitfield
ivars.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61043 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp
index 27e6a6d..50f45e8 100644
--- a/lib/AST/DeclObjC.cpp
+++ b/lib/AST/DeclObjC.cpp
@@ -367,7 +367,7 @@
/// storage which matches this 'ivar'.
///
FieldDecl *ObjCInterfaceDecl::lookupFieldDeclForIvar(ASTContext &Context,
- ObjCIvarDecl *ivar) {
+ const ObjCIvarDecl *ivar) {
assert(RecordForDecl && "lookupFieldDeclForIvar no storage for class");
DeclarationName Member = ivar->getDeclName();
DeclContext::lookup_result Lookup = RecordForDecl->lookup(Context, Member);
@@ -392,7 +392,8 @@
for (unsigned int i = 0; i != RecFields.size(); i++) {
FieldDecl *Field = FieldDecl::Create(Context, RD, SourceLocation(),
RecFields[i]->getIdentifier(),
- RecFields[i]->getType(), 0, false, 0);
+ RecFields[i]->getType(),
+ RecFields[i]->getBitWidth(), false, 0);
RD->addDecl(Context, Field);
}
RD->completeDefinition(Context);