diff options
author | carlos <carlos@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-24 21:17:41 +0000 |
---|---|---|
committer | carlos <carlos@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-24 21:17:41 +0000 |
commit | 0c573f984386af7be60890bd572fe1f94e919666 (patch) | |
tree | cb8c0bb8c6287c529e1298157589ba45fae12f66 | |
parent | 898c6079c61c4f5885d7804746c42963d6cacac7 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/common.opt | 4 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/search.c | 4 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 11 |
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), |