mirror of git://gcc.gnu.org/git/gcc.git
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 |
||
|---|---|---|
| .. | ||
| absolute.cc | ||
| all.cc | ||
| canonical.cc | ||
| copy.cc | ||
| copy_file.cc | ||
| create_directories.cc | ||
| create_directory.cc | ||
| create_symlink.cc | ||
| current_path.cc | ||
| equivalent.cc | ||
| exists.cc | ||
| file_size.cc | ||
| is_empty.cc | ||
| last_write_time.cc | ||
| permissions.cc | ||
| proximate.cc | ||
| read_symlink.cc | ||
| relative.cc | ||
| remove.cc | ||
| remove_all.cc | ||
| resize_file.cc | ||
| space.cc | ||
| status.cc | ||
| symlink_status.cc | ||
| temp_directory_path.cc | ||
| weakly_canonical.cc | ||