]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
invoke.texi: Document -femit-class-debug-always
authorCarlos O'Donell <carlos@codesourcery.com>
Fri, 24 Mar 2006 21:17:41 +0000 (21:17 +0000)
committerCarlos O'Donell <carlos@gcc.gnu.org>
Fri, 24 Mar 2006 21:17:41 +0000 (21:17 +0000)
gcc/

2006-03-24  Carlos O'Donell  <carlos@codesourcery.com>

* doc/invoke.texi: Document -femit-class-debug-always
* common.opt: Add -femit-class-debug-always.

gcc/cp/

2006-03-24  Carlos O'Donell  <carlos@codesourcery.com>

* search.c (maybe_suppress_debug_info): If
flag_emit_class_debug_always then don't suppress.

From-SVN: r112360

gcc/ChangeLog
gcc/common.opt
gcc/cp/ChangeLog
gcc/cp/search.c
gcc/doc/invoke.texi

index 8bc62daa26ecff221d7e5dbb544b83d92f89e564..e47ecd13b86f7d030b02686d47994572169bfc62 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-24  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * doc/invoke.texi: Document -femit-class-debug-always
+       * common.opt: Add -femit-class-debug-always.
+
 2006-03-24  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/s390/s390.c (s390_decompose_address): Allow SImode for
index f6c7fadffc3023c79746b18d9b3820ee15b92f19..ba5bb2977d415026372bd26e742f2c4c024b01d5 100644 (file)
@@ -397,6 +397,10 @@ feliminate-unused-debug-types
 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
 Perform unused type elimination in debug info
 
+femit-class-debug-always
+Common Report Var(flag_emit_class_debug_always) Init(1)
+Do not suppress C++ class debug information.
+
 fexceptions
 Common Report Var(flag_exceptions)
 Enable exception handling
index a1333e5d682b7151b5172cac3f85bf00db4a780d..f154edcf6025720ee9208f07f53ffc8c4588f1b9 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-24  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * search.c (maybe_suppress_debug_info): If
+       flag_emit_class_debug_always then don't suppress.
+
 2006-03-22  Jason Merrill  <jason@redhat.com>
 
         * name-lookup.c (push_namespace_with_attribs): Only apply hidden
index ec572d0b6df67c1c410c767024514b85a318cd9a..66bbb133da0c13d9a62537e851bea6e8b299bab2 100644 (file)
@@ -2042,6 +2042,10 @@ maybe_suppress_debug_info (tree t)
   /* We might have set this earlier in cp_finish_decl.  */
   TYPE_DECL_SUPPRESS_DEBUG (TYPE_MAIN_DECL (t)) = 0;
 
+  /* Always emit the information for each class every time. */
+  if (flag_emit_class_debug_always)
+    return;
+
   /* If we already know how we're handling this class, handle debug info
      the same way.  */
   if (CLASSTYPE_INTERFACE_KNOWN (t))
index 16ec89b7df265cb34214c8e7d60ec7a6cb58369c..97885ef7503394adcd8547b1612f6530de8a0cf0 100644 (file)
@@ -287,7 +287,8 @@ Objective-C and Objective-C++ Dialects}.
 -ftree-vectorizer-verbose=@var{n} @gol
 -fdump-tree-storeccp@r{[}-@var{n}@r{]} @gol
 -feliminate-dwarf2-dups -feliminate-unused-debug-types @gol
--feliminate-unused-debug-symbols -fmem-report -fprofile-arcs @gol
+-feliminate-unused-debug-symbols -femit-class-debug-always @gol
+-fmem-report -fprofile-arcs @gol
 -frandom-seed=@var{string} -fsched-verbose=@var{n} @gol
 -ftest-coverage  -ftime-report -fvar-tracking @gol
 -g  -g@var{level}  -gcoff -gdwarf-2 @gol
@@ -3522,6 +3523,14 @@ On System V Release 4 systems this option requires the GNU assembler.
 Produce debugging information in stabs format (if that is supported),
 for only symbols that are actually used.
 
+@item -femit-class-debug-always
+Instead of emitting debugging information for a C++ class in only one
+object file, emit it in all object files using the class.  This option
+should be used only with debuggers that are unable to handle the way GCC
+normally emits debugging information for classes because using this
+option will increase the size of debugging information by as much as a
+factor of two.
+
 @item -gstabs+
 @opindex gstabs+
 Produce debugging information in stabs format (if that is supported),