diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2022-04-07 16:43:05 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2022-04-07 20:31:31 -0400 |
commit | d3a76a5583ddb34402e79969f61f195cfa08ad62 (patch) | |
tree | b61bcdf6d658235c0eabd0e73d30c17d7bca72f3 /gdb/dwarf2 | |
parent | a32c49c6dd0c80e4a06e23bebde7149d79cd48ee (diff) | |
download | binutils-d3a76a5583ddb34402e79969f61f195cfa08ad62.zip binutils-d3a76a5583ddb34402e79969f61f195cfa08ad62.tar.gz binutils-d3a76a5583ddb34402e79969f61f195cfa08ad62.tar.bz2 |
gdb: change file_file_name to return an std::string
Straightforward change, return an std::string instead of a
gdb::unique_xmalloc_ptr<char>. No behavior change expected.
Change-Id: Ia5e94c94221c35f978bb1b7bdffbff7209e0520e
Diffstat (limited to 'gdb/dwarf2')
-rw-r--r-- | gdb/dwarf2/line-header.c | 16 | ||||
-rw-r--r-- | gdb/dwarf2/line-header.h | 6 | ||||
-rw-r--r-- | gdb/dwarf2/macro.c | 6 |
3 files changed, 10 insertions, 18 deletions
diff --git a/gdb/dwarf2/line-header.c b/gdb/dwarf2/line-header.c index 4807fca..77e7e55 100644 --- a/gdb/dwarf2/line-header.c +++ b/gdb/dwarf2/line-header.c @@ -60,7 +60,7 @@ line_header::add_file_name (const char *name, m_file_names.emplace_back (name, d_index, mod_time, length); } -gdb::unique_xmalloc_ptr<char> +std::string line_header::file_file_name (int file) const { /* Is the file number a valid index into the line header's file name @@ -73,26 +73,20 @@ line_header::file_file_name (int file) const { const char *dir = fe->include_dir (this); if (dir != NULL) - return gdb::unique_xmalloc_ptr<char> (concat (dir, SLASH_STRING, - fe->name, - (char *) NULL)); + return string_printf ("%s/%s", dir, fe->name); } - return make_unique_xstrdup (fe->name); + + return fe->name; } else { /* The compiler produced a bogus file number. We can at least record the macro definitions made in the file, even if we won't be able to find the file by name. */ - char fake_name[80]; - - xsnprintf (fake_name, sizeof (fake_name), - "<bad macro file number %d>", file); - complaint (_("bad file number in macro information (%d)"), file); - return make_unique_xstrdup (fake_name); + return string_printf ("<bad macro file number %d>", file); } } diff --git a/gdb/dwarf2/line-header.h b/gdb/dwarf2/line-header.h index 8fb44be..252dddd 100644 --- a/gdb/dwarf2/line-header.h +++ b/gdb/dwarf2/line-header.h @@ -163,10 +163,8 @@ struct line_header const gdb_byte *statement_program_start {}, *statement_program_end {}; /* Return file name relative to the compilation directory of file - number I in this object's file name table. The result is - allocated using xmalloc; the caller is responsible for freeing - it. */ - gdb::unique_xmalloc_ptr<char> file_file_name (int file) const; + number FILE in this object's file name table. */ + std::string file_file_name (int file) const; private: /* The include_directories table. Note these are observing diff --git a/gdb/dwarf2/macro.c b/gdb/dwarf2/macro.c index b378d79..99c3653 100644 --- a/gdb/dwarf2/macro.c +++ b/gdb/dwarf2/macro.c @@ -52,7 +52,7 @@ macro_start_file (buildsym_compunit *builder, const struct line_header *lh) { /* File name relative to the compilation directory of this source file. */ - gdb::unique_xmalloc_ptr<char> file_name = lh->file_file_name (file); + std::string file_name = lh->file_file_name (file); if (! current_file) { @@ -62,11 +62,11 @@ macro_start_file (buildsym_compunit *builder, /* If we have no current file, then this must be the start_file directive for the compilation unit's main source file. */ - current_file = macro_set_main (macro_table, file_name.get ()); + current_file = macro_set_main (macro_table, file_name.c_str ()); macro_define_special (macro_table); } else - current_file = macro_include (current_file, line, file_name.get ()); + current_file = macro_include (current_file, line, file_name.c_str ()); return current_file; } |