diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-12-13 20:34:10 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-12-13 20:34:10 +0000 |
commit | 2b462958e2db15dc6f55ed361d47cdbc62d64ea0 (patch) | |
tree | 24649584cde525313a354705adf2b63dcdb786fb /gcc/tree-inline.c | |
parent | 4f87bb8d6e8dec21a07f1fba641a78a127281349 (diff) | |
download | gcc-2b462958e2db15dc6f55ed361d47cdbc62d64ea0.zip gcc-2b462958e2db15dc6f55ed361d47cdbc62d64ea0.tar.gz gcc-2b462958e2db15dc6f55ed361d47cdbc62d64ea0.tar.bz2 |
Fix handling of POSIX paths containing a root-name
Fix path appending and concatenating to work correctly for a leading
root-name. Check a new macro, SLASHSLASH_IS_ROOT_NAME, instead of making
the behaviour depend directly on __CYGWIN__.
* src/filesystem/std-path.cc (SLASHSLASH_IS_ROOT_NAME): New macro to
control whether interpret paths with two slashes as a root-name.
(path::operator/=(const path&)) [SLASHSLASH_IS_ROOT_NAME]: Add a
root-directory when appending to a root-name.
(path::_M_append(basic_string_view<value_type>))
[SLASHSLASH_IS_ROOT_NAME]: Likewise.
(path::operator/=(const path&)) [SLASHSLASH_IS_ROOT_NAME]: Likewise.
(path::_M_concat(basic_string_view<value_type>))
[SLASHSLASH_IS_ROOT_NAME]: Likewise.
(path::lexically_normal()) [SLASHSLASH_IS_ROOT_NAME]: Use += instead
of /= to add a root-directory to the result.
* testsuite/27_io/filesystem/path/decompose/root_directory.cc: Fix
expected result for Cygwin.
From-SVN: r267107
Diffstat (limited to 'gcc/tree-inline.c')
0 files changed, 0 insertions, 0 deletions