diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2011-01-12 17:02:41 +0000 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2011-01-12 18:02:41 +0100 |
commit | d8a24b65216793dbdb1939f9b6a034fb02ccc3ae (patch) | |
tree | b28ed4117e3483379437c0ec86a347d1763d15b2 | |
parent | 56e22cab21f64b500510118ae7705647bb56cce4 (diff) | |
download | gcc-d8a24b65216793dbdb1939f9b6a034fb02ccc3ae.zip gcc-d8a24b65216793dbdb1939f9b6a034fb02ccc3ae.tar.gz gcc-d8a24b65216793dbdb1939f9b6a034fb02ccc3ae.tar.bz2 |
re PR debug/47209 (ICE: SIGSEGV in should_emit_struct_debug (dwarf2out.c:627) with -f{no-,}emit-struct-debug-{baseonly,reduced} -g)
2011-01-12 Kai Tietz <kai.tietz@onevision.com>
PR debug/47209
* dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
of type.
2011-01-12 Kai Tietz <kai.tietz@onevision.com>
PR debug/47209
* g++.dg/debug/pr47209.C: New.
From-SVN: r168718
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/debug/pr47209.C | 12 |
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db57dfd..78420e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-01-12 Kai Tietz <kai.tietz@onevision.com> + + PR debug/47209 + * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT + of type. + 2011-01-12 Jan Hubicka <jh@suse.cz> PR driver/47244 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 4e9ce91..7e64b37 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -619,7 +619,7 @@ should_emit_struct_debug (tree type, enum debug_info_usage usage) if (criterion == DINFO_STRUCT_FILE_ANY) return DUMP_GSTRUCT (type, usage, criterion, generic, false, true); - type_decl = TYPE_STUB_DECL (type); + type_decl = TYPE_STUB_DECL (TYPE_MAIN_VARIANT (type)); if (criterion == DINFO_STRUCT_FILE_SYS && DECL_IN_SYSTEM_HEADER (type_decl)) return DUMP_GSTRUCT (type, usage, criterion, generic, false, true); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 451d643..f7ab937 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-01-12 Kai Tietz <kai.tietz@onevision.com> + + PR debug/47209 + * g++.dg/debug/pr47209.C: New. + 2011-01-12 Richard Guenther <rguenther@suse.de> PR lto/47259 diff --git a/gcc/testsuite/g++.dg/debug/pr47209.C b/gcc/testsuite/g++.dg/debug/pr47209.C new file mode 100644 index 0000000..c144c16 --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/pr47209.C @@ -0,0 +1,12 @@ +// { dg-do compile } +// { dg-options "-femit-struct-debug-baseonly" } +struct A +{ + void foo (); +}; + +struct B : A +{ + typedef const A base; + using base::foo; +}; |