move the @implementation ivar list to being an ObjCList, which prevents
it from being leaked, among other things.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65150 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index b69453d..d91c2c1 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -3458,13 +3458,10 @@
}
- // FIXME: Chain fielddecls together.
- FieldDecl *NewFD;
-
- NewFD = FieldDecl::Create(Context, Record,
- Loc, II, T, BitWidth,
- D.getDeclSpec().getStorageClassSpec() ==
- DeclSpec::SCS_mutable);
+ FieldDecl *NewFD = FieldDecl::Create(Context, Record,
+ Loc, II, T, BitWidth,
+ D.getDeclSpec().getStorageClassSpec() ==
+ DeclSpec::SCS_mutable);
if (II) {
NamedDecl *PrevDecl = LookupName(S, II, LookupMemberName, true);
@@ -3710,7 +3707,7 @@
else if (ObjCImplementationDecl *IMPDecl =
dyn_cast<ObjCImplementationDecl>(EnclosingDecl)) {
assert(IMPDecl && "ActOnFields - missing ObjCImplementationDecl");
- IMPDecl->ObjCAddInstanceVariablesToClassImpl(ClsFields, RecFields.size());
+ IMPDecl->setIVarList(ClsFields, RecFields.size());
CheckImplementationIvars(IMPDecl, ClsFields, RecFields.size(), RBrac);
}
}