make symtab::dirname const
authorTom Tromey <tromey@redhat.com>
Mon, 25 Nov 2013 14:40:05 +0000 (07:40 -0700)
committerTom Tromey <tromey@redhat.com>
Fri, 6 Dec 2013 19:13:37 +0000 (12:13 -0700)
This makes symtab::dirname const and updates one spot to avoid an
intermediate constless result.

2013-12-06  Tom Tromey  <tromey@redhat.com>

* buildsym.c (end_symtab_from_static_block): Use obstack_copy0.
* symtab.h (struct symtab) <dirname>: Now const.

gdb/ChangeLog
gdb/buildsym.c
gdb/symtab.h

index 33366e2..9cec9c3 100644 (file)
@@ -1,5 +1,10 @@
 2013-12-06  Tom Tromey  <tromey@redhat.com>
 
+       * buildsym.c (end_symtab_from_static_block): Use obstack_copy0.
+       * symtab.h (struct symtab) <dirname>: Now const.
+
+2013-12-06  Tom Tromey  <tromey@redhat.com>
+
        * symfile.c (allocate_symtab): Remove cast.
        * symtab.h (struct symtab) <filename>: Now const.
 
index 0326e26..8d9bdb1 100644 (file)
@@ -1204,10 +1204,10 @@ end_symtab_from_static_block (struct block *static_block,
          if (subfile->dirname)
            {
              /* Reallocate the dirname on the symbol obstack.  */
-             symtab->dirname = (char *)
-               obstack_alloc (&objfile->objfile_obstack,
-                              strlen (subfile->dirname) + 1);
-             strcpy (symtab->dirname, subfile->dirname);
+             symtab->dirname =
+               obstack_copy0 (&objfile->objfile_obstack,
+                              subfile->dirname,
+                              strlen (subfile->dirname));
            }
          else
            {
index 821479a..3be85ca 100644 (file)
@@ -879,7 +879,7 @@ struct symtab
 
   /* Directory in which it was compiled, or NULL if we don't know.  */
 
-  char *dirname;
+  const char *dirname;
 
   /* Total number of lines found in source file.  */