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)
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;
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)
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;
}
/* 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 ();
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));
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. */
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").
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);