| Index: gdb/macrotab.h
|
| diff --git a/gdb/macrotab.h b/gdb/macrotab.h
|
| index 92f165611dea51843a5500734d13fc39e1baaaeb..075dfd90fa52289b52e1246c056a14b0ead58007 100644
|
| --- a/gdb/macrotab.h
|
| +++ b/gdb/macrotab.h
|
| @@ -1,5 +1,5 @@
|
| /* Interface to C preprocessor macro tables for GDB.
|
| - Copyright (C) 2002, 2007-2012 Free Software Foundation, Inc.
|
| + Copyright (C) 2002-2013 Free Software Foundation, Inc.
|
| Contributed by Red Hat, Inc.
|
|
|
| This file is part of GDB.
|
| @@ -125,7 +125,9 @@ struct macro_source_file
|
| a part of. */
|
| struct macro_table *table;
|
|
|
| - /* A source file --- possibly a header file. */
|
| + /* A source file --- possibly a header file. This filename is relative to
|
| + the compilation directory (table->comp_dir), it exactly matches the
|
| + symtab->filename content. */
|
| const char *filename;
|
|
|
| /* The location we were #included from, or zero if we are the
|
| @@ -152,7 +154,8 @@ struct macro_source_file
|
| xmalloc if OBSTACK is zero. Use BCACHE to store all macro names,
|
| arguments, definitions, and anything else that might be the same
|
| amongst compilation units in an executable file; if BCACHE is zero,
|
| - don't cache these things.
|
| + don't cache these things. COMP_DIR optionally contains the compilation
|
| + directory of all files for this macro table.
|
|
|
| Note that, if either OBSTACK or BCACHE are non-zero, then removing
|
| information from the table may leak memory. Neither obstacks nor
|
| @@ -164,7 +167,8 @@ struct macro_source_file
|
| the same source location (although 'gcc -DFOO -UFOO -DFOO=2' does
|
| do that in GCC 4.1.2.). */
|
| struct macro_table *new_macro_table (struct obstack *obstack,
|
| - struct bcache *bcache);
|
| + struct bcache *bcache,
|
| + const char *comp_dir);
|
|
|
|
|
| /* Free TABLE, and any macro definitions, source file structures,
|
| @@ -347,5 +351,14 @@ void macro_for_each_in_scope (struct macro_source_file *file, int line,
|
| macro_callback_fn fn,
|
| void *user_data);
|
|
|
| +/* Return FILE->filename with possibly prepended compilation directory name.
|
| + This is raw concatenation without the "set substitute-path" and gdb_realpath
|
| + applications done by symtab_to_fullname. Returned string must be freed by
|
| + xfree.
|
| +
|
| + THis function ignores the "set filename-display" setting. Its default
|
| + setting is "relative" which is backward compatible but the former behavior
|
| + of macro filenames printing was "absolute". */
|
| +extern char *macro_source_fullname (struct macro_source_file *file);
|
|
|
| #endif /* MACROTAB_H */
|
|
|