r267647 - in /trunk/libstdc++-v3: ChangeLog aci...

redi@gcc.gnu.org redi@gcc.gnu.org
Mon Jan 7 12:38:00 GMT 2019


Author: redi
Date: Mon Jan  7 12:38:51 2019
New Revision: 267647

URL: https://gcc.gnu.org/viewcvs?rev=267647&root=gcc&view=rev
Log:
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.

Added:
    trunk/libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc
    trunk/libstdc++-v3/testsuite/27_io/filesystem/operations/resize_file.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/acinclude.m4
    trunk/libstdc++-v3/config.h.in
    trunk/libstdc++-v3/config/abi/pre/gnu.ver
    trunk/libstdc++-v3/configure
    trunk/libstdc++-v3/src/c++17/fs_ops.cc
    trunk/libstdc++-v3/src/filesystem/ops-common.h



More information about the Gcc-cvs mailing list