On Tue, Mar 20, 2012 at 9:25 AM, David Chisnall <[email protected]> wrote: > Author: theraven > Date: Tue Mar 20 11:25:52 2012 > New Revision: 153090 > > URL: http://llvm.org/viewvc/llvm-project?rev=153090&view=rev > Log: > Add missing bitcast that was breaking Objective-C++ exception typeinfo > (GNUstep runtime).
Test case(s - one for Clang to emit it, another for LLVM to catch this in some way? (I realize for efficiency LLVM doesn't verify things usually - do we need some test mode where we can verify bitcode crossing the boundary?))? > > > 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=153090&r1=153089&r2=153090&view=diff > ============================================================================== > --- cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (original) > +++ cfe/trunk/lib/CodeGen/CGObjCGNU.cpp Tue Mar 20 11:25:52 2012 > @@ -933,7 +933,8 @@ > > // Return the existing typeinfo if it exists > llvm::Constant *typeinfo = TheModule.getGlobalVariable(typeinfoName); > - if (typeinfo) return typeinfo; > + if (typeinfo) > + return llvm::ConstantExpr::getBitCast(typeinfo, PtrToInt8Ty); > > // Otherwise create it. > > > > _______________________________________________ > 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
