public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdb: change file_file_name to return an std::string
@ 2022-04-08  0:32 Simon Marchi
  0 siblings, 0 replies; only message in thread
From: Simon Marchi @ 2022-04-08  0:32 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d3a76a5583ddb34402e79969f61f195cfa08ad62

commit d3a76a5583ddb34402e79969f61f195cfa08ad62
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Apr 7 16:43:05 2022 -0400

    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

Diff:
---
 gdb/dwarf2/line-header.c | 16 +++++-----------
 gdb/dwarf2/line-header.h |  6 ++----
 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 4807fcaa583..77e7e553b21 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 8fb44be56b2..252dddd846b 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 b378d797479..99c3653a2c3 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;
 }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-08  0:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-08  0:32 [binutils-gdb] gdb: change file_file_name to return an std::string Simon Marchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).