aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2006-10-25 13:31:21 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2006-10-25 13:31:21 +0000
commit1d2c2b968151fe8e21c225ba194132f3b6ce8e02 (patch)
tree2d8c2eb8318621d7cf876ffa591de23643793bd9 /gcc
parent80ba94327e268caddf88c9ea3bd1dd6061c55569 (diff)
downloadgcc-1d2c2b968151fe8e21c225ba194132f3b6ce8e02.zip
gcc-1d2c2b968151fe8e21c225ba194132f3b6ce8e02.tar.gz
gcc-1d2c2b968151fe8e21c225ba194132f3b6ce8e02.tar.bz2
dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
* dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH. (file_table_relative_p): Likewise. (dwarf2out_finish): Likewise. (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2. From-SVN: r118033
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/dwarf2out.c22
2 files changed, 24 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1e99765..d684915 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2006-10-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
+ (file_table_relative_p): Likewise.
+ (dwarf2out_finish): Likewise.
+ (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
+
2006-10-25 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (intra_create_variable_infos):
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 0b655b4..6c714f9 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -7657,7 +7657,7 @@ file_name_acquire (void ** slot, void *data)
/* Skip all leading "./". */
f = d->filename;
- while (f[0] == '.' && f[1] == '/')
+ while (f[0] == '.' && IS_DIR_SEPARATOR (f[1]))
f += 2;
/* Create a new array entry. */
@@ -7666,7 +7666,19 @@ file_name_acquire (void ** slot, void *data)
fi->file_idx = d;
/* Search for the file name part. */
- f = strrchr (f, '/');
+ f = strrchr (f, DIR_SEPARATOR);
+#if defined (DIR_SEPARATOR_2)
+ {
+ char *g = strrchr (files[i].path, DIR_SEPARATOR_2);
+
+ if (g != NULL)
+ {
+ if (f == NULL || f < g)
+ f = g;
+ }
+ }
+#endif
+
fi->fname = f == NULL ? fi->path : f + 1;
return 1;
}
@@ -12288,7 +12300,7 @@ gen_compile_unit_die (const char *filename)
{
add_name_attribute (die, filename);
/* Don't add cwd for <built-in>. */
- if (filename[0] != DIR_SEPARATOR && filename[0] != '<')
+ if (!IS_ABSOLUTE_PATH (filename) && filename[0] != '<')
add_comp_dir_attribute (die);
}
@@ -14188,7 +14200,7 @@ file_table_relative_p (void ** slot, void *param)
{
bool *p = param;
struct dwarf_file_data *d = *slot;
- if (d->emitted_number && d->filename[0] != DIR_SEPARATOR)
+ if (d->emitted_number && !IS_ABSOLUTE_PATH (d->filename))
{
*p = true;
return 0;
@@ -14208,7 +14220,7 @@ dwarf2out_finish (const char *filename)
/* Add the name for the main input file now. We delayed this from
dwarf2out_init to avoid complications with PCH. */
add_name_attribute (comp_unit_die, filename);
- if (filename[0] != DIR_SEPARATOR)
+ if (!IS_ABSOLUTE_PATH (filename))
add_comp_dir_attribute (comp_unit_die);
else if (get_AT (comp_unit_die, DW_AT_comp_dir) == NULL)
{