re PR c++/29433 (using boost::MPL requires lots of memory)
authorRichard Guenther <rguenther@suse.de>
Fri, 1 Dec 2006 16:37:38 +0000 (16:37 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 1 Dec 2006 16:37:38 +0000 (16:37 +0000)
2006-12-01  Richard Guenther  <rguenther@suse.de>

PR c++/29433
* dwarf2out.c (struct pubname_struct): Make name const.
(add_pubtype): Do not xstrdup identifiers.

From-SVN: r119404

gcc/ChangeLog
gcc/dwarf2out.c

index b338a90..6dfb0c8 100644 (file)
@@ -1,3 +1,9 @@
+2006-12-01  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/29433
+       * dwarf2out.c (struct pubname_struct): Make name const.
+       (add_pubtype): Do not xstrdup identifiers.
+
 2006-12-01  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
index c61f3d8..e853b2f 100644 (file)
@@ -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));
            }