[patch] migrating DragonEgg to DIBuilder

Duncan Sands baldrick at free.fr
Sun Feb 24 00:23:24 PST 2013


Hi David, here is the original commit.  Since dragonegg just uses the provided
gcc (i.e. it can't modify gcc), if gcc hasn't set DECL_IGNORED_P then there is
nothing that dragonegg can do about it.  I've removed the test case.  Please
feel free to apply your debug info patches.

Ciao, Duncan.

r96974 | dpatel | 2010-02-23 20:36:49 +0100 (Tue, 23 Feb 2010) | 4 lines

Do not rely on write_symbols to disable debug info for super class added as an 
invisible member of derived class. write_symbols controls debug_hooks which are 
used to emit debug info in various formats in gcc. llvm-gcc does not use this 
debug_hooks interface to emit debugging information.

Test case is at llvm/test/FrontendObjC/2010-02-23-DbgInheritance.m


Index: gcc/toplev.c
===================================================================
--- gcc/toplev.c	(revision 96973)
+++ gcc/toplev.c	(revision 96974)
@@ -1926,6 +1926,8 @@

    /* LLVM LOCAL begin */
  #ifdef ENABLE_LLVM
+  // write_symbols set up debug_hooks. llvm-gcc does not use this hooks
+  // to emit debug info.
    write_symbols = NO_DEBUG;
  #endif
    /* LLVM LOCAL end */
Index: gcc/objc/objc-act.c
===================================================================
--- gcc/objc/objc-act.c	(revision 96973)
+++ gcc/objc/objc-act.c	(revision 96974)
@@ -3407,8 +3407,10 @@
        DECL_ALIGN (base) = 1;
        DECL_FIELD_CONTEXT (base) = s;
        /* APPLE LOCAL begin radar 4477797 */
-      if (write_symbols == DWARF2_DEBUG)
-	DECL_IGNORED_P (base) = 1;
+      /* LLVM LOCAL begin */
+      /* Do not check write-symbols in llvm-gcc. */
+	 DECL_IGNORED_P (base) = 1;
+      /* LLVM LOCAL end */
        /* APPLE LOCAL end radar 4477797 */
  #ifdef OBJCPLUS
        DECL_FIELD_IS_BASE (base) = 1;




More information about the llvm-commits mailing list