mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
Use std::string in dwarf2read.c
This replaces two instances of manual string management in dwarf2read.c with std::string. gdb/ChangeLog 2020-01-08 Tom Tromey <tromey@adacore.com> * dwarf2read.c (parse_macro_definition): Use std::string. (parse_macro_definition): Likewise. Change-Id: Iec437100105484aa4a116fb5d651d7ed52ee9d81
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2020-01-08 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
|
* dwarf2read.c (parse_macro_definition): Use std::string.
|
||||||
|
(parse_macro_definition): Likewise.
|
||||||
|
|
||||||
2020-01-08 Tom Tromey <tromey@adacore.com>
|
2020-01-08 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
* dwarf2read.c (abbrev_table_read_table): Use std::vector.
|
* dwarf2read.c (abbrev_table_read_table): Use std::vector.
|
||||||
|
@ -24570,7 +24570,7 @@ parse_macro_definition (struct macro_source_file *file, int line,
|
|||||||
{
|
{
|
||||||
/* It's an object-like macro. */
|
/* It's an object-like macro. */
|
||||||
int name_len = p - body;
|
int name_len = p - body;
|
||||||
char *name = savestring (body, name_len);
|
std::string name (body, name_len);
|
||||||
const char *replacement;
|
const char *replacement;
|
||||||
|
|
||||||
if (*p == ' ')
|
if (*p == ' ')
|
||||||
@ -24581,14 +24581,12 @@ parse_macro_definition (struct macro_source_file *file, int line,
|
|||||||
replacement = body + name_len;
|
replacement = body + name_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
macro_define_object (file, line, name, replacement);
|
macro_define_object (file, line, name.c_str (), replacement);
|
||||||
|
|
||||||
xfree (name);
|
|
||||||
}
|
}
|
||||||
else if (*p == '(')
|
else if (*p == '(')
|
||||||
{
|
{
|
||||||
/* It's a function-like macro. */
|
/* It's a function-like macro. */
|
||||||
char *name = savestring (body, p - body);
|
std::string name (body, p - body);
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
int argv_size = 1;
|
int argv_size = 1;
|
||||||
char **argv = XNEWVEC (char *, argv_size);
|
char **argv = XNEWVEC (char *, argv_size);
|
||||||
@ -24637,14 +24635,14 @@ parse_macro_definition (struct macro_source_file *file, int line,
|
|||||||
|
|
||||||
if (*p == ' ')
|
if (*p == ' ')
|
||||||
/* Perfectly formed definition, no complaints. */
|
/* Perfectly formed definition, no complaints. */
|
||||||
macro_define_function (file, line, name,
|
macro_define_function (file, line, name.c_str (),
|
||||||
argc, (const char **) argv,
|
argc, (const char **) argv,
|
||||||
p + 1);
|
p + 1);
|
||||||
else if (*p == '\0')
|
else if (*p == '\0')
|
||||||
{
|
{
|
||||||
/* Complain, but do define it. */
|
/* Complain, but do define it. */
|
||||||
dwarf2_macro_malformed_definition_complaint (body);
|
dwarf2_macro_malformed_definition_complaint (body);
|
||||||
macro_define_function (file, line, name,
|
macro_define_function (file, line, name.c_str (),
|
||||||
argc, (const char **) argv,
|
argc, (const char **) argv,
|
||||||
p);
|
p);
|
||||||
}
|
}
|
||||||
@ -24656,7 +24654,6 @@ parse_macro_definition (struct macro_source_file *file, int line,
|
|||||||
/* Just complain. */
|
/* Just complain. */
|
||||||
dwarf2_macro_malformed_definition_complaint (body);
|
dwarf2_macro_malformed_definition_complaint (body);
|
||||||
|
|
||||||
xfree (name);
|
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user