codegen-gnu.m is failing on Darwin as of this commit, I believe. - Daniel
On Wed, Jan 21, 2009 at 10:52 AM, Chris Lattner <[email protected]> wrote: > Author: lattner > Date: Wed Jan 21 12:52:19 2009 > New Revision: 62703 > > URL: http://llvm.org/viewvc/llvm-project?rev=62703&view=rev > Log: > Fix objc type conversion issues with the GNU runtime, patch by > David Chisnall > > Modified: > cfe/trunk/lib/CodeGen/CGObjCGNU.cpp > > Modified: cfe/trunk/lib/CodeGen/CGObjCGNU.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp?rev=62703&r1=62702&r2=62703&view=diff > > ============================================================================== > --- cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (original) > +++ cfe/trunk/lib/CodeGen/CGObjCGNU.cpp Wed Jan 21 12:52:19 2009 > @@ -40,8 +40,8 @@ > private: > CodeGen::CodeGenModule &CGM; > llvm::Module &TheModule; > - const llvm::StructType *SelStructTy; > - const llvm::Type *SelectorTy; > + const llvm::PointerType *SelectorTy; > + const llvm::Type *ExpectedSelTy; > const llvm::Type *PtrToInt8Ty; > const llvm::Type *IMPTy; > const llvm::Type *IdTy; > @@ -168,11 +168,12 @@ > PtrToInt8Ty = > llvm::PointerType::getUnqual(llvm::Type::Int8Ty); > // Get the selector Type. > - SelStructTy = llvm::StructType::get( > - PtrToInt8Ty, > - PtrToInt8Ty, > - NULL); > - SelectorTy = llvm::PointerType::getUnqual(SelStructTy); > + SelectorTy = cast<llvm::PointerType>( > + CGM.getTypes().ConvertType(CGM.getContext().getObjCSelType())); > + > + ExpectedSelTy = > + CGM.getTypes().ConvertType(CGM.getContext().getObjCSelType()); > + > PtrToIntTy = llvm::PointerType::getUnqual(IntTy); > PtrTy = PtrToInt8Ty; > > @@ -797,6 +798,9 @@ > UntypedSelectors.empty()) > return NULL; > > + const llvm::StructType *SelStructTy = > + cast<llvm::StructType>(SelectorTy->getTypeAtIndex(0U)); > + > // Name the ObjC types to make the IR a bit easier to read > TheModule.addTypeName(".objc_selector", SelectorTy); > TheModule.addTypeName(".objc_id", IdTy); > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
