[llvm-commits] [llvm-gcc-4.2] r136600 - /llvm-gcc-4.2/trunk/gcc/llvm-types.cpp

Duncan Sands baldrick at free.fr
Sun Jul 31 11:47:21 PDT 2011


Author: baldrick
Date: Sun Jul 31 13:47:21 2011
New Revision: 136600

URL: http://llvm.org/viewvc/llvm-project?rev=136600&view=rev
Log:
If we already converted a pointer type, then reuse the previous
conversion.  This solves some ObjC test failures in FrontendObjC
which occurred because of the same GCC pointer type being converted
differently on multiple calls to ConvertType, according to whether
it was being converted as part of converting a containing struct,
or just converted directly.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-types.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-types.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-types.cpp?rev=136600&r1=136599&r2=136600&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-types.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-types.cpp Sun Jul 31 13:47:21 2011
@@ -571,6 +571,7 @@
   case POINTER_TYPE:
   case REFERENCE_TYPE:
   case BLOCK_POINTER_TYPE: {
+    if (Type *Ty = GET_TYPE_LLVM(type)) return Ty;
     // Disable recursive struct conversion.
     ConversionStatus SavedCS = RecursionStatus;
     if (RecursionStatus == CS_Struct)





More information about the llvm-commits mailing list