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.

From-SVN: r267615
This commit is contained in:
Jonathan Wakely 2019-01-06 22:34:29 +00:00 committed by Jonathan Wakely
parent caf80d87b5
commit 2b5225352e
60 changed files with 251 additions and 163 deletions

View File

@ -1,5 +1,79 @@
2019-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
PR libstdc++/87431
* include/std/variant (_Variant_storage<true, _Types...>::_M_valid):
Check is_trivially_copyable instead of is_scalar.

View File

@ -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.

View File

@ -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

View File

@ -121,10 +121,12 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libc__17convenience_la_LIBADD =
am__objects_1 = memory_resource.lo string-inst.lo
@ENABLE_DUAL_ABI_TRUE@am__objects_2 = cow-string-inst.lo
@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = $(am__objects_2)
am_libc__17convenience_la_OBJECTS = $(am__objects_1) $(am__objects_3)
@ENABLE_DUAL_ABI_TRUE@am__objects_1 = cow-fs_path.lo
am__objects_2 = fs_path.lo memory_resource.lo string-inst.lo \
$(am__objects_1)
@ENABLE_DUAL_ABI_TRUE@am__objects_3 = cow-string-inst.lo
@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = $(am__objects_3)
am_libc__17convenience_la_OBJECTS = $(am__objects_2) $(am__objects_4)
libc__17convenience_la_OBJECTS = $(am_libc__17convenience_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@ -410,12 +412,10 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
# Convenience library for C++17 runtime.
noinst_LTLIBRARIES = libc++17convenience.la
headers =
sources = \
memory_resource.cc \
string-inst.cc
@ENABLE_DUAL_ABI_FALSE@extra_string_inst_sources =
@ENABLE_DUAL_ABI_TRUE@extra_string_inst_sources = cow-string-inst.cc
@ENABLE_DUAL_ABI_FALSE@extra_fs_sources =
@ENABLE_DUAL_ABI_TRUE@extra_fs_sources = cow-fs_path.cc
# XTEMPLATE_FLAGS =
@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources =
@ -423,6 +423,12 @@ sources = \
@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \
@ENABLE_EXTERN_TEMPLATE_TRUE@ $(extra_string_inst_sources)
sources = \
fs_path.cc \
memory_resource.cc \
string-inst.cc \
$(extra_fs_sources)
libc__17convenience_la_SOURCES = $(sources) $(inst_sources)
# AM_CXXFLAGS needs to be in each subdirectory so that it can be
@ -434,7 +440,8 @@ 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)"
@ -732,11 +739,6 @@ uninstall-am:
vpath % $(top_srcdir)/src/c++17
memory_resource.lo: memory_resource.cc
$(LTCXXCOMPILE) -fimplicit-templates -c $< -o $@
memory_resource.o: memory_resource.cc
$(CXXCOMPILE) -fimplicit-templates -c $< -o $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -23,4 +23,4 @@
// <http://www.gnu.org/licenses/>.
#define _GLIBCXX_USE_CXX11_ABI 0
#include "std-path.cc"
#include "fs_path.cc"

View File

@ -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

View File

@ -151,9 +151,9 @@ LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
libstdc__fs_la_LIBADD =
@ENABLE_DUAL_ABI_TRUE@am__objects_1 = cow-dir.lo cow-ops.lo \
@ENABLE_DUAL_ABI_TRUE@ cow-path.lo cow-std-dir.lo \
@ENABLE_DUAL_ABI_TRUE@ cow-std-ops.lo cow-std-path.lo
@ENABLE_DUAL_ABI_TRUE@ cow-std-ops.lo
am__objects_2 = dir.lo ops.lo path.lo std-dir.lo std-ops.lo \
std-path.lo $(am__objects_1)
$(am__objects_1)
am_libstdc__fs_la_OBJECTS = $(am__objects_2)
libstdc__fs_la_OBJECTS = $(am_libstdc__fs_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@ -444,8 +444,7 @@ headers =
@ENABLE_DUAL_ABI_TRUE@ cow-ops.cc \
@ENABLE_DUAL_ABI_TRUE@ cow-path.cc \
@ENABLE_DUAL_ABI_TRUE@ cow-std-dir.cc \
@ENABLE_DUAL_ABI_TRUE@ cow-std-ops.cc \
@ENABLE_DUAL_ABI_TRUE@ cow-std-path.cc
@ENABLE_DUAL_ABI_TRUE@ cow-std-ops.cc
sources = \
dir.cc \
@ -453,7 +452,6 @@ sources = \
path.cc \
std-dir.cc \
std-ops.cc \
std-path.cc \
${cxx11_abi_sources}

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -17,7 +17,6 @@
// { dg-options "-std=gnu++17" }
// { dg-do compile { target c++17 } }
// { dg-require-filesystem-ts "" }
#include <filesystem>

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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>

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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.
//

View File

@ -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>

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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>

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//

View File

@ -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.
//