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

Reply via email to