Ping.
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00398.html
Because much of this patch was superceded by this recent patch:
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01968.html
I'll combine the two and submit a new patch.
-cary
Ping.
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00398.html
-cary
On Mon, Aug 13, 2012 at 1:13 PM, Cary Coutant ccout...@google.com wrote:
2012-08-07 Cary Coutant ccout...@google.com
gcc/
* dwarf2out.c (clone_as_declaration): Copy DW_AT_abstract_origin
attribute.
2012-08-07 Cary Coutant ccout...@google.com
gcc/
* dwarf2out.c (clone_as_declaration): Copy DW_AT_abstract_origin
attribute.
(generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
from original DIE.
(clone_tree_hash): Rename to ...
Index: gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-nested.C
===
--- gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-nested.C (revision 0)
+++ gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-nested.C (revision 0)
@@ -0,0 +1,55 @@
+// { dg-do
With --std=c++11, a template parameter can refer to a local type defined
within a function. Because that local type doesn't qualify for its own
type unit, we copy it as an unworthy type into the type unit that refers
to it, but we copy too much, leading to a comdat type unit that contains a
DIE