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

Duncan Sands baldrick at free.fr
Sun Feb 28 05:02:52 PST 2010


Author: baldrick
Date: Sun Feb 28 07:02:52 2010
New Revision: 97384

URL: http://llvm.org/viewvc/llvm-project?rev=97384&view=rev
Log:
Port commit 95241 (dpatel) from llvm-gcc:
Do not skip artificial methods that are used. The debugger uses this information to reconstruct virtual base info.

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=97384&r1=97383&r2=97384&view=diff
==============================================================================
--- dragonegg/trunk/llvm-debug.cpp (original)
+++ dragonegg/trunk/llvm-debug.cpp Sun Feb 28 07:02:52 2010
@@ -861,7 +861,8 @@
        Member = TREE_CHAIN(Member)) {
     
     if (DECL_ABSTRACT_ORIGIN (Member)) continue;
-    if (DECL_ARTIFICIAL (Member)) continue;
+    // Ignore unused aritificial members.
+    if (DECL_ARTIFICIAL (Member) && !TREE_USED (Member)) continue;
     // In C++, TEMPLATE_DECLs are marked Ignored, and should be.
     if (DECL_P (Member) && DECL_IGNORED_P (Member)) continue;
 
@@ -889,7 +890,8 @@
                                       LinkageName, 
                                       getOrCreateCompileUnit(MemLoc.file),
                                       MemLoc.line, SPTy, false, false,
-                                      Virtuality, VIndex, ContainingType);
+                                      Virtuality, VIndex, ContainingType,
+                                      DECL_ARTIFICIAL (Member));
       EltTys.push_back(SP);
       SPCache[Member] = WeakVH(SP.getNode());
     }





More information about the llvm-commits mailing list