diff options
author | Tom Tromey <tom@tromey.com> | 2019-07-13 12:09:51 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-08-06 20:08:48 -0600 |
commit | efba19b06a6f2baacb3920599f970d1333ffc358 (patch) | |
tree | f8ab8d8f5a212c00950b8fc67a180e4373017f01 /gdb/dwarf2read.c | |
parent | f25102f7b100337923d2c81ecc12a64d428e98fe (diff) | |
download | gdb-efba19b06a6f2baacb3920599f970d1333ffc358.zip gdb-efba19b06a6f2baacb3920599f970d1333ffc358.tar.gz gdb-efba19b06a6f2baacb3920599f970d1333ffc358.tar.bz2 |
Add obstack_strdup overload taking a std::string
This adds an obstack_strdup overload that takes a std::string, and
changes a few spots in gdb to use it.
gdb/ChangeLog
2019-08-06 Tom Tromey <tom@tromey.com>
* symfile.c (reread_symbols): Use obstack_strdup.
* stabsread.c (read_type): Use obstack_strdup.
* gdb_obstack.h (obstack_strdup): New overload.
* dwarf2read.c (dwarf2_compute_name, create_dwo_unit_in_dwp_v1)
(create_dwo_unit_in_dwp_v2, build_error_marker_type)
(dwarf2_canonicalize_name): Use obstack_strdup.
* dbxread.c (read_dbx_symtab): Use obstack_strdup.
* cp-support.c (inspect_type, replace_typedefs_qualified_name):
Use obstack_strdup.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r-- | gdb/dwarf2read.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index ab974a5..6d28924 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -10945,10 +10945,8 @@ dwarf2_compute_name (const char *name, INTERMEDIATE_NAME is already canonical, then we need to copy it to the appropriate obstack. */ if (canonical_name == NULL || canonical_name == intermediate_name.c_str ()) - name = ((const char *) - obstack_copy0 (&objfile->per_bfd->storage_obstack, - intermediate_name.c_str (), - intermediate_name.length ())); + name = obstack_strdup (&objfile->per_bfd->storage_obstack, + intermediate_name); else name = canonical_name; } @@ -12416,10 +12414,8 @@ create_dwo_unit_in_dwp_v1 (struct dwarf2_per_objfile *dwarf2_per_objfile, virtual_dwo_name.c_str ()); } dwo_file = new struct dwo_file; - dwo_file->dwo_name - = (const char *) obstack_copy0 (&objfile->objfile_obstack, - virtual_dwo_name.c_str (), - virtual_dwo_name.size ()); + dwo_file->dwo_name = obstack_strdup (&objfile->objfile_obstack, + virtual_dwo_name); dwo_file->comp_dir = comp_dir; dwo_file->sections.abbrev = sections.abbrev; dwo_file->sections.line = sections.line; @@ -12614,10 +12610,8 @@ create_dwo_unit_in_dwp_v2 (struct dwarf2_per_objfile *dwarf2_per_objfile, virtual_dwo_name.c_str ()); } dwo_file = new struct dwo_file; - dwo_file->dwo_name - = (const char *) obstack_copy0 (&objfile->objfile_obstack, - virtual_dwo_name.c_str (), - virtual_dwo_name.size ()); + dwo_file->dwo_name = obstack_strdup (&objfile->objfile_obstack, + virtual_dwo_name); dwo_file->comp_dir = comp_dir; dwo_file->sections.abbrev = create_dwp_v2_section (dwarf2_per_objfile, &dwp_file->sections.abbrev, @@ -22101,8 +22095,7 @@ build_error_marker_type (struct dwarf2_cu *cu, struct die_info *die) objfile_name (objfile), sect_offset_str (cu->header.sect_off), sect_offset_str (die->sect_off)); - saved = (char *) obstack_copy0 (&objfile->objfile_obstack, - message.c_str (), message.length ()); + saved = obstack_strdup (&objfile->objfile_obstack, message); return init_type (objfile, TYPE_CODE_ERROR, 0, saved); } @@ -22638,9 +22631,7 @@ dwarf2_canonicalize_name (const char *name, struct dwarf2_cu *cu, if (!canon_name.empty ()) { if (canon_name != name) - name = (const char *) obstack_copy0 (obstack, - canon_name.c_str (), - canon_name.length ()); + name = obstack_strdup (obstack, canon_name); } } |