summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcarlos <carlos@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-24 21:17:41 +0000
committercarlos <carlos@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-24 21:17:41 +0000
commit0c573f984386af7be60890bd572fe1f94e919666 (patch)
treecb8c0bb8c6287c529e1298157589ba45fae12f66
parent898c6079c61c4f5885d7804746c42963d6cacac7 (diff)
downloadgcc-0c573f984386af7be60890bd572fe1f94e919666.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112360 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/common.opt4
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/search.c4
-rw-r--r--gcc/doc/invoke.texi11
5 files changed, 28 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8bc62daa26e..e47ecd13b86 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/common.opt b/gcc/common.opt
index f6c7fadffc3..ba5bb2977d4 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -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
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a1333e5d682..f154edcf602 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index ec572d0b6df..66bbb133da0 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -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))
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 16ec89b7df2..97885ef7503 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -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),