aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/dwarf2out.c12
-rw-r--r--gcc/dwarf2out.h1
2 files changed, 7 insertions, 6 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 82783c4..884f1e1 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -12424,7 +12424,7 @@ file_name_acquire (dwarf_file_data **slot, file_name_acquire_data *fnad)
fi = fnad->files + fnad->used_files++;
- f = remap_debug_filename (d->filename);
+ f = d->filename;
/* Skip all leading "./". */
while (f[0] == '.' && IS_DIR_SEPARATOR (f[1]))
@@ -27460,13 +27460,13 @@ dwarf2out_ignore_block (const_tree block)
bool
dwarf_file_hasher::equal (dwarf_file_data *p1, const char *p2)
{
- return filename_cmp (p1->filename, p2) == 0;
+ return filename_cmp (p1->key, p2) == 0;
}
hashval_t
dwarf_file_hasher::hash (dwarf_file_data *p)
{
- return htab_hash_string (p->filename);
+ return htab_hash_string (p->key);
}
/* Lookup FILE_NAME (in the list of filenames that we know about here in
@@ -27496,7 +27496,8 @@ lookup_filename (const char *file_name)
return *slot;
created = ggc_alloc<dwarf_file_data> ();
- created->filename = file_name;
+ created->key = file_name;
+ created->filename = remap_debug_filename (file_name);
created->emitted_number = 0;
*slot = created;
return created;
@@ -27522,8 +27523,7 @@ maybe_emit_file (struct dwarf_file_data * fd)
if (output_asm_line_debug_info ())
{
fprintf (asm_out_file, "\t.file %u ", fd->emitted_number);
- output_quoted_string (asm_out_file,
- remap_debug_filename (fd->filename));
+ output_quoted_string (asm_out_file, fd->filename);
fputc ('\n', asm_out_file);
}
}
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h
index 057afdb..b2152a5 100644
--- a/gcc/dwarf2out.h
+++ b/gcc/dwarf2out.h
@@ -424,6 +424,7 @@ extern enum dwarf_tag dw_get_die_tag (dw_die_ref);
/* Data about a single source file. */
struct GTY((for_user)) dwarf_file_data {
+ const char * key;
const char * filename;
int emitted_number;
};