This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[v3 patch] Backport Filesystem TS to GCC 5 branch


I've been meaning to backport the FIlesystem TS library to the GCC 5
branch for some time, so here it is.

As with trunk it's only enabled for targets where it's known to build
and pass the tests.

Tested powerpc64le-linux, committed to gcc-5-branch.

   	Backport Filesystem TS from mainline
   	* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS,
   	GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
   	* configure.ac: Use them.
   	* configure: Regenerate.
   	* config.h.in: Regenerate.
   	* include/Makefile.am: Add filesystem headers. Fix order of headers.
   	* include/Makefile.in: Regenerate.
   	* include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in,
   	__str_codecvt_out, wstring_convert): Refactor to move all conversion
   	logic to non-member functions.
   	* include/bits/quoted_string.h (_Quoted_string, operator<<,
   	operator>>): Move from <iomanip> to new header.
   	* include/experimental/filesystem: New.
   	* include/experimental/fs_dir.h: New.
   	* include/experimental/fs_fwd.h: New.
   	* include/experimental/fs_ops.h: New.
   	* include/experimental/fs_path.h: New.
   	* include/std/iomanip (_Quoted_string, operator<<, operator>>): Move
   	to <bits/quoted_string.h>.
   	* libstdcxx/v6/printers.py (StdExpPathPrinter): Define.
   	* scripts/testsuite_flags.in: Add filesystem dir to ldflags.
   	* src/Makefile.am: Add filesystem sub-dir.
   	* src/Makefile.in: Regenerate.
   	* src/filesystem/Makefile.am: New.
   	* src/filesystem/Makefile.in: New.
   	* src/filesystem/dir.cc: New.
   	* src/filesystem/ops.cc: New.
   	* src/filesystem/path.cc: New.
   	* testsuite/experimental/filesystem/operations/absolute.cc: New.
   	* testsuite/experimental/filesystem/operations/copy.cc: New.
   	* testsuite/experimental/filesystem/operations/current_path.cc: New.
   	* testsuite/experimental/filesystem/operations/exists.cc: New.
   	* testsuite/experimental/filesystem/operations/file_size.cc: New.
   	* testsuite/experimental/filesystem/operations/status.cc: New.
   	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   	New.
   	* testsuite/experimental/filesystem/path/append/path.cc: New.
   	* testsuite/experimental/filesystem/path/assign/assign.cc: New.
   	* testsuite/experimental/filesystem/path/assign/copy.cc: New.
   	* testsuite/experimental/filesystem/path/compare/compare.cc: New.
   	* testsuite/experimental/filesystem/path/compare/path.cc: New.
   	* testsuite/experimental/filesystem/path/compare/strings.cc: New.
   	* testsuite/experimental/filesystem/path/concat/path.cc: New.
   	* testsuite/experimental/filesystem/path/concat/strings.cc: New.
   	* testsuite/experimental/filesystem/path/construct/copy.cc: New.
   	* testsuite/experimental/filesystem/path/construct/default.cc: New.
   	* testsuite/experimental/filesystem/path/construct/locale.cc: New.
   	* testsuite/experimental/filesystem/path/construct/range.cc: New.
   	* testsuite/experimental/filesystem/path/decompose/extension.cc: New.
   	* testsuite/experimental/filesystem/path/decompose/filename.cc: New.
   	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
   	New.
   	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
   	New.
   	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
   	New.
   	* testsuite/experimental/filesystem/path/decompose/root_name.cc: New.
   	* testsuite/experimental/filesystem/path/decompose/root_path.cc: New.
   	* testsuite/experimental/filesystem/path/decompose/stem.cc: New.
   	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
   	New.
   	* testsuite/experimental/filesystem/path/itr/traversal.cc: New.
   	* testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
   	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
   	New.
   	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
   	New.
   	* testsuite/experimental/filesystem/path/modifiers/
   	replace_extension.cc: New.
   	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
   	New.
   	* testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
   	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
   	New.
   	* testsuite/experimental/filesystem/path/query/empty.cc: New.
   	* testsuite/experimental/filesystem/path/query/has_extension.cc: New.
   	* testsuite/experimental/filesystem/path/query/has_filename.cc: New.
   	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
   	New.
   	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
   	New.
   	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
   	New.
   	* testsuite/experimental/filesystem/path/query/has_root_name.cc: New.
   	* testsuite/experimental/filesystem/path/query/has_root_path.cc: New.
   	* testsuite/experimental/filesystem/path/query/has_stem.cc: New.
   	* testsuite/experimental/filesystem/path/query/is_relative.cc: New.
   	* testsuite/lib/dg-options.exp (dg-require-filesystem-ts): Define.
   	* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Define.
   	* testsuite/util/testsuite_fs.h: New.

Attachment: patch.txt.bz2
Description: BZip2 compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]