diff options
author | Richard Guenther <rguenther@suse.de> | 2011-12-12 08:37:22 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-12-12 08:37:22 +0000 |
commit | 7e529795d0c6a2c9441bb233a140e4b8ec2cf521 (patch) | |
tree | 6f5a02687aca26e6c6406af5bcc191022965ecf2 /gcc/cp | |
parent | 0a5a95f20443fb1677300138e00249ea86c894eb (diff) | |
download | gcc-7e529795d0c6a2c9441bb233a140e4b8ec2cf521.zip gcc-7e529795d0c6a2c9441bb233a140e4b8ec2cf521.tar.gz gcc-7e529795d0c6a2c9441bb233a140e4b8ec2cf521.tar.bz2 |
re PR debug/51262 (ICE: SIGSEGV in primary_template_instantiation_p (pt.c:2874) with -flto -g)
2011-12-12 Richard Guenther <rguenther@suse.de>
PR lto/51262
* tree.c (cp_free_lang_data): No longer clear anonymous names.
* g++.dg/opt/pr51262.C: New testcase.
From-SVN: r182221
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/tree.c | 11 |
2 files changed, 5 insertions, 11 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8090030..1ba9f34 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2011-12-12 Richard Guenther <rguenther@suse.de> + + PR lto/51262 + * tree.c (cp_free_lang_data): No longer clear anonymous names. + 2011-12-09 Jason Merrill <jason@redhat.com> PR c++/51151 diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 8d179d8..7899397 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -3479,17 +3479,6 @@ cp_free_lang_data (tree t) DECL_EXTERNAL (t) = 1; TREE_STATIC (t) = 0; } - if (CP_AGGREGATE_TYPE_P (t) - && TYPE_NAME (t)) - { - tree name = TYPE_NAME (t); - if (TREE_CODE (name) == TYPE_DECL) - name = DECL_NAME (name); - /* Drop anonymous names. */ - if (name != NULL_TREE - && ANON_AGGRNAME_P (name)) - TYPE_NAME (t) = NULL_TREE; - } if (TREE_CODE (t) == NAMESPACE_DECL) { /* The list of users of a namespace isn't useful for the middle-end |