[llvm-commits] [llvm-gcc-4.2] r88967 - /llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp

Devang Patel dpatel at apple.com
Mon Nov 16 13:24:33 PST 2009


Author: dpatel
Date: Mon Nov 16 15:24:33 2009
New Revision: 88967

URL: http://llvm.org/viewvc/llvm-project?rev=88967&view=rev
Log:
Use TrackingVH to hold debug info for a forward decl.

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

Modified: llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp?rev=88967&r1=88966&r2=88967&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp Mon Nov 16 15:24:33 2009
@@ -667,6 +667,7 @@
     return FwdDecl;
   
   // Insert into the TypeCache so that recursive uses will find it.
+  llvm::TrackingVH<llvm::MDNode> FwdDeclNode = FwdDecl.getNode();
   TypeCache[type] =  WeakVH(FwdDecl.getNode());
   
   // Convert all the elements.
@@ -769,7 +770,7 @@
   
   // Now that we have a real decl for the struct, replace anything using the
   // old decl with the new one.  This will recursively update the debug info.
-  FwdDecl.replaceAllUsesWith(RealDecl);
+  llvm::DIDerivedType(FwdDeclNode).replaceAllUsesWith(RealDecl);
   return RealDecl;
 }
 





More information about the llvm-commits mailing list