gcc/libstdc++-v3/include
Jonathan Wakely 6cda876da2 PR libstdc++/84159 fix appending strings to paths
The path::operator/=(const Source&) and path::append overloads were
still following the semantics of the Filesystem TS not C++17. Only
the path::operator/=(const path&) overload was correct.

This change adds more tests for path::operator/=(const path&) and adds
new tests to verify that the other append operations have equivalent
behaviour.

	PR libstdc++/84159
	* include/bits/fs_path.h (path::operator/=, path::append): Construct
	temporary path before calling _M_append.
	(path::_M_append): Change parameter to path and implement C++17
	semantics.
	* testsuite/27_io/filesystem/path/append/path.cc: Add helper function
	and more examples from the standard.
	* testsuite/27_io/filesystem/path/append/source.cc: New.
	* testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
	* testsuite/27_io/filesystem/path/nonmember/append.cc: New.

From-SVN: r260255
2018-05-15 13:07:09 +01:00
..
backward PR libstdc++/69608 Move semantics for strstreambuf 2018-05-02 17:25:44 +01:00
bits PR libstdc++/84159 fix appending strings to paths 2018-05-15 13:07:09 +01:00
c Update copyright years. 2018-01-03 11:03:58 +01:00
c_compatibility Update copyright years. 2018-01-03 11:03:58 +01:00
c_global PR libstdc++/85729 add linkage specifications to headers 2018-05-10 13:35:45 +01:00
c_std Update copyright years. 2018-01-03 11:03:58 +01:00
debug safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in... 2018-05-09 20:04:46 +00:00
decimal Update copyright years. 2018-01-03 11:03:58 +01:00
experimental PR libstdc++/85671 allow copy elision in path concatenation 2018-05-07 18:26:28 +01:00
ext aligned_buffer.h [...] (template<> __aligned_buffer): Define as __aligned_membuf alias. 2018-02-20 20:51:44 +00:00
parallel Update copyright years. 2018-01-03 11:03:58 +01:00
precompiled Update copyright years. 2018-01-03 11:03:58 +01:00
profile Update copyright years. 2018-01-03 11:03:58 +01:00
std Qualify std::__invoke in <variant> to prevent ADL 2018-05-15 13:06:57 +01:00
tr1 PR libstdc++/83140 - assoc_legendre returns negated value when m is odd 2018-05-10 13:59:52 +00:00
tr2 Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.am PR libstdc++/85672 #undef _GLIBCXX_USE_FLOAT128 when not supported 2018-05-08 14:05:04 +01:00
Makefile.in PR libstdc++/85672 #undef _GLIBCXX_USE_FLOAT128 when not supported 2018-05-08 14:05:04 +01:00