diff options
author | Tom Tromey <tom@tromey.com> | 2017-08-14 00:03:02 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-09-03 13:03:10 -0600 |
commit | 8f84fb0ee87e8f149523e13815c58e1b664d184f (patch) | |
tree | 24e32c98b3a0c898b7a32bf905b23f4b38f4f79e /gdb/compile/compile-c-support.c | |
parent | 18e9961f02b326923553f34682f4dcca0f25702e (diff) | |
download | fsf-binutils-gdb-8f84fb0ee87e8f149523e13815c58e1b664d184f.zip fsf-binutils-gdb-8f84fb0ee87e8f149523e13815c58e1b664d184f.tar.gz fsf-binutils-gdb-8f84fb0ee87e8f149523e13815c58e1b664d184f.tar.bz2 |
Use std::string and unique_xmalloc_ptr in compile/ code
Change various things in the compile/ code to use std::string or
unique_xmalloc_ptr as appropriate. This allows the removal of some
cleanups.
ChangeLog
2017-09-03 Tom Tromey <tom@tromey.com>
* compile/compile.c (compile_register_name_mangled): Return
std::string.
* compile/compile-loc2c.c (pushf_register_address): Update.
(pushf_register): Update.
* compile/compile-c-types.c (convert_array): Update.
* compile/compile-c-symbols.c (generate_vla_size): Update.
(error_symbol_once): Use a gdb::unique_xmalloc_ptr.
(symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
(convert_one_symbol): Update.
(generate_c_for_for_one_variable): Update.
* compile/compile-c-support.c (c_get_range_decl_name): Return a
std::string.
(generate_register_struct): Update.
* compile/compile-internal.h (c_get_range_decl_name): Return a
std::string.
(compile_register_name_mangled): Return std::string.
Diffstat (limited to 'gdb/compile/compile-c-support.c')
-rw-r--r-- | gdb/compile/compile-c-support.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gdb/compile/compile-c-support.c b/gdb/compile/compile-c-support.c index 3bec28c..6f759ab 100644 --- a/gdb/compile/compile-c-support.c +++ b/gdb/compile/compile-c-support.c @@ -58,10 +58,10 @@ c_get_mode_for_size (int size) /* See compile-internal.h. */ -char * +std::string c_get_range_decl_name (const struct dynamic_prop *prop) { - return xstrprintf ("__gdb_prop_%s", host_address_to_string (prop)); + return string_printf ("__gdb_prop_%s", host_address_to_string (prop)); } @@ -263,8 +263,7 @@ generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch, if (registers_used[i]) { struct type *regtype = check_typedef (register_type (gdbarch, i)); - char *regname = compile_register_name_mangled (gdbarch, i); - struct cleanup *cleanups = make_cleanup (xfree, regname); + std::string regname = compile_register_name_mangled (gdbarch, i); seen = 1; @@ -282,7 +281,8 @@ generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch, switch (TYPE_CODE (regtype)) { case TYPE_CODE_PTR: - fprintf_filtered (stream, "__gdb_uintptr %s", regname); + fprintf_filtered (stream, "__gdb_uintptr %s", + regname.c_str ()); break; case TYPE_CODE_INT: @@ -297,7 +297,7 @@ generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch, fprintf_unfiltered (stream, "int %s" " __attribute__ ((__mode__(__%s__)))", - regname, + regname.c_str (), mode); break; } @@ -310,12 +310,10 @@ generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch, " unsigned char %s[%d]" " __attribute__((__aligned__(" "__BIGGEST_ALIGNMENT__)))", - regname, + regname.c_str (), TYPE_LENGTH (regtype)); } fputs_unfiltered (";\n", stream); - - do_cleanups (cleanups); } } |