]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Fri, 3 Sep 2021 00:16:33 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Fri, 3 Sep 2021 00:16:33 +0000 (00:16 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/lto/ChangeLog
gcc/testsuite/ChangeLog
libgcc/ChangeLog
libgfortran/ChangeLog
libstdc++-v3/ChangeLog

index d7f4787467ba847c8d7be9da506072f4cfc310dd..81cbe64b5a8ec2422cace153a2088691ccc05df3 100644 (file)
@@ -1,3 +1,86 @@
+2021-09-02  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/17506
+       PR testsuite/37182
+       * tree-ssa-uninit.c (warn_uninit): Remove conditional guarding note.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Refine
+       fix for PR78185 and continue processing when leaving
+       finite inner loops.
+
+2021-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99591
+       * match.pd: Demote operands of IFN_{ADD,SUB,MUL}_OVERFLOW if they
+       were promoted.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102155
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Iterate
+       over a part of the RPO array and do not recurse here.
+       Dump blocks marked as always executed.
+       (fill_always_executed_in): Walk over the RPO array and
+       process loops whose header we run into.
+       (loop_invariant_motion_in_fun): Compute the first RPO
+       using rev_post_order_and_mark_dfs_back_seme in iteration
+       order and pass that to fill_always_executed_in.
+
+2021-09-02  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386-modes.def (FLOAT_MODE): Define ieee HFmode.
+       * config/i386/i386.c (enum x86_64_reg_class): Add
+       X86_64_SSEHF_CLASS.
+       (merge_classes): Handle X86_64_SSEHF_CLASS.
+       (examine_argument): Ditto.
+       (construct_container): Ditto.
+       (classify_argument): Ditto, and set HFmode/HCmode to
+       X86_64_SSEHF_CLASS.
+       (function_value_32): Return _FLoat16/Complex Float16 by
+       %xmm0.
+       (function_value_64): Return _Float16/Complex Float16 by SSE
+       register.
+       (ix86_print_operand): Handle CONST_DOUBLE HFmode.
+       (ix86_secondary_reload): Require gpr as intermediate register
+       to store _Float16 from sse register when sse4 is not
+       available.
+       (ix86_libgcc_floating_mode_supported_p): Enable _FLoat16 under
+       sse2.
+       (ix86_scalar_mode_supported_p): Ditto.
+       (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Defined.
+       * config/i386/i386.h (VALID_SSE2_REG_MODE): Add HFmode.
+       (VALID_INT_MODE_P): Add HFmode and HCmode.
+       * config/i386/i386.md (*pushhf_rex64): New define_insn.
+       (*pushhf): Ditto.
+       (*movhf_internal): Ditto.
+       * doc/extend.texi (Half-Precision Floating Point): Documemt
+       _Float16 for x86.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102155
+       * tree-ssa-loop-im.c (fill_always_executed_in_1): Iterate
+       over a part of the RPO array and do not recurse here.
+       Dump blocks marked as always executed.
+       (fill_always_executed_in): Walk over the RPO array and
+       process loops whose header we run into.
+       (loop_invariant_motion_in_fun): Compute the first RPO
+       using rev_post_order_and_mark_dfs_back_seme in iteration
+       order and pass that to fill_always_executed_in.
+
+2021-09-02  YunQiang Su  <syq@debian.org>
+
+       Revert:
+       2021-08-31  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * config/mips/mips.c (mips_module_isa_name): New.
+         mips_file_start: add .module mipsREV to all asm output
+
 2021-09-01  Jeff Law  <jlaw@localhost.localdomain>
 
        PR tree-optimization/102152
index c1532a2693f3746ffb136e77b8720849b83829ca..1591e4e43ac2778ba2feb200fae365dd4837a86c 100644 (file)
@@ -1 +1 @@
-20210902
+20210903
index 301e5f42242b8129b024e4d2e6196c3d40cdb48c..34fca8e6825c9d38ab2314967426020f25d2aab0 100644 (file)
@@ -1,3 +1,8 @@
+2021-09-02  liuhongt  <hongtao.liu@intel.com>
+
+       * lto-lang.c (lto_type_for_mode): Return float16_type_node
+       when mode == TYPE_MODE (float16_type_node).
+
 2021-05-31  Martin Liska  <mliska@suse.cz>
 
        * lto-common.c (compare_tree_sccs_1): Compare
index cef16da61a55ab628d5b9d6c6a8887b8b746740e..0d8eb186f473cedde45a81fff06dd6ced221340d 100644 (file)
@@ -1,3 +1,234 @@
+2021-09-02  Sandra Loosemore  <sandra@codesourcery.com>
+           José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100911
+       PR fortran/100915
+       PR fortran/100916
+       * gfortran.dg/PR100911.c: New file.
+       * gfortran.dg/PR100911.f90: New file.
+       * gfortran.dg/PR100914.c: New file.
+       * gfortran.dg/PR100914.f90: New file.
+       * gfortran.dg/PR100915.c: New file.
+       * gfortran.dg/PR100915.f90: New file.
+
+2021-09-02  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gfortran.dg/c-interop/allocatable-dummy-c.c: New file.
+       * gfortran.dg/c-interop/allocatable-dummy.f90: New file.
+       * gfortran.dg/c-interop/allocatable-optional-pointer.f90: New file.
+       * gfortran.dg/c-interop/allocate-c.c: New file.
+       * gfortran.dg/c-interop/allocate-errors-c.c: New file.
+       * gfortran.dg/c-interop/allocate-errors.f90: New file.
+       * gfortran.dg/c-interop/allocate.f90: New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-1.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-2.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-3.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-4.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-5.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-6.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-7.f90:
+       New file.
+       * gfortran.dg/c-interop/argument-association-assumed-rank-8.f90:
+       New file.
+       * gfortran.dg/c-interop/assumed-type-dummy.f90: New file.
+       * gfortran.dg/c-interop/c-interop.exp: New file.
+       * gfortran.dg/c-interop/c1255-1.f90: New file.
+       * gfortran.dg/c-interop/c1255-2.f90: New file.
+       * gfortran.dg/c-interop/c1255a.f90: New file.
+       * gfortran.dg/c-interop/c407a-1.f90: New file.
+       * gfortran.dg/c-interop/c407a-2.f90: New file.
+       * gfortran.dg/c-interop/c407b-1.f90: New file.
+       * gfortran.dg/c-interop/c407b-2.f90: New file.
+       * gfortran.dg/c-interop/c407c-1.f90: New file.
+       * gfortran.dg/c-interop/c516.f90: New file.
+       * gfortran.dg/c-interop/c524a.f90: New file.
+       * gfortran.dg/c-interop/c535a-1.f90: New file.
+       * gfortran.dg/c-interop/c535a-2.f90: New file.
+       * gfortran.dg/c-interop/c535b-1.f90: New file.
+       * gfortran.dg/c-interop/c535b-2.f90: New file.
+       * gfortran.dg/c-interop/c535b-3.f90: New file.
+       * gfortran.dg/c-interop/c535c-1.f90: New file.
+       * gfortran.dg/c-interop/c535c-2.f90: New file.
+       * gfortran.dg/c-interop/c535c-3.f90: New file.
+       * gfortran.dg/c-interop/c535c-4.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-7-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/cf-descriptor-8-c.c: New file.
+       * gfortran.dg/c-interop/cf-descriptor-8.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/cf-out-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/contiguous-1-c.c: New file.
+       * gfortran.dg/c-interop/contiguous-1.f90: New file.
+       * gfortran.dg/c-interop/contiguous-2-c.c: New file.
+       * gfortran.dg/c-interop/contiguous-2.f90: New file.
+       * gfortran.dg/c-interop/contiguous-3-c.c: New file.
+       * gfortran.dg/c-interop/contiguous-3.f90: New file.
+       * gfortran.dg/c-interop/deferred-character-1.f90: New file.
+       * gfortran.dg/c-interop/deferred-character-2.f90: New file.
+       * gfortran.dg/c-interop/dump-descriptors.c: New file.
+       * gfortran.dg/c-interop/dump-descriptors.h: New file.
+       * gfortran.dg/c-interop/establish-c.c: New file.
+       * gfortran.dg/c-interop/establish-errors-c.c: New file.
+       * gfortran.dg/c-interop/establish-errors.f90: New file.
+       * gfortran.dg/c-interop/establish.f90: New file.
+       * gfortran.dg/c-interop/explicit-interface.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-7-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-8-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-8.f90: New file.
+       * gfortran.dg/c-interop/fc-descriptor-9-c.c: New file.
+       * gfortran.dg/c-interop/fc-descriptor-9.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-1-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-2-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-3-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-4-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-5-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-6-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-7-c.c: New file.
+       * gfortran.dg/c-interop/fc-out-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-1.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-2.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-3.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-4.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-5.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-6.f90: New file.
+       * gfortran.dg/c-interop/ff-descriptor-7.f90: New file.
+       * gfortran.dg/c-interop/note-5-3.f90: New file.
+       * gfortran.dg/c-interop/note-5-4-c.c: New file.
+       * gfortran.dg/c-interop/note-5-4.f90: New file.
+       * gfortran.dg/c-interop/optional-c.c: New file.
+       * gfortran.dg/c-interop/optional.f90: New file.
+       * gfortran.dg/c-interop/rank-class.f90: New file.
+       * gfortran.dg/c-interop/rank.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-1.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-2.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-3.f90: New file.
+       * gfortran.dg/c-interop/removed-restrictions-4.f90: New file.
+       * gfortran.dg/c-interop/section-1-c.c: New file.
+       * gfortran.dg/c-interop/section-1.f90: New file.
+       * gfortran.dg/c-interop/section-1p.f90: New file.
+       * gfortran.dg/c-interop/section-2-c.c: New file.
+       * gfortran.dg/c-interop/section-2.f90: New file.
+       * gfortran.dg/c-interop/section-2p.f90: New file.
+       * gfortran.dg/c-interop/section-3-c.c: New file.
+       * gfortran.dg/c-interop/section-3.f90: New file.
+       * gfortran.dg/c-interop/section-3p.f90: New file.
+       * gfortran.dg/c-interop/section-4-c.c: New file.
+       * gfortran.dg/c-interop/section-4.f90: New file.
+       * gfortran.dg/c-interop/section-errors-c.c: New file.
+       * gfortran.dg/c-interop/section-errors.f90: New file.
+       * gfortran.dg/c-interop/select-c.c: New file.
+       * gfortran.dg/c-interop/select-errors-c.c: New file.
+       * gfortran.dg/c-interop/select-errors.f90: New file.
+       * gfortran.dg/c-interop/select.f90: New file.
+       * gfortran.dg/c-interop/setpointer-c.c: New file.
+       * gfortran.dg/c-interop/setpointer-errors-c.c: New file.
+       * gfortran.dg/c-interop/setpointer-errors.f90: New file.
+       * gfortran.dg/c-interop/setpointer.f90: New file.
+       * gfortran.dg/c-interop/shape.f90: New file.
+       * gfortran.dg/c-interop/size.f90: New file.
+       * gfortran.dg/c-interop/tkr.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-basic-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-basic.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-char-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-char.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-float128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-float128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-int128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-int128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-array-longdouble-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-array-longdouble.f90: New file.
+       * gfortran.dg/c-interop/typecodes-sanity-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-sanity.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-basic-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-basic.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-float128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-float128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-int128-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-int128.f90: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-longdouble-c.c: New file.
+       * gfortran.dg/c-interop/typecodes-scalar-longdouble.f90: New file.
+       * gfortran.dg/c-interop/ubound.f90: New file.
+       * lib/target-supports.exp
+       (check_effective_target_fortran_real_c_float128): New function.
+
+2021-09-02  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/17506
+       PR testsuite/37182
+       * gcc.dg/diagnostic-tree-expr-ranges-2.c: Add expected output.
+       * gcc.dg/uninit-15-O0.c: Remove xfail.
+       * gcc.dg/uninit-15.c: Same.
+
+2021-09-02  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * gfortran.dg/gomp/target-device-ancestor-4.f90: Comment out dg-final to avoid
+       UNRESOLVED.
+
+2021-09-02  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/tree-ssa/ssa-lim-16.c: New testcase.
+
+2021-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/99591
+       * gcc.target/i386/pr99591.c: New test.
+       * gcc.target/i386/pr97950.c: Match or reject setb or jn?b instructions
+       together with seta or jn?a.
+
+2021-09-02  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/sse2-float16-1.c: New test.
+       * gcc.target/i386/sse2-float16-2.c: Ditto.
+       * gcc.target/i386/sse2-float16-3.c: Ditto.
+       * gcc.target/i386/float16-5.c: New test.
+
 2021-09-01  Jeff Law  <jlaw@localhost.localdomain>
 
        PR tree-optimization/102152
index 593e642b56fe679807c89126c420e0f0ec70bc6f..5fe8adec99b7b4eca0b8648fcd644d61c1f8e7b9 100644 (file)
@@ -1,3 +1,21 @@
+2021-09-02  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/32/sfp-machine.h (_FP_NANFRAC_H): New macro.
+       * config/i386/64/sfp-machine.h (_FP_NANFRAC_H): Ditto.
+       * config/i386/sfp-machine.h (_FP_NANSIGN_H): Ditto.
+       * config/i386/t-softfp: Add hf soft-fp.
+       * config.host: Add i386/64/t-softfp.
+       * config/i386/64/t-softfp: New file.
+
+2021-09-02  liuhongt  <hongtao.liu@intel.com>
+
+       * soft-fp/eqhf2.c: New file.
+       * soft-fp/extendhfdf2.c: New file.
+       * soft-fp/extendhfsf2.c: New file.
+       * soft-fp/half.h (FP_CMP_EQ_H): New marco.
+       * soft-fp/truncdfhf2.c: New file
+       * soft-fp/truncsfhf2.c: New file
+
 2021-09-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
 
        * unwind-arm-common.inc (abort): Remove.
index 18a4186a04c0d9ae4b827e737a3457638bbbe35e..e27093dac9770f27a39b84588ea03d1f6d67cd81 100644 (file)
@@ -1,3 +1,19 @@
+2021-09-02  Sandra Loosemore  <sandra@codesourcery.com>
+           José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+
+       PR fortran/100907
+       PR fortran/100911
+       PR fortran/100914
+       PR fortran/100915
+       PR fortran/100917
+       * ISO_Fortran_binding-1-tmpl.h (CFI_type_cfunptr): Make equivalent
+       to CFI_type_cptr.
+       * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Fix
+       handling of CFI_type_cptr and CFI_type_cfunptr.  Additional error
+       checking and code cleanup.
+       (gfc_desc_to_cfi_desc): Likewise.  Also correct kind mapping
+       for character, complex, and long double types.
+
 2021-08-27  Iain Sandoe  <iain@sandoe.co.uk>
 
        * Makefile.am: Use configured libm availability.
index e77bac43390b7619af53836d5643285dc807e7ba..47666416818df2635e7e5775c2da457467f50e4a 100644 (file)
@@ -1,3 +1,38 @@
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_base.h (__atomic_base<P*>::compare_exchange_weak):
+       Add new functions.
+       * include/std/atomic (atomic<T*>::compare_exchange_weak): Use
+       it.
+
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/atomic: Tweak whitespace.
+
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/102177
+       * include/bits/atomic_base.h (__is_valid_cmpexch_failure_order):
+       New function to check if a memory order is valid for the failure
+       case of compare exchange operations.
+       (__atomic_base<I>::compare_exchange_weak): Simplify assertions
+       by using __is_valid_cmpexch_failure_order.
+       (__atomic_base<I>::compare_exchange_strong): Likewise.
+       (__atomic_base<P*>::compare_exchange_weak): Likewise.
+       (__atomic_base<P*>::compare_exchange_strong): Likewise.
+       (__atomic_impl::compare_exchange_weak): Add assertion.
+       (__atomic_impl::compare_exchange_strong): Likewise.
+       * include/std/atomic (atomic::compare_exchange_weak): Likewise.
+       (atomic::compare_exchange_strong): Likewise.
+
+2021-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/functional (invoke_r): Define.
+       * include/std/version (__cpp_lib_invoke_r): Define.
+       * testsuite/20_util/function_objects/invoke/version.cc: Check
+       for __cpp_lib_invoke_r as well as __cpp_lib_invoke.
+       * testsuite/20_util/function_objects/invoke/4.cc: New test.
+
 2021-08-31  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/98421