public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 1/2] PR libstdc++/86756 add std::filesystem::path to libstdc++.so
@ 2019-01-06 22:35 Jonathan Wakely
  2019-01-06 22:36 ` [PATCH 2/2] PR libstdc++/86756 Move rest of std::filesystem " Jonathan Wakely
  2019-01-07 12:46 ` [PATCH 3/2] Update documentation for C++17 filesystem library Jonathan Wakely
  0 siblings, 2 replies; 15+ messages in thread
From: Jonathan Wakely @ 2019-01-06 22:35 UTC (permalink / raw)
  To: libstdc++, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 4702 bytes --]

Move the C++17 std::filesystem::path definitions from the libstdc++fs.a
archive to the main libstdc++ library. The path classes do not depend on
any OS functions, so can be defined unconditionally on all targets
(rather than depending on --enable-libstdcxx-filesystem-ts). The tests
should pass on all targets too.

	PR libstdc++/86756
	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Make various patterns for
	typeinfo and vtables less greedy.
	(GLIBCXX_3.4.26): Export symbols for std::filesystem::path.
	* src/c++17/Makefile.am: Add fs_path.cc and cow-fs_path.cc.
	* src/c++17/Makefile.in: Regenerate.
	* src/c++17/cow-fs_path.cc: Move src/filesystem/cow-std-path.cc to
	here, and change name of included file.
	* src/c++17/fs_path.cc: Move src/filesystem/std-path.cc to here.
	* src/filesystem/Makefile.am: Remove std-path.cc and cow-std-path.cc
	from sources.
	* src/filesystem/Makefile.in: Regenerate.
	* src/filesystem/cow-std-path.cc: Move to src/c++17/cow-fs_path.cc.
	* src/filesystem/std-path.cc: Move to src/c++17/fs_path.cc.
	* testsuite/27_io/filesystem/path/append/path.cc: Remove -lstdc++fs
	from dg-options and remove dg-require-filesystem-ts.
	* testsuite/27_io/filesystem/path/append/source.cc: Likewise.
	* testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
	* testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
	* testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
	* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
	* testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
	* testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
	* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
	* testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
	* testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
	* testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
	* testsuite/27_io/filesystem/path/construct/default.cc: Likewise.
	* testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
	* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
	* testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
	* testsuite/27_io/filesystem/path/construct/string_view.cc: Likewise.
	* testsuite/27_io/filesystem/path/decompose/extension.cc: Likewise.
	* testsuite/27_io/filesystem/path/decompose/filename.cc: Likewise.
	* testsuite/27_io/filesystem/path/decompose/parent_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/decompose/relative_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/decompose/root_name.cc: Likewise.
	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
	* testsuite/27_io/filesystem/path/generation/normal.cc: Likewise.
	* testsuite/27_io/filesystem/path/generation/normal2.cc: Likewise.
	* testsuite/27_io/filesystem/path/generation/proximate.cc: Likewise.
	* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
	* testsuite/27_io/filesystem/path/generic/generic_string.cc: Likewise.
	* testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
	* testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
	* testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
	* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
	* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
	* testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
	* testsuite/27_io/filesystem/path/nonmember/hash_value.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_relative_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
	Likewise.
	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/is_absolute.cc: Likewise.
	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.

Tested x86_64-linux (old/new string ABIs, 32/64 bit), x86_64-w64-mingw32.

Committed to trunk.


[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 44230 bytes --]

