@@ -1725,9 +1725,8 @@ class CGObjCGNUstep2 : public CGObjCGNUstep {
17251725 SmallVector<ObjCMethodDecl*, 16 > ClassMethods;
17261726 ClassMethods.insert (ClassMethods.begin (), OID->classmeth_begin (),
17271727 OID->classmeth_end ());
1728- metaclassFields.addBitCast (
1729- GenerateMethodList (className, " " , ClassMethods, true ),
1730- PtrTy);
1728+ metaclassFields.add (
1729+ GenerateMethodList (className, " " , ClassMethods, true ));
17311730 }
17321731 // void *dtable;
17331732 metaclassFields.addNullPointer (PtrTy);
@@ -1894,9 +1893,9 @@ class CGObjCGNUstep2 : public CGObjCGNUstep {
18941893 if (InstanceMethods.size () == 0 )
18951894 classFields.addNullPointer (PtrTy);
18961895 else
1897- classFields.addBitCast (
1898- GenerateMethodList (className, " " , InstanceMethods, false ),
1899- PtrTy);
1896+ classFields.add (
1897+ GenerateMethodList (className, " " , InstanceMethods, false ));
1898+
19001899 // void *dtable;
19011900 classFields.addNullPointer (PtrTy);
19021901 // IMP cxx_construct;
@@ -2887,14 +2886,14 @@ GenerateMethodList(StringRef ClassName,
28872886 assert (FnPtr && " Can't generate metadata for method that doesn't exist" );
28882887 auto Method = MethodArray.beginStruct (ObjCMethodTy);
28892888 if (isV2ABI) {
2890- Method.addBitCast (FnPtr, IMPTy );
2889+ Method.add (FnPtr);
28912890 Method.add (GetConstantSelector (OMD->getSelector (),
28922891 Context.getObjCEncodingForMethodDecl (OMD)));
28932892 Method.add (MakeConstantString (Context.getObjCEncodingForMethodDecl (OMD, true )));
28942893 } else {
28952894 Method.add (MakeConstantString (OMD->getSelector ().getAsString ()));
28962895 Method.add (MakeConstantString (Context.getObjCEncodingForMethodDecl (OMD)));
2897- Method.addBitCast (FnPtr, IMPTy );
2896+ Method.add (FnPtr);
28982897 }
28992898 Method.finishAndAddTo (MethodArray);
29002899 }
@@ -2993,7 +2992,7 @@ llvm::Constant *CGObjCGNU::GenerateClassStructure(
29932992 // Fill in the structure
29942993
29952994 // isa
2996- Elements.addBitCast (MetaClass, PtrToInt8Ty );
2995+ Elements.add (MetaClass);
29972996 // super_class
29982997 Elements.add (SuperClass);
29992998 // name
@@ -3022,7 +3021,7 @@ llvm::Constant *CGObjCGNU::GenerateClassStructure(
30223021 // sibling_class
30233022 Elements.add (NULLPtr);
30243023 // protocols
3025- Elements.addBitCast (Protocols, PtrTy );
3024+ Elements.add (Protocols);
30263025 // gc_object_type
30273026 Elements.add (NULLPtr);
30283027 // abi_version
@@ -3094,7 +3093,7 @@ CGObjCGNU::GenerateProtocolList(ArrayRef<std::string> Protocols) {
30943093 } else {
30953094 protocol = value->getValue ();
30963095 }
3097- Elements.addBitCast (protocol, PtrToInt8Ty );
3096+ Elements.add (protocol);
30983097 }
30993098 Elements.finishAndAddTo (ProtocolList);
31003099 return ProtocolList.finishAndCreateGlobal (" .objc_protocol_list" ,
@@ -3224,11 +3223,9 @@ void CGObjCGNU::GenerateProtocolHolderCategory() {
32243223 Elements.add (MakeConstantString (CategoryName));
32253224 Elements.add (MakeConstantString (ClassName));
32263225 // Instance method list
3227- Elements.addBitCast (GenerateMethodList (
3228- ClassName, CategoryName, {}, false ), PtrTy);
3226+ Elements.add (GenerateMethodList (ClassName, CategoryName, {}, false ));
32293227 // Class method list
3230- Elements.addBitCast (GenerateMethodList (
3231- ClassName, CategoryName, {}, true ), PtrTy);
3228+ Elements.add (GenerateMethodList (ClassName, CategoryName, {}, true ));
32323229
32333230 // Protocol list
32343231 ConstantInitBuilder ProtocolListBuilder (CGM);
@@ -3238,13 +3235,11 @@ void CGObjCGNU::GenerateProtocolHolderCategory() {
32383235 auto ProtocolElements = ProtocolList.beginArray (PtrTy);
32393236 for (auto iter = ExistingProtocols.begin (), endIter = ExistingProtocols.end ();
32403237 iter != endIter ; iter++) {
3241- ProtocolElements.addBitCast (iter->getValue (), PtrTy );
3238+ ProtocolElements.add (iter->getValue ());
32423239 }
32433240 ProtocolElements.finishAndAddTo (ProtocolList);
3244- Elements.addBitCast (
3245- ProtocolList.finishAndCreateGlobal (" .objc_protocol_list" ,
3246- CGM.getPointerAlign ()),
3247- PtrTy);
3241+ Elements.add (ProtocolList.finishAndCreateGlobal (" .objc_protocol_list" ,
3242+ CGM.getPointerAlign ()));
32483243 Categories.push_back (
32493244 Elements.finishAndCreateGlobal (" " , CGM.getPointerAlign ()));
32503245}
@@ -3321,27 +3316,26 @@ void CGObjCGNU::GenerateCategory(const ObjCCategoryImplDecl *OCD) {
33213316 SmallVector<ObjCMethodDecl*, 16 > InstanceMethods;
33223317 InstanceMethods.insert (InstanceMethods.begin (), OCD->instmeth_begin (),
33233318 OCD->instmeth_end ());
3324- Elements.addBitCast (
3325- GenerateMethodList (ClassName, CategoryName, InstanceMethods, false ),
3326- PtrTy);
3319+ Elements.add (
3320+ GenerateMethodList (ClassName, CategoryName, InstanceMethods, false ));
3321+
33273322 // Class method list
33283323
33293324 SmallVector<ObjCMethodDecl*, 16 > ClassMethods;
33303325 ClassMethods.insert (ClassMethods.begin (), OCD->classmeth_begin (),
33313326 OCD->classmeth_end ());
3332- Elements.addBitCast (
3333- GenerateMethodList (ClassName, CategoryName, ClassMethods, true ),
3334- PtrTy);
3327+ Elements.add (GenerateMethodList (ClassName, CategoryName, ClassMethods, true ));
3328+
33353329 // Protocol list
3336- Elements.addBitCast (GenerateCategoryProtocolList (CatDecl), PtrTy );
3330+ Elements.add (GenerateCategoryProtocolList (CatDecl));
33373331 if (isRuntime (ObjCRuntime::GNUstep, 2 )) {
33383332 const ObjCCategoryDecl *Category =
33393333 Class->FindCategoryDeclaration (OCD->getIdentifier ());
33403334 if (Category) {
33413335 // Instance properties
3342- Elements.addBitCast (GeneratePropertyList (OCD, Category, false ), PtrTy );
3336+ Elements.add (GeneratePropertyList (OCD, Category, false ));
33433337 // Class properties
3344- Elements.addBitCast (GeneratePropertyList (OCD, Category, true ), PtrTy );
3338+ Elements.add (GeneratePropertyList (OCD, Category, true ));
33453339 } else {
33463340 Elements.addNullPointer (PtrTy);
33473341 Elements.addNullPointer (PtrTy);
@@ -3785,7 +3779,7 @@ llvm::Function *CGObjCGNU::ModuleInitFunction() {
37853779 // Number of static selectors
37863780 symtab.addInt (LongTy, selectorCount);
37873781
3788- symtab.addBitCast (selectorList, selStructPtrTy );
3782+ symtab.add (selectorList);
37893783
37903784 // Number of classes defined.
37913785 symtab.addInt (CGM.Int16Ty , Classes.size ());
0 commit comments