]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 5 Oct 2023 00:20:16 +0000 (00:20 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 5 Oct 2023 00:20:16 +0000 (00:20 +0000)
gcc/DATESTAMP
libstdc++-v3/ChangeLog

index 32b8a8b69120bab4c60ea6220a7ac58249205b6f..4d6ec8016114f9de6618caab590138368e23885d 100644 (file)
@@ -1 +1 @@
-20231004
+20231005
index fa2d9e3c93b28b40e6dead322aab8bfae7739be2..f47e175310040b7142785c244ec72ecb9f977ca8 100644 (file)
@@ -1,3 +1,273 @@
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
+       Add -O2 to dg-options.
+       * testsuite/20_util/integer_comparisons/greater_neg.cc:
+       Likewise.
+       * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
+       Likewise.
+       * testsuite/lib/prune.exp: Prune 'in constexpr expansion'.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-02-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/27_io/filesystem/iterators/97731.cc: New test.
+       * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
+       Check follow_directory_symlink option.
+       * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
+       Likewise.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2023-06-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/108178
+       * src/filesystem/ops-common.h (do_copy_file): Check for empty
+       files by trying to read a character.
+       * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
+       New test.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2023-06-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
+       close-on-exec flag on file descriptors.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2023-03-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
+       formatting.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2023-02-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
+       errc::function_not_supported instead of errc::not_supported.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-06-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
+       Always store pathname if we don't have openat or unlinkat,
+       because the full path is needed to open sub-directories and
+       remove entries.
+
+2023-10-04  Alexandre Oliva  <oliva@adacore.com>
+
+       Backported from master:
+       2022-06-27  Alexandre Oliva  <oliva@adacore.com>
+
+       * src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
+       _GLIBCXX_HAVE_OPENAT.
+
+2023-10-04  Alexandre Oliva  <oliva@adacore.com>
+
+       Backported from master:
+       2022-06-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
+       openat.
+       * configure, config.h.in: Rebuilt.
+       * src/filesystem/dir-common.h (openat): Use ::openat if
+       _GLIBCXX_HAVE_OPENAT.
+       * src/filesystem/dir.cc (dir_and_pathname): Use dirfd if
+       _GLIBCXX_HAVE_OPENAT.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-02-10  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine
+       when <dirent.h> is not available.
+       (_GLIBCXX_HAVE_UNLINKAT):  Likewise.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-02-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first
+       parameter to _Dir_base&&.
+       * src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove.
+       * src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first
+       parameter to _Dir_base&&.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-02-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/104161
+       * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase):
+       [i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member,
+       instead of checking for errno values indicating a directory.
+       * src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar
+       logic to non-throwing overload.
+       (fs::remove_all(const path&, error_code&)): Add comments.
+       * src/filesystem/ops-common.h: Likewise.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/dir-common.h (_Dir_base::openat): Change return
+       type to use portable posix::DIR alias.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/104161
+       * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
+       and unlinkat.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * include/bits/fs_dir.h (recursive_directory_iterator): Declare
+       remove_all overloads as friends.
+       (recursive_directory_iterator::__erase): Declare new member
+       function.
+       * include/bits/fs_fwd.h (remove, remove_all): Declare.
+       * src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
+       constructor. Pass file descriptor argument to base constructor.
+       (_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
+       (_Dir::unlink, _Dir::rmdir): Define new member functions.
+       (directory_iterator): Pass filename_only argument to _Dir
+       constructor.
+       (recursive_directory_iterator::_Dir_stack): Adjust constructor
+       parameters to take a _Dir rvalue instead of creating one.
+       (_Dir_stack::orig): Add data member for storing original path.
+       (_Dir_stack::report_error): Define new member function.
+       (__directory_iterator_nofollow): Move here from dir-common.h and
+       fix value to be a power of two.
+       (__directory_iterator_filename_only): Define new constant.
+       (recursive_directory_iterator): Construct _Dir object and move
+       into _M_dirs stack. Pass skip_permission_denied argument to first
+       advance call.
+       (recursive_directory_iterator::increment): Use _Dir::open_subdir.
+       (recursive_directory_iterator::__erase): Define new member
+       function.
+       * src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
+       (fs::remove_all): Use new recursive_directory_iterator::__erase
+       member function.
+       * src/filesystem/dir-common.h (_Dir_base): Add int parameter to
+       constructor and use openat to implement nofollow semantics.
+       (_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
+       Define new member functions.
+       (__directory_iterator_nofollow): Move to fs_dir.cc.
+       * src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
+       base constructor.
+       (_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
+       functions.
+       (recursive_directory_iterator::_Dir_stack): Adjust constructor
+       parameters to take a _Dir rvalue instead of creating one.
+       (recursive_directory_iterator): Check for new nofollow option.
+       Construct _Dir object and move into _M_dirs stack. Pass
+       skip_permission_denied argument to first advance call.
+       (recursive_directory_iterator::increment): Use _Dir::open_subdir.
+       * src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2022-01-25  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/104161
+       * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
+       fdopendir.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
+       and pass it to base class constructor.
+       (directory_iterator): Pass nofollow flag to _Dir constructor.
+       (fs::recursive_directory_iterator::increment): Likewise.
+       * src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
+       directory_iterator constructor. Move error check outside loop.
+       * src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
+       constructor and when it's set use ::open with O_NOFOLLOW and
+       O_DIRECTORY.
+       * src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
+       and pass it to base class constructor.
+       (directory_iterator): Pass nofollow flag to _Dir constructor.
+       (fs::recursive_directory_iterator::increment): Likewise.
+       * src/filesystem/ops.cc (remove_all): Use nofollow option for
+       directory_iterator constructor. Move error check outside loop.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2021-10-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_ops.cc (create_directory): Fix typo in enum name.
+       * src/filesystem/ops-common.h (__last_system_error): Add
+       explicit cast to avoid narrowing conversion.
+       (do_space): Fix type in function name.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/99327
+       * src/filesystem/ops-common.h (__unsupported): New function to
+       return a suitable error code for missing functionality.
+       (posix::off_t): New typedef.
+       (posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op
+       fallback implementations.
+       (do_copy_file): Replace uses of errc::not_supported.
+       * src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir)
+       (fs::create_directory, fs::create_directory_symlink)
+       (fs::create_hard_link, fs::create_symlink, fs::current_path)
+       (fs::equivalent, do_stat, fs::file_size, fs::hard_link_count)
+       (fs::last_write_time, fs::permissions, fs::read_symlink):
+       Replace uses of errc::not_supported.
+       (fs::resize_file): Qualify off_t.
+       * src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir)
+       (fs::create_directory, fs::create_directory_symlink)
+       (fs::create_hard_link, fs::create_symlink, fs::current_path)
+       (fs::equivalent, do_stat, fs::file_size, fs::last_write_time)
+       (fs::permissions, fs::read_symlink, fs::system_complete):
+       Replace uses of errc::not_supported.
+       (fs::resize_file): Qualify off_t and enable unconditionally.
+       * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Backported from master:
+       2021-10-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/filesystem/ops-common.h (last_error): New helper function.
+       (filesystem::do_space): Use last_error().
+       * src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link)
+       (fs::equivalent, fs::remove, fs::temp_directory_path): Use
+       last_error().
+       * src/filesystem/ops.cc (fs::create_hard_link)
+       (fs::remove, fs::temp_directory_path): Likewise.
+
+2023-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       Revert:
+       2023-03-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_ops.cc [AVR] (not_supported): Define as a macro
+       for function_not_supported.
+       * src/filesystem/ops-common.h [AVR] (ENOTSUP): Define as a macro
+       for ENOSYS.
+
 2023-10-02  Tim Song  <t.canens.cpp@gmail.com>
 
        Backported from master: