From e01e02016bab81d0c6af9c56458a05e7a40bee8b Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 1 Dec 2006 16:37:38 +0000 Subject: [PATCH] re PR c++/29433 (using boost::MPL requires lots of memory) 2006-12-01 Richard Guenther PR c++/29433 * dwarf2out.c (struct pubname_struct): Make name const. (add_pubtype): Do not xstrdup identifiers. From-SVN: r119404 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 8 +++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b338a90..6dfb0c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-12-01 Richard Guenther + + PR c++/29433 + * dwarf2out.c (struct pubname_struct): Make name const. + (add_pubtype): Do not xstrdup identifiers. + 2006-12-01 Bernd Schmidt * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index c61f3d8..e853b2f 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -3756,7 +3756,7 @@ die_node; typedef struct pubname_struct GTY(()) { dw_die_ref die; - char *name; + const char *name; } pubname_entry; @@ -7358,12 +7358,10 @@ add_pubtype (tree decl, dw_die_ref die) if (TYPE_NAME (decl)) { if (TREE_CODE (TYPE_NAME (decl)) == IDENTIFIER_NODE) - e.name = xstrdup ((const char *) IDENTIFIER_POINTER - (TYPE_NAME (decl))); + e.name = IDENTIFIER_POINTER (TYPE_NAME (decl)); else if (TREE_CODE (TYPE_NAME (decl)) == TYPE_DECL && DECL_NAME (TYPE_NAME (decl))) - e.name = xstrdup ((const char *) IDENTIFIER_POINTER - (DECL_NAME (TYPE_NAME (decl)))); + e.name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (decl))); else e.name = xstrdup ((const char *) get_AT_string (die, DW_AT_name)); } -- 2.7.4