mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-29 02:20:51 +00:00
gdb: remove SYMTAB_DIRNAME macro
Remove the macro, replace with an equivalent method. Change-Id: I46ec36b91bb734331138eb9cd086b2db01635aed
This commit is contained in:
@@ -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)
|
||||
|
||||
14
gdb/source.c
14
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 ();
|
||||
|
||||
@@ -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));
|
||||
|
||||
10
gdb/symtab.h
10
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);
|
||||
|
||||
Reference in New Issue
Block a user