gcc/libstdc++-v3
Jonathan Wakely 9c5365902a PR libstdc++/89117 fix path::replace_extension("") case
Previously the operator+=(extension) call would have re-parsed the path
and recreated the components with the right extension. Since optimising
it to not re-parse the whole string, we need to actually remove the
extension from the final filename before appending anything to it, and
append the dot to that final component too.

	PR libstdc++/89117
	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
	final component as well as from _M_pathname. Append the dot using
	operator+= instead of only to _M_pathname.
	(path::_M_find_extension): Reformat slightly.
	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
	Add more test cases.

From-SVN: r268406
2019-01-30 23:18:22 +00:00
..
config Add missing exports for symbols used by directory iterators 2019-01-29 00:47:43 +00:00
doc * doc/xml/manual/status_cxx2020.xml: Update P0600 entry. 2019-01-30 16:23:44 +00:00
include Avoid ambiguity between C++2a std::erase_if and LFTS version 2019-01-29 00:47:38 +00:00
libsupc++ Fix after P0600. 2019-01-21 11:47:30 +00:00
po Update copyright years. 2019-01-01 13:31:55 +01:00
python PR libstdc++/87855 fix optional for types with non-trivial copy/move 2019-01-08 23:00:46 +00:00
scripts Update copyright years. 2019-01-01 13:31:55 +01:00
src PR libstdc++/89117 fix path::replace_extension("") case 2019-01-30 23:18:22 +00:00
testsuite PR libstdc++/89117 fix path::replace_extension("") case 2019-01-30 23:18:22 +00:00
ChangeLog PR libstdc++/89117 fix path::replace_extension("") case 2019-01-30 23:18:22 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015 Update copyright years. 2016-01-04 15:30:50 +01:00
ChangeLog-2016 Update copyright years. 2017-01-01 13:07:43 +01:00
ChangeLog-2017 Update copyright years. 2018-01-03 11:03:58 +01:00
ChangeLog-2018 Update copyright years. 2019-01-01 13:31:55 +01:00
Makefile.am Update copyright years. 2019-01-01 13:31:55 +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
README
acinclude.m4 Fix build for systems without POSIX truncate 2019-01-07 12:38:51 +00:00
aclocal.m4 Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
config.h.in Fix build for systems without POSIX truncate 2019-01-07 12:38:51 +00:00
configure Fix build for systems without POSIX truncate 2019-01-07 12:38:51 +00:00
configure.ac PR libstdc++/67843 set shared_ptr lock policy at build-time 2018-11-27 23:25:56 +00:00
configure.host Don't force visibility to hidden for Darwin > 8. 2018-08-25 09:02:28 +00:00
crossconfig.m4 Define _GLIBCXX_USE_DEV_RANDOM as replacement for _GLIBCXX_USE_RANDOM_TR1 2018-10-16 15:49:29 +01:00
fragment.am PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
linkage.m4

README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.