[llvm-commits] [dragonegg] r97391 - /dragonegg/trunk/llvm-debug.cpp

Duncan Sands baldrick at free.fr
Sun Feb 28 05:16:55 PST 2010


Author: baldrick
Date: Sun Feb 28 07:16:55 2010
New Revision: 97391

URL: http://llvm.org/viewvc/llvm-project?rev=97391&view=rev
Log:
Port commit 95462 (dpatel) from llvm-gcc:
Identify artificial arguments. e.g. "this" in c++.


Modified:
    dragonegg/trunk/llvm-debug.cpp

Modified: dragonegg/trunk/llvm-debug.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-debug.cpp?rev=97391&r1=97390&r2=97391&view=diff
==============================================================================
--- dragonegg/trunk/llvm-debug.cpp (original)
+++ dragonegg/trunk/llvm-debug.cpp Sun Feb 28 07:16:55 2010
@@ -546,7 +546,15 @@
   for (tree arg = TYPE_ARG_TYPES(type); arg; arg = TREE_CHAIN(arg)) {
     tree formal_type = TREE_VALUE(arg);
     if (formal_type == void_type_node) break;
-    EltTys.push_back(getOrCreateType(formal_type));
+    llvm::DIType FormalType = getOrCreateType(formal_type);
+    if (TREE_CODE (type) == METHOD_TYPE
+        && TREE_CODE (formal_type) == POINTER_TYPE
+        && TREE_TYPE (formal_type) == TYPE_METHOD_BASETYPE (type)) {
+      DIType AFormalType = DebugFactory.CreateArtificialType(FormalType);
+      EltTys.push_back(AFormalType);
+      TypeCache[formal_type] = WeakVH(AFormalType.getNode());
+    } else
+      EltTys.push_back(FormalType);
   }
   
   llvm::DIArray EltTypeArray =





More information about the llvm-commits mailing list