by David Chisnall.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52597
91177308-0d34-0410-b5e6-
96231b3b80d8
// late-bound ivars.
ObjCInterfaceType OIT = cast<ObjCInterfaceType>(Ty);
std::vector<const llvm::Type*> IvarTypes;
- // Pointer to the class. This is just a placeholder. Operations that
- // actually use the isa pointer should cast it to the Class type provided
- // by the runtime.
- IvarTypes.push_back(llvm::PointerType::getUnqual(llvm::Type::Int8Ty));
CollectObjCIvarTypes(OIT.getDecl(), IvarTypes);
return llvm::StructType::get(IvarTypes);
}
Diag(DeclStart, diag::err_undef_interface, ClassName->getName());
return;
}
- // Add the isa pointer
- Decls.push_back(FieldDecl::Create(Context, SourceLocation(),
- &Context.Idents.get("isa"),
- Context.getObjCClassType()));
// Collect the instance variables
CollectIvars(Class, Decls);
}