Implement N4100 File System TS
authorJonathan Wakely <jwakely@redhat.com>
Thu, 30 Apr 2015 19:11:52 +0000 (20:11 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 30 Apr 2015 19:11:52 +0000 (20:11 +0100)
commit0ca7ba9aa6a0b5b2c71184cd1853446cec9a0889
tree898dad0f66d2410fa20e02cacb83b40aefe3d2ab
parent59c1f3840203780d04974b37b617ac0d673e8c4a
Implement N4100 File System TS

* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
(GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Enable filesystem TS and check its dependencies.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
__str_codecvt_out): Move code conversion logic from wstring_convert
into new global functions.
(wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
functions.
(wstring_convert::_M_conv): Remove.
* include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
* 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): Move to bits/quoted_string.h.
* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
* src/Makefile.am (SUBDIRS): Add filesystem.
* 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/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/util/testsuite_fs.h: New.

From-SVN: r222654
69 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/config.h.in
libstdc++-v3/configure
libstdc++-v3/configure.ac
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/locale_conv.h
libstdc++-v3/include/bits/quoted_string.h [new file with mode: 0644]
libstdc++-v3/include/experimental/filesystem [new file with mode: 0644]
libstdc++-v3/include/experimental/fs_dir.h [new file with mode: 0644]
libstdc++-v3/include/experimental/fs_fwd.h [new file with mode: 0644]
libstdc++-v3/include/experimental/fs_ops.h [new file with mode: 0644]
libstdc++-v3/include/experimental/fs_path.h [new file with mode: 0644]
libstdc++-v3/include/std/iomanip
libstdc++-v3/python/libstdcxx/v6/printers.py
libstdc++-v3/scripts/testsuite_flags.in
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/filesystem/Makefile.am [new file with mode: 0644]
libstdc++-v3/src/filesystem/Makefile.in [new file with mode: 0644]
libstdc++-v3/src/filesystem/dir.cc [new file with mode: 0644]
libstdc++-v3/src/filesystem/ops.cc [new file with mode: 0644]
libstdc++-v3/src/filesystem/path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/compare/compare.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/compare/path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/compare/strings.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/concat/path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/construct/copy.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/construct/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/construct/locale.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/extension.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/filename.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/parent_path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/relative_path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_directory.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_name.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_extension.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/replace_filename.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/swap.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/nonmember/hash_value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/empty.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_extension.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_filename.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_parent_path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_relative_path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_directory.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_name.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_root_path.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/has_stem.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/filesystem/path/query/is_relative.cc [new file with mode: 0644]
libstdc++-v3/testsuite/lib/dg-options.exp
libstdc++-v3/testsuite/lib/libstdc++.exp
libstdc++-v3/testsuite/util/testsuite_fs.h [new file with mode: 0644]