gcc/libstdc++-v3/testsuite/27_io/filesystem/operations
Jonathan Wakely cf4b581f2e Fix build for systems without POSIX truncate
Older versions of newlib do not provide truncate so add a configure
check for it, and provide a fallback definition.

There were also some missing exports in the linker script, which went
unnoticed because there are no tests for some functions. A new link-only
test checks that every filesystem operation function is defined by the
library.

	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for truncate.
	* config.h.in: Regenerate.
	* config/abi/pre/gnu.ver: Order patterns for filesystem operations
	alphabetically and add missing entries for copy_symlink,
	hard_link_count, rename, and resize_file.
	* configure: Regenerate.
	* src/c++17/fs_ops.cc (resize_file): Remove #if so posix::truncate is
	used unconditionally.
	* src/filesystem/ops-common.h (__gnu_posix::truncate)
	[!_GLIBCXX_HAVE_TRUNCATE]: Provide fallback definition that only
	supports truncating to zero length.
	* testsuite/27_io/filesystem/operations/all.cc: New test.
	* testsuite/27_io/filesystem/operations/resize_file.cc: New test.

From-SVN: r267647
2019-01-07 12:38:51 +00:00
..
absolute.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
all.cc Fix build for systems without POSIX truncate 2019-01-07 12:38:51 +00:00
canonical.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
copy.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
copy_file.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
create_directories.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
create_directory.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
create_symlink.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
current_path.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
equivalent.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
exists.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
file_size.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
is_empty.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
last_write_time.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
permissions.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
proximate.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
read_symlink.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
relative.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
remove.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
remove_all.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
resize_file.cc Fix build for systems without POSIX truncate 2019-01-07 12:38:51 +00:00
space.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
status.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
symlink_status.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
temp_directory_path.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00
weakly_canonical.cc PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so 2019-01-06 22:34:37 +00:00