commit 6a6fe25ac08fabb234ab80c1498edae22b462692
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Sat Jan 5 13:12:53 2019 +0000

    PR libstdc++/86756 add std::filesystem::path to libstdc++.so
    
    Move the C++17 std::filesystem::path definitions from the libstdc++fs.a
    archive to the main libstdc++ library. The path classes do not depend on
    any OS functions, so can be defined unconditionally on all targets
    (rather than depending on --enable-libstdcxx-filesystem-ts). The tests
    should pass on all targets too.
    
            PR libstdc++/86756
            * config/abi/pre/gnu.ver (GLIBCXX_3.4): Make various patterns for
            typeinfo and vtables less greedy.
            (GLIBCXX_3.4.26): Export symbols for std::filesystem::path.
            * src/c++17/Makefile.am: Add fs_path.cc and cow-fs_path.cc.
            * src/c++17/Makefile.in: Regenerate.
            * src/c++17/cow-fs_path.cc: Move src/filesystem/cow-std-path.cc to
            here, and change name of included file.
            * src/c++17/fs_path.cc: Move src/filesystem/std-path.cc to here.
            * src/filesystem/Makefile.am: Remove std-path.cc and cow-std-path.cc
            from sources.
            * src/filesystem/Makefile.in: Regenerate.
            * src/filesystem/cow-std-path.cc: Move to src/c++17/cow-fs_path.cc.
            * src/filesystem/std-path.cc: Move to src/c++17/fs_path.cc.
            * testsuite/27_io/filesystem/path/append/path.cc: Remove -lstdc++fs
            from dg-options and remove dg-require-filesystem-ts.
            * testsuite/27_io/filesystem/path/append/source.cc: Likewise.
            * testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
            * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
            * testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
            * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
            * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
            * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
            * testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
            * testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
            * testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
            * testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
            * testsuite/27_io/filesystem/path/construct/default.cc: Likewise.
            * testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
            * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
            * testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
            * testsuite/27_io/filesystem/path/construct/string_view.cc: Likewise.
            * testsuite/27_io/filesystem/path/decompose/extension.cc: Likewise.
            * testsuite/27_io/filesystem/path/decompose/filename.cc: Likewise.
            * testsuite/27_io/filesystem/path/decompose/parent_path.cc: Likewise.
            * testsuite/27_io/filesystem/path/decompose/relative_path.cc: Likewise.
            * testsuite/27_io/filesystem/path/decompose/root_directory.cc:
            Likewise.
            * testsuite/27_io/filesystem/path/decompose/root_name.cc: Likewise.
            * testsuite/27_io/filesystem/path/decompose/root_path.cc: Likewise.
            * testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
            * testsuite/27_io/filesystem/path/generation/normal.cc: Likewise.
            * testsuite/27_io/filesystem/path/generation/normal2.cc: Likewise.
            * testsuite/27_io/filesystem/path/generation/proximate.cc: Likewise.
            * testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
            * testsuite/27_io/filesystem/path/generic/generic_string.cc: Likewise.
            * testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
            * testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
            * testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
            * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
            Likewise.
            * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
            Likewise.
            * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
            Likewise.
            * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
            Likewise.
            * testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
            * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
            * testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
            * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/has_relative_path.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
            Likewise.
            * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/is_absolute.cc: Likewise.
            * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.

diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 6c18caa6d8a..f83d2b1cca9 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -767,19 +767,24 @@ GLIBCXX_3.4 {
     _ZTVSt18basic_stringstreamI*;
     _ZTVSt19basic_istringstreamI*;
     _ZTVSt19basic_ostringstreamI*;
-    _ZTVSt[0-9][0-9][c-d]*;
-    _ZTVSt[0-9][0-9][g-k]*;
+    _ZTVSt10ctype_base;
+    _ZTVSt12codecvt_base;
+    _ZTVSt12ctype_bynameI[cw]E;
+    _ZTVSt14co*_bynameI[cw]*;
+    _ZTVSt12domain_error;
+    _ZTVSt10istrstream;
+    _ZTVSt16invalid_argument;
     _ZTVSt11logic_error;
     _ZTVSt12length_error;
-#   _ZTVSt[0-9][0-9][m-q]*;
-    _ZTVSt[0-9][0-9][m]*;
-    _ZTVSt[0-9][0-9]n[^e]*;
-    _ZTVSt[0-9][0-9][o-q]*;
+    _ZTVSt1[07]money*;
+    _ZTVSt1[35]messages*;
+    _ZTVSt15numpunct_bynameI[cw]E;
+    _ZTVSt1[024]o*;
     _ZTVSt11range_error;
     _ZTVSt13runtime_error;
-    _ZTVSt[0-9][0-9][t-z]*;
-    _ZTVSt[0-9][0-9]e[^r]*;
-    _ZTVSt[0-9][0-9]s[^y]*;
+    _ZTVSt12strstreambuf;
+    _ZTVSt15time*;
+    _ZTVSt15underflow_error;
 
     _ZTVSt11__timepunctI[cw]E;
     _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
@@ -821,19 +826,24 @@ GLIBCXX_3.4 {
     _ZTISt18basic_stringstreamI*;
     _ZTISt19basic_istringstreamI*;
     _ZTISt19basic_ostringstreamI*;
-    _ZTISt[0-9][0-9][c-d]*;
-    _ZTISt[0-9][0-9][g-k]*;
+    _ZTISt10ctype_base;
+    _ZTISt12codecvt_base;
+    _ZTISt12ctype_bynameI[cw]E;
+    _ZTISt14co*_bynameI[cw]*;
+    _ZTISt12domain_error;
+    _ZTISt10istrstream;
+    _ZTISt16invalid_argument;
     _ZTISt11logic_error;
     _ZTISt12length_error;
-#   _ZTISt[0-9][0-9][m-q]*;
-    _ZTISt[0-9][0-9][m]*;
-    _ZTISt[0-9][0-9]n[^e]*;
-    _ZTISt[0-9][0-9][o-q]*;
+    _ZTISt1[07]money*;
+    _ZTISt1[35]messages*;
+    _ZTISt15numpunct_bynameI[cw]E;
+    _ZTISt1[024]o*;
     _ZTISt11range_error;
     _ZTISt13runtime_error;
-    _ZTISt[0-9][0-9][t-z]*;
-    _ZTISt[0-9][0-9]e[^r]*;
-    _ZTISt[0-9][0-9]s[^y]*;
+    _ZTISt12strstreambuf;
+    _ZTISt15time*;
+    _ZTISt15underflow_error;
     _ZTISt11__timepunctI[cw]E;
     _ZTISt10__num_base;
     _ZTISt21__ctype_abstract_baseI[cw]E;
@@ -869,19 +879,24 @@ GLIBCXX_3.4 {
     _ZTSSt18basic_stringstreamI*;
     _ZTSSt19basic_istringstreamI*;
     _ZTSSt19basic_ostringstreamI*;
-    _ZTSSt[0-9][0-9][c-d]*;
-    _ZTSSt[0-9][0-9][g-k]*;
+    _ZTSSt10ctype_base;
+    _ZTSSt12codecvt_base;
+    _ZTSSt12ctype_bynameI[cw]E;
+    _ZTSSt14co*_bynameI[cw]*;
+    _ZTSSt12domain_error;
+    _ZTSSt10istrstream;
+    _ZTSSt16invalid_argument;
     _ZTSSt11logic_error;
     _ZTSSt12length_error;
-#   _ZTSSt[0-9][0-9][m-q]*;
-    _ZTSSt[0-9][0-9][m]*;
-    _ZTSSt[0-9][0-9]n[^e]*;
-    _ZTSSt[0-9][0-9][o-q]*;
+    _ZTSSt1[07]money*;
+    _ZTSSt1[35]messages*;
+    _ZTSSt15numpunct_bynameI[cw]E;
+    _ZTSSt1[024]o*;
     _ZTSSt11range_error;
     _ZTSSt13runtime_error;
-    _ZTSSt[0-9][0-9][t-z]*;
-    _ZTSSt[0-9][0-9]e[^r]*;
-    _ZTSSt[0-9][0-9]s[^y]*;
+    _ZTSSt12strstreambuf;
+    _ZTSSt15time*;
+    _ZTSSt15underflow_error;
 
     _ZTSSt11__timepunctI[cw]E;
     _ZTSSt10__num_base;
@@ -2099,6 +2114,59 @@ GLIBCXX_3.4.26 {
     _ZNSbIwSt11char_traitsIwESaIwEEC[12]ENS2_12__sv_wrapperERKS1_;
     _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ENS4_12__sv_wrapperERKS3_;
 
+    # std::filesystem symbols
+    _ZNKSt10filesystem16filesystem_error4whatEv;
+    _ZNKSt10filesystem16filesystem_error5path[12]Ev;
+    _ZNKSt10filesystem4path1[1-9][hlpr]*Ev;
+    _ZNKSt10filesystem4path17_M_find_extensionEv;
+    _ZNKSt10filesystem4path1[89]lexically_*ERKS0_;
+    _ZNKSt10filesystem4path5_List13_Impl_deleterclEPNS1_5_ImplE;
+    _ZNKSt10filesystem4path5_List3endEv;
+    _ZNKSt10filesystem4path5_List5beginEv;
+    _ZNKSt10filesystem4path7compareERKS0_;
+    _ZNKSt10filesystem4path7compareESt17basic_string_viewIcSt11char_traitsIcEE;
+    _ZNKSt10filesystem4path9root_*Ev;
+    _ZNSt10filesystem10hash_valueERKNS_4pathE;
+    _ZNSt10filesystem16filesystem_errorC[12]E*;
+    _ZNSt10filesystem16filesystem_errorD[012]Ev;
+    _ZNSt10filesystem4path14_M_split_cmptsEv;
+    _ZNSt10filesystem4path14_S_convert_locEPKcS2_RKSt6locale;
+    _ZNSt10filesystem4path1[567]re*;
+    _ZNSt10filesystem4path5_ListC1ERKS1_;
+    _ZNSt10filesystem4path5_ListC1Ev;
+    _ZNSt10filesystem4path9_M_appendESt17basic_string_viewIcSt11char_traitsIcEE;
+    _ZNSt10filesystem4path9_M_concatESt17basic_string_viewIcSt11char_traitsIcEE;
+    _ZNSt10filesystem4pathaSERKS0_;
+    _ZNSt10filesystem4pathdVERKS0_;
+    _ZNSt10filesystem4pathpLERKS0_;
+    _ZT[IV]NSt10filesystem16filesystem_errorE;
+
+    _ZNKSt10filesystem7__cxx1116filesystem_error4whatEv;
+    _ZNKSt10filesystem7__cxx1116filesystem_error5path[12]Ev;
+    _ZNKSt10filesystem7__cxx114path1[1-9][hlpr]*Ev;
+    _ZNKSt10filesystem7__cxx114path17_M_find_extensionEv;
+    _ZNKSt10filesystem7__cxx114path1[89]lexically_*ERKS1_;
+    _ZNKSt10filesystem7__cxx114path5_List13_Impl_deleterclEPNS2_5_ImplE;
+    _ZNKSt10filesystem7__cxx114path5_List3endEv;
+    _ZNKSt10filesystem7__cxx114path5_List5beginEv;
+    _ZNKSt10filesystem7__cxx114path7compareERKS1_;
+    _ZNKSt10filesystem7__cxx114path7compareESt17basic_string_viewIcSt11char_traitsIcEE;
+    _ZNKSt10filesystem7__cxx114path9root_*Ev;
+    _ZNSt10filesystem7__cxx1110hash_valueERKNS0_4pathE;
+    _ZNSt10filesystem7__cxx1116filesystem_errorC[12]E*;
+    _ZNSt10filesystem7__cxx1116filesystem_errorD[012]Ev;
+    _ZNSt10filesystem7__cxx114path14_M_split_cmptsEv;
+    _ZNSt10filesystem7__cxx114path14_S_convert_locEPKcS3_RKSt6locale;
+    _ZNSt10filesystem7__cxx114path1[567]re*;
+    _ZNSt10filesystem7__cxx114path5_ListC1ERKS2_;
+    _ZNSt10filesystem7__cxx114path5_ListC1Ev;
+    _ZNSt10filesystem7__cxx114path9_M_appendESt17basic_string_viewIcSt11char_traitsIcEE;
+    _ZNSt10filesystem7__cxx114path9_M_concatESt17basic_string_viewIcSt11char_traitsIcEE;
+    _ZNSt10filesystem7__cxx114pathaSERKS1_;
+    _ZNSt10filesystem7__cxx114pathdVERKS1_;
+    _ZNSt10filesystem7__cxx114pathpLERKS1_;
+    _ZT[IV]NSt10filesystem7__cxx1116filesystem_errorE;
+
 } GLIBCXX_3.4.25;
 
 # Symbols in the support library (libsupc++) have their own tag.
diff --git a/libstdc++-v3/src/c++17/Makefile.am b/libstdc++-v3/src/c++17/Makefile.am
index afa119eecb6..85883c33f2d 100644
--- a/libstdc++-v3/src/c++17/Makefile.am
+++ b/libstdc++-v3/src/c++17/Makefile.am
@@ -27,14 +27,12 @@ noinst_LTLIBRARIES = libc++17convenience.la
 
 headers =
 
-sources = \
-	memory_resource.cc \
-	string-inst.cc
-
 if ENABLE_DUAL_ABI
 extra_string_inst_sources = cow-string-inst.cc
+extra_fs_sources = cow-fs_path.cc
 else
 extra_string_inst_sources =
+extra_fs_sources =
 endif
 
 if ENABLE_EXTERN_TEMPLATE
@@ -46,6 +44,12 @@ else
 inst_sources =
 endif
 
+sources = \
+	fs_path.cc \
+	memory_resource.cc \
+	string-inst.cc \
+	$(extra_fs_sources)
+
 vpath % $(top_srcdir)/src/c++17
 
 libc__17convenience_la_SOURCES = $(sources)  $(inst_sources)
@@ -59,16 +63,12 @@ AM_CXXFLAGS = \
 	-std=gnu++17 \
 	$(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
 	$(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
-	$(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
+	$(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
+	-fimplicit-templates
 
 AM_MAKEFLAGS = \
 	"gxx_include_dir=$(gxx_include_dir)"
 
-memory_resource.lo: memory_resource.cc
-	$(LTCXXCOMPILE) -fimplicit-templates -c $< -o $@
-memory_resource.o: memory_resource.cc
-	$(CXXCOMPILE) -fimplicit-templates -c $< -o $@
-
 # Libtool notes
 
 # 1) In general, libtool expects an argument such as `--tag=CXX' when
diff --git a/libstdc++-v3/src/filesystem/cow-std-path.cc b/libstdc++-v3/src/c++17/cow-fs_path.cc
similarity index 97%
rename from libstdc++-v3/src/filesystem/cow-std-path.cc
rename to libstdc++-v3/src/c++17/cow-fs_path.cc
+++ b/libstdc++-v3/src/c++17/cow-fs_path.cc
@@ -23,4 +23,4 @@
 // <http://www.gnu.org/licenses/>.
 
 #define _GLIBCXX_USE_CXX11_ABI 0
-#include "std-path.cc"
+#include "fs_path.cc"
diff --git a/libstdc++-v3/src/filesystem/std-path.cc b/libstdc++-v3/src/c++17/fs_path.cc
similarity index 100%
rename from libstdc++-v3/src/filesystem/std-path.cc
rename to libstdc++-v3/src/c++17/fs_path.cc
diff --git a/libstdc++-v3/src/filesystem/Makefile.am b/libstdc++-v3/src/filesystem/Makefile.am
diff --git a/libstdc++-v3/src/filesystem/Makefile.am b/libstdc++-v3/src/filesystem/Makefile.am
index 12367c7c02c..6f2a9f63b8a 100644
--- a/libstdc++-v3/src/filesystem/Makefile.am
+++ b/libstdc++-v3/src/filesystem/Makefile.am
@@ -32,8 +32,7 @@ cxx11_abi_sources = \
 	cow-ops.cc \
 	cow-path.cc \
 	cow-std-dir.cc \
-	cow-std-ops.cc \
-	cow-std-path.cc
+	cow-std-ops.cc
 else
 cxx11_abi_sources =
 endif
@@ -44,7 +43,6 @@ sources = \
 	path.cc \
 	std-dir.cc \
 	std-ops.cc \
-	std-path.cc \
 	${cxx11_abi_sources}
 
 # vpath % $(top_srcdir)/src/filesystem
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/append/path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/append/path.cc
index 3375b065181..93c0f15f5ea 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/append/path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/append/path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/append/source.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/append/source.cc
index a73766ce307..db80087ba6c 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/append/source.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/append/source.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2018-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/assign/assign.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/assign/assign.cc
index b93543c41df..13828fe9550 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/assign/assign.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/assign/assign.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/assign/copy.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/assign/copy.cc
index e182d1ae21a..6c24e3ae7b9 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/assign/copy.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/assign/copy.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/compare.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/compare.cc
index b24527312e0..7ce16f4d190 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/compare.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/compare.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/lwg2936.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/lwg2936.cc
index e45f9366c8e..bcb99cc6ddc 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/lwg2936.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/lwg2936.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/path.cc
index b46ff703bcb..4de5a789994 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/strings.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/strings.cc
index f12b68fb019..3f0aa4bde06 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/compare/strings.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/compare/strings.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/concat/path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/concat/path.cc
index e2a14bd8fcc..9f534e64cb7 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/concat/path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/concat/path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/concat/strings.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/concat/strings.cc
index 21e2ecdfcaf..80ce25ef119 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/concat/strings.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/concat/strings.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc
index 5bf8298a818..71cdaa9d969 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc
@@ -17,7 +17,6 @@
 
 // { dg-options "-std=gnu++17" }
 // { dg-do compile { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #include <filesystem>
 
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/copy.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/copy.cc
index 5bab635eb1a..b29ab34332e 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/copy.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/copy.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/default.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/default.cc
index 2280e7de64a..1e49c681a34 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/default.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/default.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/format.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/format.cc
index b97305b2aa6..f80d9860496 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/format.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/format.cc
@@ -15,9 +15,8 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #include <filesystem>
 #include <string.h>
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/locale.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/locale.cc
index 12b437c37b0..bfb8aa136ea 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/locale.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/locale.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/range.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/range.cc
index 6b447980129..f7a40364b8a 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/range.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/range.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/string_view.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/string_view.cc
index 42340e6eb75..343928edde6 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/construct/string_view.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/construct/string_view.cc
@@ -1,6 +1,5 @@
-// { dg-options "-lstdc++fs -std=gnu++17" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2016-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/extension.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/extension.cc
index d3f8d7e3c54..a4d48c96eda 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/extension.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/extension.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/filename.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/filename.cc
index 51c4773a8db..1bda26f088a 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/filename.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/filename.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/parent_path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/parent_path.cc
index 33f645fd649..a49419f19dc 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/parent_path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/parent_path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/relative_path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/relative_path.cc
index 58a5c915e52..b1e9b1d7a9f 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/relative_path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/relative_path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_directory.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_directory.cc
index f799faede21..f171425f8a6 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_directory.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_directory.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_name.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_name.cc
index ce0d1335ca9..eb8e416eddb 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_name.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_name.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_path.cc
index 917f1a3842c..4f4c531819f 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/root_path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/stem.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/stem.cc
index 705fff89b8b..3320e7aca3e 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/stem.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/decompose/stem.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal.cc
index 844168352c8..c93a1245b70 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal.cc
@@ -15,9 +15,8 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #include <filesystem>
 #include <testsuite_fs.h>
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal2.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal2.cc
index f78f5dd8a9f..8c5bb954e81 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal2.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal2.cc
@@ -15,9 +15,8 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #undef _GLIBCXX_USE_CXX11_ABI
 #define _GLIBCXX_USE_CXX11_ABI 0
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/proximate.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/proximate.cc
index 01b548bf5ef..1d666791001 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/proximate.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/proximate.cc
@@ -15,9 +15,8 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #include <filesystem>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/relative.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/relative.cc
index 0bf8d34dbe0..dde08d46f2c 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/generation/relative.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/generation/relative.cc
@@ -15,9 +15,8 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #include <filesystem>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/generic/generic_string.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/generic/generic_string.cc
index 60e53fec2aa..5a0c24c25c3 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/generic/generic_string.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/generic/generic_string.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2017-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/itr/components.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/itr/components.cc
index 70eba60b34e..51583dd55b5 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/itr/components.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/itr/components.cc
@@ -15,9 +15,8 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #include <filesystem>
 #include <iterator>
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/itr/traversal.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/itr/traversal.cc
index 16147ca8c28..8513021e729 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/itr/traversal.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/itr/traversal.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/clear.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/clear.cc
index 65c2c4c049b..3fa89938d7d 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/clear.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/clear.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/make_preferred.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/make_preferred.cc
index 2c514b4caff..e49c08e8032 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/make_preferred.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/make_preferred.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/remove_filename.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/remove_filename.cc
index 53423155a75..3b2ef062b6f 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/remove_filename.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/remove_filename.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_extension.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_extension.cc
index b0f6ff70eab..df4b77aa116 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_extension.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_extension.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_filename.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_filename.cc
index 52e438096b8..6503454e303 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_filename.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_filename.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/swap.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/swap.cc
index 34ae9262a8b..7414b8078b4 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/swap.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/swap.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/native/string.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/native/string.cc
index 853eb70d0d2..5417ab4c011 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/native/string.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/native/string.cc
@@ -15,9 +15,8 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 #include <filesystem>
 #include <string>
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/append.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/append.cc
index 8c16f60bdad..d4e1d6fb5f6 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/append.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/append.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2018-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/hash_value.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/hash_value.cc
index f8614d85656..13a0767a9eb 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/hash_value.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/nonmember/hash_value.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/empty.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/empty.cc
index f176ef61848..7d0dc9bf8cc 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/empty.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/empty.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_extension.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_extension.cc
index a18fee6808f..870d585a173 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_extension.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_extension.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_filename.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_filename.cc
index d58cc2760fd..7e6981130ea 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_filename.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_filename.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_parent_path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_parent_path.cc
index 2d0b52ac315..17bbaba6310 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_parent_path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_parent_path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_relative_path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_relative_path.cc
index 3af632badf1..42b1758d18a 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_relative_path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_relative_path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_directory.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_directory.cc
index 4df0054f518..d7f09b3f4b3 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_directory.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_directory.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_name.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_name.cc
index bda2c1c938a..15ab315bc93 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_name.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_name.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_path.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_path.cc
index f5daabc9d2a..a5742ca4d77 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_path.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_root_path.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_stem.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_stem.cc
index e3366763e9b..09714994185 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_stem.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/has_stem.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_absolute.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_absolute.cc
index a48d3206eeb..ac97eee5115 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_absolute.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_absolute.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2018-2019 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_relative.cc b/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_relative.cc
index 3f7317286e1..61bbd57edec 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_relative.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/path/query/is_relative.cc
@@ -1,6 +1,5 @@
-// { dg-options "-std=gnu++17 -lstdc++fs" }
+// { dg-options "-std=gnu++17" }
 // { dg-do run { target c++17 } }
-// { dg-require-filesystem-ts "" }
 
 // Copyright (C) 2014-2019 Free Software Foundation, Inc.
 //

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-01-24 13:07 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-06 22:35 [PATCH 1/2] PR libstdc++/86756 add std::filesystem::path to libstdc++.so Jonathan Wakely
2019-01-06 22:36 ` [PATCH 2/2] PR libstdc++/86756 Move rest of std::filesystem " Jonathan Wakely
2019-01-07  9:25   ` Christophe Lyon
2019-01-07  9:48     ` Jonathan Wakely
2019-01-07 12:39       ` Jonathan Wakely
2019-01-07 14:14         ` Christophe Lyon
2019-01-08 10:14           ` Christophe Lyon
2019-01-09 10:09             ` Jonathan Wakely
2019-01-09 10:11               ` Jonathan Wakely
2019-01-09 12:54                 ` Christophe Lyon
2019-01-09 17:02                   ` Jonathan Wakely
2019-01-23 16:01                   ` Jonathan Wakely
2019-01-23 16:05                     ` Christophe Lyon
2019-01-24 13:32                       ` Jonathan Wakely
2019-01-07 12:46 ` [PATCH 3/2] Update documentation for C++17 filesystem library Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).