]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Wed, 31 Jul 2024 00:19:44 +0000 (00:19 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Wed, 31 Jul 2024 00:19:44 +0000 (00:19 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/c-family/ChangeLog
gcc/cp/ChangeLog
gcc/testsuite/ChangeLog
libbacktrace/ChangeLog
libstdc++-v3/ChangeLog

index cffd5e4b37911ace2fc4c921a8ffd2aa098ddd0a..197667960b60e7e1f92e53b1c23c1cb3364510dd 100644 (file)
@@ -1,3 +1,105 @@
+2024-07-30  Edwin Lu  <ewlu@rivosinc.com>
+
+       * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
+       Skip b in march string
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Add B assembler check
+
+2024-07-30  Filip Kastl  <fkastl@suse.cz>
+
+       * tree-switch-conversion.cc (can_log2): New static function to
+       check if gen_log2 can be used on current target.
+       (gen_log2): New static function to generate efficient GIMPLE
+       code for taking an exact base 2 log.
+       (gen_pow2p): New static function to generate efficient GIMPLE
+       code for checking if a value is a power of 2.
+       (switch_conversion::switch_conversion): Track if the
+       transformation happened.
+       (switch_conversion::is_exp_index_transform_viable): New function
+       to decide whether the transformation should be applied.
+       (switch_conversion::exp_index_transform): New function to
+       execute the transformation.
+       (switch_conversion::gen_inbound_check): Don't remove the default
+       BB if the transformation happened.
+       (switch_conversion::expand): Execute the transform if it is
+       viable.  Skip the "sufficiently small case range" test if the
+       transformation is going to be executed.
+       * tree-switch-conversion.h: Add is_exp_index_transform_viable
+       and exp_index_transform.
+
+2024-07-30  Gianluca Guida  <gianluca@rivosinc.com>
+           Patrick O'Neill  <patrick@rivosinc.com>
+
+       * common/config/riscv/riscv-common.cc: Add zacas extension.
+       * config/riscv/arch-canonicalize: Make zacas imply zaamo.
+       * config/riscv/riscv.opt: Add zacas.
+       * config/riscv/sync.md (zacas_atomic_cas_value<mode>): New pattern.
+       (atomic_compare_and_swap<mode>): Use new pattern for compare-and-swap ops.
+       (zalrsc_atomic_cas_value_strong<mode>): Rename atomic_cas_value_strong.
+       * doc/sourcebuild.texi: Add Zacas documentation.
+
+2024-07-30  Patrick O'Neill  <patrick@rivosinc.com>
+
+       * common/config/riscv/riscv-common.cc
+       (riscv_subset_list::to_string): Remove zabha configure check
+       handling and clarify zaamo/zalrsc comment.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Remove zabha configure check.
+
+2024-07-30  Jennifer Schmitz  <jschmitz@nvidia.com>
+
+       * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold):
+       Implement strength reduction.
+
+2024-07-30  Georg-Johann Lay  <avr@gjlay.de>
+
+       * doc/extend.texi (AVR Function Attributes): Propose to use
+       attribute signal(n) via AVR-LibC's ISR_N from avr/interrupt.h
+
+2024-07-30  Pan Li  <pan2.li@intel.com>
+
+       * config/riscv/riscv.cc (riscv_expand_ussub): Promote to Xmode
+       instead of Pmode.
+
+2024-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa.cc (xtensa_insn_cost):
+       Add a case statement for TYPE_FARITH.
+
+2024-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa.md (movsf_internal):
+       Reorder alternative that corresponds to L32R machine instruction,
+       and prefix alternatives that correspond to LSI/SSI instructions
+       with the constraint character '^' so that they are disparaged by
+       reload/LRA.
+
+2024-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa-protos.h (xtensa_expand_call):
+       Remove the third argument.
+       * config/xtensa/xtensa.cc (xtensa_expand_call):
+       Remove the third argument and the code that uses it.
+       * config/xtensa/xtensa.md (call, call_value, sibcall, sibcall_value):
+       Remove each Boolean constant specified in the third argument of
+       xtensa_expand_call.
+       (sibcall_epilogue): Add emitting '(use A0_REG)' after calling
+       xtensa_expand_epilogue.
+
+2024-07-30  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/116043
+       * config/i386/constraints.md (Bk): Refine to
+       define_special_memory_constraint.
+
+2024-07-30  Haochen Jiang  <haochen.jiang@intel.com>
+
+       * config/i386/prfchiintrin.h
+       (_m_prefetchit0): Add macro for non-optimized option.
+       (_m_prefetchit1): Ditto.
+
 2024-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
 
        * config/xtensa/predicates.md
index d42ae94bcd37d939721b699910519d1d2d77104d..e2dab5541a03d970a5b11b5b8dfc65f91dac0df3 100644 (file)
@@ -1 +1 @@
-20240730
+20240731
index daca845240e4c462637ccf09b7704cf779018cde..f91f1bb6379c31f43047e74e1e555096da510a21 100644 (file)
@@ -1,3 +1,7 @@
+2024-07-30  Paul-Antoine Arras  <parras@baylibre.com>
+
+       * c-format.cc (gcc_gfc_char_table): Add formats for tree objects.
+
 2024-07-23  Andi Kleen  <ak@linux.intel.com>
 
        * c-attribs.cc (set_musttail_on_return): New function.
index 1d71bd487426b59a0cdfc29b512e839bb5273807..e05e79d501394d075a9dcd3a69e3d8314350ccb8 100644 (file)
@@ -1,3 +1,23 @@
+2024-07-30  Arsen Arsenović  <arsen@aarsen.me>
+
+       PR c++/115906
+       * parser.cc (cp_parser_unary_expression): Reject await
+       expressions if use of local variables is currently forbidden.
+       (cp_parser_yield_expression): Reject yield expressions if use of
+       local variables is currently forbidden.
+
+2024-07-30  Arsen Arsenovic  <arsen@aarsen.me>
+
+       PR c++/115906
+       * coroutines.cc (register_local_var_uses): Only process
+       PARM_DECL and VAR_DECLs.
+
+2024-07-30  Arsen Arsenović  <arsen@aarsen.me>
+
+       PR c++/110855
+       * cp-gimplify.cc (fold_builtin_source_location): Use the name of
+       the DECL_RAMP_FN of the current function if present.
+
 2024-07-29  Patrick Palka  <ppalka@redhat.com>
 
        PR c++/88313
index 0080c412779322818d12ce6899c30b8ebed5a5f0..5afe9167ef9d0aed042c6fd6e5301c48fe14573a 100644 (file)
@@ -1,3 +1,211 @@
+2024-07-30  Sam James  <sam@gentoo.org>
+
+       PR target/68015
+       PR c++/83979
+       * c-c++-common/goacc/loop-shape.c: Fix 'dg-compile' typo.
+       * g++.dg/pr83979.C: Likewise.
+       * g++.target/aarch64/sve/acle/general-c++/attributes_2.C: Likewise.
+       * gcc.dg/tree-ssa/builtin-sprintf-7.c: Likewise.
+       * gcc.dg/tree-ssa/builtin-sprintf-8.c: Likewise.
+       * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-char.c: Likewise.
+       * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-short.c: Likewise.
+       * gcc.target/s390/20181024-1.c: Likewise.
+       * gcc.target/s390/addr-constraints-1.c: Likewise.
+       * gcc.target/s390/arch12/aghsghmgh-1.c: Likewise.
+       * gcc.target/s390/arch12/mul-1.c: Likewise.
+       * gcc.target/s390/arch13/bitops-1.c: Likewise.
+       * gcc.target/s390/arch13/bitops-2.c: Likewise.
+       * gcc.target/s390/arch13/fp-signedint-convert-1.c: Likewise.
+       * gcc.target/s390/arch13/fp-unsignedint-convert-1.c: Likewise.
+       * gcc.target/s390/arch13/popcount-1.c: Likewise.
+       * gcc.target/s390/pr68015.c: Likewise.
+       * gcc.target/s390/vector/fp-signedint-convert-1.c: Likewise.
+       * gcc.target/s390/vector/fp-unsignedint-convert-1.c: Likewise.
+       * gcc.target/s390/vector/reverse-elements-1.c: Likewise.
+       * gcc.target/s390/vector/reverse-elements-2.c: Likewise.
+       * gcc.target/s390/vector/reverse-elements-3.c: Likewise.
+       * gcc.target/s390/vector/reverse-elements-4.c: Likewise.
+       * gcc.target/s390/vector/reverse-elements-5.c: Likewise.
+       * gcc.target/s390/vector/reverse-elements-6.c: Likewise.
+       * gcc.target/s390/vector/reverse-elements-7.c: Likewise.
+       * gnat.dg/alignment15.adb: Likewise.
+       * gnat.dg/debug4.adb: Likewise.
+       * gnat.dg/inline21.adb: Likewise.
+       * gnat.dg/inline22.adb: Likewise.
+       * gnat.dg/opt37.adb: Likewise.
+       * gnat.dg/warn13.adb: Likewise.
+
+2024-07-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/51492
+       * gcc.target/i386/pr51492.c: New test.
+
+2024-07-30  Sam James  <sam@gentoo.org>
+
+       PR middle-end/54400
+       PR target/98161
+       * gcc.dg/vect/bb-slp-layout-18.c: Fix whitespace in dg directive.
+       * gcc.dg/vect/bb-slp-pr54400.c: Likewise.
+       * gcc.target/i386/pr98161.c: Likewise.
+
+2024-07-30  Filip Kastl  <fkastl@suse.cz>
+
+       * gcc.dg/tree-ssa/switch-3.c: Disable switch conversion.
+       * gcc.target/i386/switch-exp-transform-1.c: New test.
+       * gcc.target/i386/switch-exp-transform-2.c: New test.
+       * gcc.target/i386/switch-exp-transform-3.c: New test.
+
+2024-07-30  Sam James  <sam@gentoo.org>
+
+       * gcc.target/aarch64/simd/vmmla.c: Fix whitespace in dg directive.
+
+2024-07-30  Sam James  <sam@gentoo.org>
+
+       PR preprocessor/90581
+       * c-c++-common/cpp/fmax-include-depth.c: Fix whitespace in dg directive.
+
+2024-07-30  Sam James  <sam@gentoo.org>
+
+       PR rtl-optimization/48633
+       PR tree-optimization/83072
+       PR tree-optimization/83073
+       PR tree-optimization/96542
+       PR tree-optimization/96707
+       PR tree-optimization/97567
+       PR target/69225
+       PR target/89929
+       PR target/96562
+       * g++.dg/pr48633.C: Fix whitespace in dg directive.
+       * g++.dg/pr96707.C: Likewise.
+       * g++.target/i386/mv28.C: Likewise.
+       * gcc.dg/Warray-bounds-flex-arrays-1.c: Likewise.
+       * gcc.dg/pr83072-2.c: Likewise.
+       * gcc.dg/pr83073.c: Likewise.
+       * gcc.dg/pr96542.c: Likewise.
+       * gcc.dg/pr97567-2.c: Likewise.
+       * gcc.target/i386/avx512fp16-11a.c: Likewise.
+       * gcc.target/i386/avx512fp16-13.c: Likewise.
+       * gcc.target/i386/avx512fp16-14.c: Likewise.
+       * gcc.target/i386/avx512fp16-conjugation-1.c: Likewise.
+       * gcc.target/i386/avx512fp16-neg-1a.c: Likewise.
+       * gcc.target/i386/avx512fp16-set1-pch-1a.c: Likewise.
+       * gcc.target/i386/avx512fp16vl-conjugation-1.c: Likewise.
+       * gcc.target/i386/avx512fp16vl-neg-1a.c: Likewise.
+       * gcc.target/i386/avx512fp16vl-set1-pch-1a.c: Likewise.
+       * gcc.target/i386/avx512vlfp16-11a.c: Likewise.
+       * gcc.target/i386/pr69225-1.c: Likewise.
+       * gcc.target/i386/pr69225-2.c: Likewise.
+       * gcc.target/i386/pr69225-3.c: Likewise.
+       * gcc.target/i386/pr69225-4.c: Likewise.
+       * gcc.target/i386/pr69225-5.c: Likewise.
+       * gcc.target/i386/pr69225-6.c: Likewise.
+       * gcc.target/i386/pr69225-7.c: Likewise.
+       * gcc.target/i386/pr96562-1.c: Likewise.
+       * gcc.target/riscv/rv32e_stack.c: Likewise.
+       * gfortran.dg/c-interop/removed-restrictions-3.f90: Likewise.
+       * gnat.dg/renaming1.adb: Likewise.
+
+2024-07-30  Gianluca Guida  <gianluca@rivosinc.com>
+           Patrick O'Neill  <patrick@rivosinc.com>
+
+       * lib/target-supports.exp: Add zacas testsuite infra support.
+       * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c:
+       Remove zacas to continue to test the lr/sc pairs.
+       * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto.
+       * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto.
+       * gcc.target/riscv/amo/zabha-zacas-preferred-over-zalrsc.c: New test.
+       * gcc.target/riscv/amo/zacas-char-requires-zabha.c: New test.
+       * gcc.target/riscv/amo/zacas-char-requires-zacas.c: New test.
+       * gcc.target/riscv/amo/zacas-preferred-over-zalrsc.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acq-rel.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acquire.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-relaxed.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-release.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-seq-cst.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping-no-fence.c:
+       New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping.cc: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acq-rel.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acquire.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-relaxed.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-release.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-seq-cst.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acq-rel.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acquire.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-relaxed.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-release.c: New test.
+       * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-seq-cst.c: New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char-seq-cst.c: New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char.c: New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping-no-fence.c:
+       New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping.cc: New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int-seq-cst.c: New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int.c: New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short-seq-cst.c: New test.
+       * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short.c: New test.
+
+2024-07-30  Arsen Arsenović  <arsen@aarsen.me>
+
+       PR c++/115906
+       * g++.dg/coroutines/pr115906-yield.C: New test.
+       * g++.dg/coroutines/pr115906.C: New test.
+       * g++.dg/coroutines/co-await-syntax-02-outside-fn.C: Don't rely
+       on default arguments.
+       * g++.dg/coroutines/co-yield-syntax-01-outside-fn.C: Ditto.
+
+2024-07-30  Arsen Arsenovic  <arsen@aarsen.me>
+
+       PR c++/115906
+       * g++.dg/coroutines/coro-function-decl.C: New test.
+
+2024-07-30  Jennifer Schmitz  <jschmitz@nvidia.com>
+
+       * gcc.target/aarch64/sve/div_const_run.c: New test.
+       * gcc.target/aarch64/sve/acle/asm/div_s32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/div_s64.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/div_u32.c: Likewise.
+       * gcc.target/aarch64/sve/acle/asm/div_u64.c: Likewise.
+
+2024-07-30  Arsen Arsenović  <arsen@aarsen.me>
+
+       PR c++/110855
+       * g++.dg/coroutines/pr110855.C: New test.
+
+2024-07-30  Sam James  <sam@gentoo.org>
+
+       PR c/53548
+       PR target/101529
+       PR tree-optimization/102359
+       * c-c++-common/fam-in-union-alone-in-struct-1.c: Fix whitespace in dg directive.
+       * c-c++-common/fam-in-union-alone-in-struct-2.c: Likewise.
+       * c-c++-common/torture/builtin-shufflevector-2.c: Likewise.
+       * g++.dg/pr102359_2.C: Likewise.
+       * g++.target/i386/mvc1.C: Likewise.
+
+2024-07-30  Tobias Burnus  <tburnus@baylibre.com>
+
+       * gfortran.dg/compiler-directive_2.f: Update dg-error.
+
+2024-07-30  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr116043.c: New test.
+
+2024-07-30  Haochen Jiang  <haochen.jiang@intel.com>
+
+       * gcc.target/i386/prefetchi-1b.c: New test.
+
 2024-07-29  Sam James  <sam@gentoo.org>
 
        PR ipa/111613
index 5aa070d3182019d00b9ea5bdef47884a82bae852..0a559eede03c31598b9f4f36c7558a3f5bd77872 100644 (file)
@@ -1,3 +1,9 @@
+2024-07-30  Ian Lance Taylor  <iant@golang.org>
+
+       * pecoff.c (LDR_DLL_NOTIFICATION): Put function modifier
+       inside parentheses.
+       (LDR_REGISTER_FUNCTION): Likewise.
+
 2024-07-18  Ian Lance Taylor  <iant@golang.org>
 
        * internal.h: Use __has_attribute to check for fallthrough
index 66bb4d99db37059c30f6f87d26b1f91f550a118e..acfc04d838436d8bff0fe7131424ed4197b3ac5f 100644 (file)
@@ -1,3 +1,71 @@
+2024-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/chrono_io.h (__local_time_fmt_for): New alias
+       template.
+       (formatter<zoned_time<D, P>>): Use __local_time_fmt_for.
+       * testsuite/std/time/zoned_time/io.cc: Check zoned_time<minutes>
+       can be formatted.
+
+2024-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/chrono_io.h (__local_fmt_t): Remove unused
+       declaration.
+       (__formatter_chrono::_M_format_to_ostream): Add explicit
+       handling for specializations of __local_time_fmt, including the
+       time zone abbreviation in the output if __is_neg is true.
+       (formatter<chrono::tai_time<D>>::format): Add comment.
+       (formatter<chrono::gps_time<D>>::format): Likewise.
+       (formatter<chrono::__detail::__local_time_fmt::format): Call
+       _M_format with true for the __is_neg flag.
+       * testsuite/std/time/clock/gps/io.cc: Remove unused variable.
+       * testsuite/std/time/clock/local/io.cc: Fix test error that
+       checked tai_time instead of local_time. Add tests for
+       local-time-format-t formatting.
+       * testsuite/std/time/clock/system/io.cc: Check empty
+       chrono-specs.
+       * testsuite/std/time/clock/tai/io.cc: Likewise.
+       * testsuite/std/time/zoned_time/io.cc: Likewise.
+
+2024-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/expected (expected(U&&), operator=(U&&))
+       (value_or): Use remove_cv_t on default template argument, as per
+       LWG 3886.
+       * include/std/optional (optional(U&&), operator=(U&&))
+       (value_or): Likewise.
+       * testsuite/20_util/expected/lwg3886.cc: New test.
+       * testsuite/20_util/optional/cons/lwg3886.cc: New test.
+
+2024-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_ops.cc: Fix file name in comment.
+
+2024-07-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor
+       parameter from const path& to const wchar_t*.
+       (fs::equiv_files): New function.
+       (fs::equivalent): Use equiv_files.
+       * src/filesystem/ops-common.h (fs::equiv_files): Declare.
+       (do_copy_file): Use equiv_files.
+       * src/filesystem/ops.cc (fs::equiv_files): Define.
+       (fs::copy, fs::equivalent): Use equiv_files.
+       * testsuite/27_io/filesystem/operations/copy.cc: Test
+       overwriting directory contents recursively.
+       * testsuite/27_io/filesystem/operations/copy_file.cc: Test
+       overwriting existing files.
+
+2024-07-30  Lennox Shou Hao Ho  <lennoxhoe@gmail.com>
+
+       PR libstdc++/113663
+       * src/c++17/fs_ops.cc (fs::equivalent): Moved helper class
+       auto_handle to anonymous namespace as auto_win_file_handle.
+       (fs::hard_link_count): Changed Windows implementation to use
+       information provided by GetFileInformationByHandle which is more
+       reliable.
+       * testsuite/27_io/filesystem/operations/hard_link_count.cc: New
+       test.
+
 2024-07-29  Thomas Schwinge  <tschwinge@baylibre.com>
 
        * testsuite/lib/libstdc++.exp (file-io-diff): Polish.