diff options
author | ktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-03-25 19:20:52 +0000 |
---|---|---|
committer | ktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-03-25 19:20:52 +0000 |
commit | 82715bcdc8507de3d95e07d25df00d812e3afbab (patch) | |
tree | 5bb0b204a88f6a48512bf569dcbe77a176e03ee7 /gcc/gcov.c | |
parent | bb7824b56b89468d2a0fb0094c78b57970638295 (diff) | |
download | gcc-82715bcdc8507de3d95e07d25df00d812e3afbab.tar.gz |
Changelog c-family/
2011-03-25 Kai Tietz <ktietz@redhat.com>
* c-ada-spec.c (compare_comment): Use filename_cmp
instead of strcmp for filename.
Changelog fortran/
2011-03-25 Kai Tietz <ktietz@redhat.com>
* scanner.c (preprocessor_line): Use filename_cmp
instead of strcmp.
Changelog gcc/
2011-03-25 Kai Tietz <ktietz@redhat.com>
* collect2.c (write_c_file_stat): Handle backslash
as right-hand directory separator.
(resolve_lib_name): Use IS_DIR_SEPARATOR instead of
checking just for slash.
* coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
instead of checking for trailing slash.
* gcc.c (record_temp_file): Use filename_cmp instead
of strcmp.
(do_spec_1): Likewise.
(replace_outfile_spec_function): Likewise.
(is_directory): Use filename_ncmp instead of strncmp.
(print_multilib_info): Likewise.
* gcov.c (find_source): Use filename_cmp instead
instead of strcmp.
(make_gcov_file_name): Fix order of slash/backslash
checks.
* incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
(add_standard_paths): Likewise.
* mips-tfile.c (saber_stop): Handle backslash.
* prefix.c (update_path): Use filename_ncmp instead of
strncmp.
* profile.c (output_location): Use filename_cmp instead
of strcmp.
* read-md.c (handle_toplevel_file): Handle backslash.
* tlink.c (frob_extension): Likewise.
* tree-cfg.c (same_line_p): Use filename_cmp instead of
strcmp.
* tree-dump.c (dequeue_and_dump): Handle backslash.
* tree.c (get_file_function_name): Likewise.
* gengtype.c (read_input_list): Likewise.
(get_file_realbasename): Likewise.
(get_output_file_with_visibility): Use filename_cmp
instead of strcmp.
ChangeLog java/
2011-03-25 Kai Tietz <ktietz@redhat.com>
* jcf-parse.c (java_read_sourcefilenames): Use filename_cmp
instead of strcmp.
(set_source_filename): Likewise.
* win32-host.c (jcf_open_exact_case): Likewise.
ChangeLog lto/
2011-03-25 Kai Tietz <ktietz@redhat.com>
* lto.c (lto_resolution_read): Use filename_cmp instead
of strcmp.
(lto_read_section_data): Likewise.
ChangeLog cp/
2011-03-25 Kai Tietz <ktietz@redhat.com>
* lex.c (interface_strcmp): Handle dos-paths.
(handle_pragma_implementation): Use filename_cmp instead of
strcmp.
(in_main_input_context): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171522 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcov.c')
-rw-r--r-- | gcc/gcov.c | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/gcc/gcov.c b/gcc/gcov.c index 2fbeaf55e53..56fff3a75fa 100644 --- a/gcc/gcov.c +++ b/gcc/gcov.c @@ -728,7 +728,7 @@ find_source (const char *file_name) file_name = "<unknown>"; for (src = sources; src; src = src->next) - if (!strcmp (file_name, src->name)) + if (!filename_cmp (file_name, src->name)) break; if (!src) @@ -1527,7 +1527,7 @@ make_gcov_file_name (const char *input_name, const char *src_name) if (flag_preserve_paths) { - /* Convert '/' and '\' to '#', remove '/./', convert '/../' to '/^/', + /* Convert '/' and '\' to '#', remove '/./', convert '/../' to '#^#', convert ':' to '~' on DOS based file system. */ char *pnew = name, *pold = name; @@ -1535,33 +1535,42 @@ make_gcov_file_name (const char *input_name, const char *src_name) while (*pold != '\0') { - if (*pold == '/' || *pold == '\\') - { - *pnew++ = '#'; - pold++; - } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) - else if (*pold == ':') + if (*pold == ':') { *pnew++ = '~'; pold++; } + else #endif - else if ((*pold == '/' && strstr (pold, "/./") == pold) - || (*pold == '\\' && strstr (pold, "\\.\\") == pold)) + if ((*pold == '/' + && (strstr (pold, "/./") == pold + || strstr (pold, "/.\\") == pold)) + || (*pold == '\\' + && (strstr (pold, "\\.\\") == pold + || strstr (pold, "\\./") == pold))) pold += 3; - else if (*pold == '/' && strstr (pold, "/../") == pold) + else if (*pold == '/' + && (strstr (pold, "/../") == pold + || strstr (pold, "/..\\") == pold)) { - strcpy (pnew, "/^/"); + strcpy (pnew, "#^#"); pnew += 3; pold += 4; } - else if (*pold == '\\' && strstr (pold, "\\..\\") == pold) + else if (*pold == '\\' + && (strstr (pold, "\\..\\") == pold + || strstr (pold, "\\../") == pold)) { - strcpy (pnew, "\\^\\"); + strcpy (pnew, "#^#"); pnew += 3; pold += 4; } + else if (*pold == '/' || *pold == '\\') + { + *pnew++ = '#'; + pold++; + } else *pnew++ = *pold++; } |