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/gdb_obstack.h | |
parent | f25102f7b100337923d2c81ecc12a64d428e98fe (diff) | |
download | binutils-efba19b06a6f2baacb3920599f970d1333ffc358.zip binutils-efba19b06a6f2baacb3920599f970d1333ffc358.tar.gz binutils-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/gdb_obstack.h')
-rw-r--r-- | gdb/gdb_obstack.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/gdb_obstack.h b/gdb/gdb_obstack.h index 829e2f9..db849a0 100644 --- a/gdb/gdb_obstack.h +++ b/gdb/gdb_obstack.h @@ -95,6 +95,16 @@ obstack_strdup (struct obstack *obstackp, const char *string) return (char *) obstack_copy0 (obstackp, string, strlen (string)); } +/* Duplicate STRING, returning an equivalent string that's allocated on the + obstack OBSTACKP. */ + +static inline char * +obstack_strdup (struct obstack *obstackp, const std::string &string) +{ + return (char *) obstack_copy0 (obstackp, string.c_str (), + string.size ()); +} + /* An obstack that frees itself on scope exit. */ struct auto_obstack : obstack { |