aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2021-11-20 22:24:54 -0500
committerSimon Marchi <simon.marchi@efficios.com>2022-02-06 16:03:46 -0500
commit3574a7b3f1251bfc7d1dd429ae33da07897f5b4b (patch)
treecae13e26aa9e6fe2460f57a9bfe890a43caba135
parentcdc22ffbf5c76b9fb907bdec700c19d350abb226 (diff)
downloadgdb-3574a7b3f1251bfc7d1dd429ae33da07897f5b4b.zip
gdb-3574a7b3f1251bfc7d1dd429ae33da07897f5b4b.tar.gz
gdb-3574a7b3f1251bfc7d1dd429ae33da07897f5b4b.tar.bz2
gdb: remove SYMTAB_DIRNAME macro
Remove the macro, replace with an equivalent method. Change-Id: I46ec36b91bb734331138eb9cd086b2db01635aed
-rw-r--r--gdb/cli/cli-cmds.c4
-rw-r--r--gdb/source.c14
-rw-r--r--gdb/symmisc.c4
-rw-r--r--gdb/symtab.h10
4 files changed, 19 insertions, 13 deletions
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 9120bbf..1515679 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -2046,8 +2046,8 @@ ambiguous_line_spec (gdb::array_view<const symtab_and_line> sals,
static int
cmp_symtabs (const symtab_and_line &sala, const symtab_and_line &salb)
{
- const char *dira = SYMTAB_DIRNAME (sala.symtab);
- const char *dirb = SYMTAB_DIRNAME (salb.symtab);
+ const char *dira = sala.symtab->dirname ();
+ const char *dirb = salb.symtab->dirname ();
int r;
if (dira == NULL)
diff --git a/gdb/source.c b/gdb/source.c
index 1339c4a..53854c0 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -713,8 +713,8 @@ info_source_command (const char *ignore, int from_tty)
cust = s->compunit ();
printf_filtered (_("Current source file is %s\n"), s->filename);
- if (SYMTAB_DIRNAME (s) != NULL)
- printf_filtered (_("Compilation directory is %s\n"), SYMTAB_DIRNAME (s));
+ if (s->dirname () != NULL)
+ printf_filtered (_("Compilation directory is %s\n"), s->dirname ());
if (s->fullname)
printf_filtered (_("Located in %s\n"), s->fullname);
const std::vector<off_t> *offsets;
@@ -1180,7 +1180,7 @@ open_source_file (struct symtab *s)
gdb::unique_xmalloc_ptr<char> fullname (s->fullname);
s->fullname = NULL;
- scoped_fd fd = find_and_open_source (s->filename, SYMTAB_DIRNAME (s),
+ scoped_fd fd = find_and_open_source (s->filename, s->dirname (),
&fullname);
if (fd.get () < 0)
@@ -1192,9 +1192,9 @@ open_source_file (struct symtab *s)
std::string srcpath;
if (IS_ABSOLUTE_PATH (s->filename))
srcpath = s->filename;
- else if (SYMTAB_DIRNAME (s) != nullptr)
+ else if (s->dirname () != nullptr)
{
- srcpath = SYMTAB_DIRNAME (s);
+ srcpath = s->dirname ();
srcpath += SLASH_STRING;
srcpath += s->filename;
}
@@ -1268,10 +1268,10 @@ symtab_to_fullname (struct symtab *s)
/* rewrite_source_path would be applied by find_and_open_source, we
should report the pathname where GDB tried to find the file. */
- if (SYMTAB_DIRNAME (s) == NULL || IS_ABSOLUTE_PATH (s->filename))
+ if (s->dirname () == NULL || IS_ABSOLUTE_PATH (s->filename))
fullname.reset (xstrdup (s->filename));
else
- fullname.reset (concat (SYMTAB_DIRNAME (s), SLASH_STRING,
+ fullname.reset (concat (s->dirname (), SLASH_STRING,
s->filename, (char *) NULL));
s->fullname = rewrite_source_path (fullname.get ()).release ();
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index 62b5840..179b83e 100644
--- a/gdb/symmisc.c
+++ b/gdb/symmisc.c
@@ -249,9 +249,9 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile)
symtab_to_filename_for_display (symtab),
host_address_to_string (symtab));
- if (SYMTAB_DIRNAME (symtab) != NULL)
+ if (symtab->dirname () != NULL)
fprintf_filtered (outfile, "Compilation directory is %s\n",
- SYMTAB_DIRNAME (symtab));
+ symtab->dirname ());
fprintf_filtered (outfile, "Read from object file %s (%s)\n",
objfile_name (objfile),
host_address_to_string (objfile));
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 5ef4bda..88dab00 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -1409,6 +1409,8 @@ struct symtab
program_space *pspace () const;
+ const char *dirname () const;
+
/* Unordered chain of all filetabs in the compunit, with the exception
that the "main" source file is the first entry in the list. */
@@ -1441,8 +1443,6 @@ struct symtab
using symtab_range = next_range<symtab>;
-#define SYMTAB_DIRNAME(symtab) ((symtab)->compunit ()->dirname ())
-
/* Compunit symtabs contain the actual "symbol table", aka blockvector, as well
as the list of all source files (what gdb has historically associated with
the term "symtab").
@@ -1696,6 +1696,12 @@ symtab::objfile () const
return this->compunit ()->objfile ();
}
+inline const char *
+symtab::dirname () const
+{
+ return this->compunit ()->dirname ();
+}
+
/* Return the language of CUST. */
extern enum language compunit_language (const struct compunit_symtab *cust);