r267107 - in /trunk/libstdc++-v3: ChangeLog src...

redi@gcc.gnu.org redi@gcc.gnu.org
Thu Dec 13 20:34:00 GMT 2018


Author: redi
Date: Thu Dec 13 20:34:10 2018
New Revision: 267107

URL: https://gcc.gnu.org/viewcvs?rev=267107&root=gcc&view=rev
Log:
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.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/src/filesystem/std-path.cc
    trunk/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_directory.cc



More information about the Gcc-cvs mailing list