gcc/libstdc++-v3/include
Jonathan Wakely 24d9b090fb PR libstdc++/83306 make filesystem_error no-throw copyable
The class API provides no way to modify the members, so we can share
them between copies of the same object. Copying becomes a simple
reference count update, which doesn't throw.

Also adjust the what() string to allow distinguishing between an empty
path passed to the constructor, and no path.

	PR libstdc++/83306
	* include/bits/fs_path.h (filesystem_error): Move data members into
	pimpl class owned by shared_ptr. Remove inline definitions of member
	functions.
	* src/filesystem/std-path.cc (filesystem_error::_Impl): Define.
	(filesystem_error): Define member functions.
	* testsuite/27_io/filesystem/filesystem_error/cons.cc: New test.
	* testsuite/27_io/filesystem/filesystem_error/copy.cc: New test.

From-SVN: r266565
2018-11-28 15:27:11 +00:00
..
backward P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 15:12:24 +01:00
bits PR libstdc++/83306 make filesystem_error no-throw copyable 2018-11-28 15:27:11 +00: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 cstddef: Add versioned namespace. 2018-10-24 05:20:35 +00:00
c_std Update copyright years. 2018-01-03 11:03:58 +01:00
debug re PR libstdc++/87872 (debug list::splice should not call _M_transfer_from_if on self-splices) 2018-11-06 20:20:06 +00:00
decimal Update copyright years. 2018-01-03 11:03:58 +01:00
experimental Fix versioned namespace macros for Networking TS 2018-10-16 17:12:51 +01:00
ext PR libstdc++/67843 set shared_ptr lock policy at build-time 2018-11-27 23:25:56 +00:00
parallel Update copyright years. 2018-01-03 11:03:58 +01:00
precompiled Add initial version of C++17 <memory_resource> header 2018-07-24 22:09:55 +01:00
profile Update copyright years. 2018-01-03 11:03:58 +01:00
std Implement P0415 More constexpr for std::complex. 2018-11-23 18:17:04 +00:00
tr1 PR libstdc++/83566 - cyl_bessel_j returns wrong result for x>1000 2018-11-18 18:32:26 +00:00
tr2 PR libstdc++/87784 fix dynamic_bitset::push_back 2018-10-30 14:49:32 +00:00
Makefile.am Initial commit of Networking TS implementation 2018-10-12 11:50:15 +01:00
Makefile.in Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00