This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository libcxx.
from a8f47cc Remove CloudABI specific workaround. new 6e9a694 Add Filesystem TS -- Complete
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: CMakeLists.txt | 9 +- docs/BuildingLibcxx.rst | 8 + include/experimental/__config | 10 + include/experimental/filesystem | 2050 ++++++++++++++++++++ include/iomanip | 31 +- lib/CMakeLists.txt | 5 +- src/experimental/filesystem/directory_iterator.cpp | 256 +++ src/experimental/filesystem/operations.cpp | 754 +++++++ src/experimental/filesystem/path.cpp | 392 ++++ test/CMakeLists.txt | 1 + .../class.path/path.req/is_pathable.pass.cpp | 101 + test/libcxx/experimental/filesystem/lit.local.cfg | 3 + .../experimental/filesystem/version.pass.cpp | 22 + test/libcxx/test/config.py | 30 + test/lit.site.cfg.in | 1 + .../filesystem/Inputs/static_test_env/bad_symlink | 1 + .../Inputs/static_test_env/dir1/dir2/afile3 | 0 .../Inputs/static_test_env/dir1/dir2/dir3/file5 | 0 .../Inputs/static_test_env/dir1/dir2/file4 | 0 .../static_test_env/dir1/dir2/symlink_to_dir3 | 1 + .../filesystem/Inputs/static_test_env/dir1/file1 | 0 .../filesystem/Inputs/static_test_env/dir1/file2 | 1 + .../filesystem/Inputs/static_test_env/empty_file | 0 .../Inputs/static_test_env/non_empty_file | 1 + .../Inputs/static_test_env/symlink_to_dir | 1 + .../Inputs/static_test_env/symlink_to_empty_file | 1 + .../directory_entry.cons.pass.cpp | 97 + .../directory_entry.mods.pass.cpp | 113 ++ .../directory_entry.obs/comparisons.pass.cpp | 82 + .../directory_entry.obs/path.pass.cpp | 89 + .../directory_entry.obs/status.pass.cpp | 51 + .../directory_entry.obs/symlink_status.pass.cpp | 50 + .../directory_iterator.members/copy.pass.cpp | 59 + .../copy_assign.pass.cpp | 98 + .../directory_iterator.members/ctor.pass.cpp | 246 +++ .../default_ctor.pass.cpp | 36 + .../directory_iterator.members/increment.pass.cpp | 117 ++ .../directory_iterator.members/move.pass.cpp | 62 + .../move_assign.pass.cpp | 110 ++ .../begin_end.pass.cpp | 61 + .../class.directory_iterator/types.pass.cpp | 38 + .../class.file_status/file_status.cons.pass.cpp | 61 + .../class.file_status/file_status.mods.pass.cpp | 50 + .../class.file_status/file_status.obs.pass.cpp | 46 + .../filesystem_error.members.pass.cpp | 103 + .../class.path/path.itr/iterator.pass.cpp | 104 + .../class.path/path.member/path.append.pass.cpp | 241 +++ .../path.member/path.assign/copy.pass.cpp | 37 + .../path.member/path.assign/move.pass.cpp | 43 + .../path.member/path.assign/source.pass.cpp | 153 ++ .../class.path/path.member/path.compare.pass.cpp | 126 ++ .../class.path/path.member/path.concat.pass.cpp | 277 +++ .../path.member/path.construct/copy.pass.cpp | 35 + .../path.member/path.construct/default.pass.cpp | 31 + .../path.member/path.construct/move.pass.cpp | 41 + .../path.member/path.construct/source.pass.cpp | 83 + .../path.decompose/path.decompose.pass.cpp | 198 ++ .../path.generic.obs/generic_string_alloc.pass.cpp | 57 + .../path.generic.obs/named_overloads.pass.cpp | 63 + .../path.member/path.modifiers/clear.pass.cpp | 45 + .../path.modifiers/make_preferred.pass.cpp | 55 + .../path.modifiers/remove_filename.pass.cpp | 72 + .../path.modifiers/replace_extension.pass.cpp | 73 + .../path.modifiers/replace_filename.pass.cpp | 69 + .../path.member/path.modifiers/swap.pass.cpp | 81 + .../path.member/path.native.obs/c_str.pass.cpp | 43 + .../path.native.obs/named_overloads.pass.cpp | 63 + .../path.member/path.native.obs/native.pass.cpp | 40 + .../path.native.obs/operator_string.pass.cpp | 47 + .../path.native.obs/string_alloc.pass.cpp | 113 ++ .../path.query/tested_in_path_decompose.pass.cpp | 32 + .../class.path/path.nonmember/append_op.pass.cpp | 33 + .../comparison_ops_tested_elsewhere.pass.cpp | 14 + .../hash_value_tested_elswhere.pass.cpp | 14 + .../path.nonmember/path.factory.pass.cpp | 53 + .../class.path/path.nonmember/path.io.pass.cpp | 66 + .../path.nonmember/path.io.unicode_bug.pass.cpp | 69 + .../class.path/path.nonmember/swap.pass.cpp | 50 + .../filesystem/class.path/synop.pass.cpp | 39 + .../rec.dir.itr.members/copy.pass.cpp | 79 + .../rec.dir.itr.members/copy_assign.pass.cpp | 158 ++ .../rec.dir.itr.members/ctor.pass.cpp | 240 +++ .../rec.dir.itr.members/depth.pass.cpp | 66 + .../disable_recursion_pending.pass.cpp | 43 + .../rec.dir.itr.members/increment.pass.cpp | 228 +++ .../rec.dir.itr.members/move.pass.cpp | 80 + .../rec.dir.itr.members/move_assign.pass.cpp | 163 ++ .../rec.dir.itr.members/pop.pass.cpp | 93 + .../rec.dir.itr.members/recursion_pending.pass.cpp | 145 ++ .../rec.dir.itr.nonmembers/begin_end.pass.cpp | 61 + .../filesystem/fs.enum/check_bitmask_types.hpp | 75 + .../filesystem/fs.enum/enum.copy_options.pass.cpp | 64 + .../fs.enum/enum.directory_options.pass.cpp | 46 + .../filesystem/fs.enum/enum.file_type.pass.cpp | 48 + .../filesystem/fs.enum/enum.perms.pass.cpp | 68 + .../fs.error.report}/tested_elsewhere.pass.cpp | 0 .../fs.filesystem.synopsis/file_time_type.pass.cpp | 31 + .../fs.op.funcs/fs.op.absolute/absolute.pass.cpp | 117 ++ .../fs.op.funcs/fs.op.canonical/canonical.pass.cpp | 118 ++ .../fs.op.funcs/fs.op.copy/copy.pass.cpp | 251 +++ .../fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp | 165 ++ .../fs.op.copy_symlink/copy_symlink.pass.cpp | 110 ++ .../create_directories.pass.cpp | 72 + .../create_directory.pass.cpp | 104 + .../create_directory_with_attributes.pass.cpp | 103 + .../create_directory_symlink.pass.cpp | 81 + .../create_hard_link.pass.cpp | 90 + .../fs.op.create_symlink/create_symlink.pass.cpp | 92 + .../fs.op.current_path/current_path.pass.cpp | 93 + .../fs.op.equivalent/equivalent.pass.cpp | 88 + .../fs.op.funcs/fs.op.exists/exists.pass.cpp | 84 + .../fs.op.funcs/fs.op.file_size/file_size.pass.cpp | 79 + .../fs.op.hard_lk_ct/hard_link_count.pass.cpp | 86 + .../fs.op.is_block_file/is_block_file.pass.cpp | 84 + .../fs.op.is_char_file/is_character_file.pass.cpp | 84 + .../fs.op.is_directory/is_directory.pass.cpp | 91 + .../fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp | 80 + .../fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp | 84 + .../fs.op.funcs/fs.op.is_other/is_other.pass.cpp | 84 + .../fs.op.is_regular_file/is_regular_file.pass.cpp | 87 + .../fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp | 84 + .../fs.op.is_symlink/is_symlink.pass.cpp | 105 + .../fs.op.last_write_time/last_write_time.pass.cpp | 297 +++ .../fs.op.permissions/permissions.pass.cpp | 154 ++ .../fs.op.read_symlink/read_symlink.pass.cpp | 100 + .../fs.op.funcs/fs.op.remove/remove.pass.cpp | 97 + .../fs.op.remove_all/remove_all.pass.cpp | 141 ++ .../fs.op.funcs/fs.op.rename/rename.pass.cpp | 125 ++ .../fs.op.resize_file/resize_file.pass.cpp | 109 ++ .../fs.op.funcs/fs.op.space/space.pass.cpp | 113 ++ .../fs.op.funcs/fs.op.status/status.pass.cpp | 159 ++ .../fs.op.status_known/status_known.pass.cpp | 59 + .../fs.op.symlink_status/symlink_status.pass.cpp | 192 ++ .../fs.op.system_complete/system_complete.pass.cpp | 58 + .../temp_directory_path.pass.cpp | 110 ++ .../fs.req.macros/feature_macro.pass.cpp | 24 + .../filesystem/fs.req.namespace/namespace.pass.cpp | 24 + test/std/experimental/filesystem/lit.local.cfg | 3 + test/support/count_new.hpp | 34 + test/support/filesystem_dynamic_test_helper.py | 85 + test/support/filesystem_test_helper.hpp | 370 ++++ test/support/min_allocator.h | 54 + test/support/rapid-cxx-test.hpp | 847 ++++++++ test/support/test_convertible.hpp | 42 + test/support/test_convertible_header.pass.cpp | 68 + test/support/test_macros.h | 17 + www/ts1z_status.html | 6 +- 147 files changed, 15289 insertions(+), 11 deletions(-) create mode 100644 include/experimental/filesystem create mode 100644 src/experimental/filesystem/directory_iterator.cpp create mode 100644 src/experimental/filesystem/operations.cpp create mode 100644 src/experimental/filesystem/path.cpp create mode 100644 test/libcxx/experimental/filesystem/class.path/path.req/is_path [...] create mode 100644 test/libcxx/experimental/filesystem/lit.local.cfg create mode 100644 test/libcxx/experimental/filesystem/version.pass.cpp create mode 120000 test/std/experimental/filesystem/Inputs/static_test_env/bad_symlink copy include/support/xlocale/xlocale.h => test/std/experimental/filesystem/Inputs/ [...] copy include/support/xlocale/xlocale.h => test/std/experimental/filesystem/Inputs/ [...] copy include/support/xlocale/xlocale.h => test/std/experimental/filesystem/Inputs/ [...] create mode 120000 test/std/experimental/filesystem/Inputs/static_test_env/dir1/di [...] copy include/support/xlocale/xlocale.h => test/std/experimental/filesystem/Inputs/ [...] create mode 100644 test/std/experimental/filesystem/Inputs/static_test_env/dir1/file2 copy include/support/xlocale/xlocale.h => test/std/experimental/filesystem/Inputs/ [...] create mode 100644 test/std/experimental/filesystem/Inputs/static_test_env/non_empty_file create mode 120000 test/std/experimental/filesystem/Inputs/static_test_env/symlink_to_dir create mode 120000 test/std/experimental/filesystem/Inputs/static_test_env/symlink [...] create mode 100644 test/std/experimental/filesystem/class.directory_entry/director [...] create mode 100644 test/std/experimental/filesystem/class.directory_entry/director [...] create mode 100644 test/std/experimental/filesystem/class.directory_entry/director [...] create mode 100644 test/std/experimental/filesystem/class.directory_entry/director [...] create mode 100644 test/std/experimental/filesystem/class.directory_entry/director [...] create mode 100644 test/std/experimental/filesystem/class.directory_entry/director [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/direc [...] create mode 100644 test/std/experimental/filesystem/class.directory_iterator/types [...] create mode 100644 test/std/experimental/filesystem/class.file_status/file_status. [...] create mode 100644 test/std/experimental/filesystem/class.file_status/file_status. [...] create mode 100644 test/std/experimental/filesystem/class.file_status/file_status. [...] create mode 100644 test/std/experimental/filesystem/class.filesystem_error/filesys [...] create mode 100644 test/std/experimental/filesystem/class.path/path.itr/iterator.pass.cpp create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.ap [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.as [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.as [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.as [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.co [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.co [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.co [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.co [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.co [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.co [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.de [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.ge [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.ge [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.mo [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.mo [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.mo [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.mo [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.mo [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.mo [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.na [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.na [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.na [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.na [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.na [...] create mode 100644 test/std/experimental/filesystem/class.path/path.member/path.qu [...] create mode 100644 test/std/experimental/filesystem/class.path/path.nonmember/appe [...] create mode 100644 test/std/experimental/filesystem/class.path/path.nonmember/comp [...] create mode 100644 test/std/experimental/filesystem/class.path/path.nonmember/hash [...] create mode 100644 test/std/experimental/filesystem/class.path/path.nonmember/path [...] create mode 100644 test/std/experimental/filesystem/class.path/path.nonmember/path [...] create mode 100644 test/std/experimental/filesystem/class.path/path.nonmember/path [...] create mode 100644 test/std/experimental/filesystem/class.path/path.nonmember/swap [...] create mode 100644 test/std/experimental/filesystem/class.path/synop.pass.cpp create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr. [...] create mode 100644 test/std/experimental/filesystem/fs.enum/check_bitmask_types.hpp create mode 100644 test/std/experimental/filesystem/fs.enum/enum.copy_options.pass.cpp create mode 100644 test/std/experimental/filesystem/fs.enum/enum.directory_options [...] create mode 100644 test/std/experimental/filesystem/fs.enum/enum.file_type.pass.cpp create mode 100644 test/std/experimental/filesystem/fs.enum/enum.perms.pass.cpp copy test/std/{algorithms/alg.c.library => experimental/filesystem/fs.error.report [...] create mode 100644 test/std/experimental/filesystem/fs.filesystem.synopsis/file_ti [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.absolute/abs [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.canonical/ca [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.copy/copy.pass.cpp create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.copy_file/co [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.copy_symlink [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.create_direc [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.create_direc [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.create_direc [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.create_direc [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.create_hard_ [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.create_symli [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.current_path [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.equivalent/e [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.exists/exist [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.file_size/fi [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.hard_lk_ct/h [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_block_fil [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_char_file [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_directory [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_ [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_fifo/is_f [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_other/is_ [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_regular_f [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_socket/is [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.is_symlink/i [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_t [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.permissions/ [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.read_symlink [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.remove/remov [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.remove_all/r [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.rename/renam [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.resize_file/ [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.space/space. [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.status/statu [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.status_known [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.symlink_stat [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.system_compl [...] create mode 100644 test/std/experimental/filesystem/fs.op.funcs/fs.op.temp_dir_pat [...] create mode 100644 test/std/experimental/filesystem/fs.req.macros/feature_macro.pass.cpp create mode 100644 test/std/experimental/filesystem/fs.req.namespace/namespace.pass.cpp create mode 100644 test/std/experimental/filesystem/lit.local.cfg create mode 100644 test/support/filesystem_dynamic_test_helper.py create mode 100644 test/support/filesystem_test_helper.hpp create mode 100644 test/support/rapid-cxx-test.hpp create mode 100644 test/support/test_convertible.hpp create mode 100644 test/support/test_convertible_header.pass.cpp