]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 27 Aug 2022 00:17:09 +0000 (00:17 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 27 Aug 2022 00:17:09 +0000 (00:17 +0000)
13 files changed:
contrib/ChangeLog
gcc/ChangeLog
gcc/DATESTAMP
gcc/c-family/ChangeLog
gcc/c/ChangeLog
gcc/cp/ChangeLog
gcc/fortran/ChangeLog
gcc/testsuite/ChangeLog
libcpp/ChangeLog
libgcc/ChangeLog
libgfortran/ChangeLog
libgomp/ChangeLog
libstdc++-v3/ChangeLog

index 60a08cff5181b54ec0fe864db3cf843b9430bd1e..4ee88c5fb9d639450ea87334e2c1784e32e5e360 100644 (file)
@@ -1,3 +1,7 @@
+2022-08-26  Martin Liska  <mliska@suse.cz>
+
+       * config-list.mk: Remove cr16.
+
 2022-08-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
 
        * clang-format: Add further FOR_EACH_ macros.
index fb8589587ec61d6adc0d6adfc7bccb59864fbde9..f2b8efbf5a4e6f09d9f2e9cf68f1cc11fecfbbb5 100644 (file)
@@ -1,3 +1,132 @@
+2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * real.cc (real_iszero): New.
+       * real.h (real_iszero): New.
+
+2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * real.cc (real_isinf): New overload.
+       (real_inf): Add sign argument.
+       * real.h (real_isinf): New overload.
+       (real_inf): Add sign argument.
+
+2022-08-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/81159
+       * doc/invoke.texi: Document -Wself-move.
+
+2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (vrange::set): Set varying.
+       (vrange::set_nonzero): Same.
+       (vrange::set_zero): Same.
+       (vrange::set_nonnegative): Same.
+
+2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op-float.cc (foperator_equal::op1_range): Do not blindly
+       copy op2 range when honoring signed zeros.
+
+2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
+       add newline.
+       (profitable_path_p): Same.
+
+2022-08-26  Richard Biener  <rguenther@suse.de>
+
+       * gimple-predicate-analysis.h
+       (uninit_analysis::use_cannot_happen): Remove.
+       * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
+       (uninit_analysis::use_cannot_happen): Likewise.
+       (uninit_analysis::is_use_guarded): Do not call
+       use_cannot_happen.
+       (dump_predicates): Remove.
+       (simple_control_dep_chain): Remove edge overload.
+
+2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * internal-fn.cc (expand_GOMP_TARGET_REV): New.
+       * internal-fn.def (GOMP_TARGET_REV): New.
+       * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
+       'omp target device_ancestor_host' as in_other_partition and don't
+       error if absent.
+       * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
+       * omp-expand.cc (expand_omp_target): For reverse offload, remove
+       sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
+       empty-body nohost function.
+       * omp-offload.cc (execute_omp_device_lower): Handle
+       IFN_GOMP_TARGET_REV.
+       (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
+       nullify fn argument for reverse offload
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
+       * builtins.cc (expand_builtin_issignaling): New function.
+       (expand_builtin_signbit): Don't overwrite target.
+       (expand_builtin): Handle BUILT_IN_ISSIGNALING.
+       (fold_builtin_classify): Likewise.
+       (fold_builtin_1): Likewise.
+       * optabs.def (issignaling_optab): New.
+       * fold-const-call.cc (fold_const_call_ss): Handle
+       BUILT_IN_ISSIGNALING.
+       * config/i386/i386.md (issignalingxf2): New expander.
+       * doc/extend.texi (__builtin_issignaling): Document.
+       (__builtin_isinf, __builtin_isnan): Clarify behavior with
+       -ffinite-math-only.
+       * doc/md.texi (issignaling<mode>2): Likewise.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/106099
+       * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
+       * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
+       __builtin_trap to avoid the need of vops.
+
+2022-08-26  Richard Biener  <rguenther@suse.de>
+
+       * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
+       New helper.
+       (compute_control_dep_chain): Adjust to honor marked region
+       if provided.
+       (uninit_analysis::init_from_phi_def): Pre-mark the dominating
+       region to improve compute_control_dep_chain walking.
+       * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
+
+2022-08-26  Richard Biener  <rguenther@suse.de>
+
+       * gimple-predicate-analysis.cc
+       (uninit_analysis::collect_phi_def_edges): Only expand a
+       PHI def edge when it is possibly undefined.
+
+2022-08-26  Martin Liska  <mliska@suse.cz>
+
+       * doc/extend.texi: Remove cr16 related stuff.
+       * doc/install.texi: Likewise.
+       * doc/invoke.texi: Likewise.
+       * doc/md.texi: Likewise.
+       * function-tests.cc (test_expansion_to_rtl): Likewise.
+       * common/config/cr16/cr16-common.cc: Removed.
+       * config/cr16/constraints.md: Removed.
+       * config/cr16/cr16-protos.h: Removed.
+       * config/cr16/cr16.cc: Removed.
+       * config/cr16/cr16.h: Removed.
+       * config/cr16/cr16.md: Removed.
+       * config/cr16/cr16.opt: Removed.
+       * config/cr16/predicates.md: Removed.
+       * config/cr16/t-cr16: Removed.
+
+2022-08-26  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/106704
+       * config/i386/i386-builtin.def (BDESC): Add
+       CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
+       corresponding builtins.
+       * config/i386/i386.cc (ix86_gimple_fold_builtin):
+       Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
+       IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
+
 2022-08-25  Marek Polacek  <polacek@redhat.com>
 
        * ginclude/stddef.h: Define nullptr_t.
index d51496b47e3944d0d35512868e6e85219fc6d8d7..bdd286f5e87f7a8fc9da7456ce534d566b1e6b84 100644 (file)
@@ -1 +1 @@
-20220826
+20220827
index a70ec0aabcf8fc42caf8c3bc3762eb21e0e9802c..f76581e82cfdc5a9bc993d47dfd6f949233c975c 100644 (file)
@@ -1,3 +1,19 @@
+2022-08-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/81159
+       * c.opt (Wself-move): New option.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-common.cc (check_builtin_function_arguments): Handle
+       BUILT_IN_ISSIGNALING.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106648
+       * c-cppbuiltin.cc (c_cpp_builtins): Predefine
+       __cpp_named_character_escapes to 202207L.
+
 2022-08-25  Marek Polacek  <polacek@redhat.com>
 
        * c-common.cc (c_common_reswords): Enable nullptr in C2X.
index 2f0eb8d542fd6d763f259db68ec686f741655001..7095ebbc47c2a67d16b8e05fc69b79e4dc13d0a4 100644 (file)
@@ -1,3 +1,7 @@
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-typeck.cc (convert_arguments): Handle BUILT_IN_ISSIGNALING.
+
 2022-08-25  Marek Polacek  <polacek@redhat.com>
 
        * c-convert.cc (c_convert) <case POINTER_TYPE>: Handle NULLPTR_TYPE.
index 0b2763d4384ed6eafbc7992217a15e4db2c86623..71fb7dbb18a11b10cb8ed5536592541a358e97f6 100644 (file)
@@ -1,3 +1,9 @@
+2022-08-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/81159
+       * typeck.cc (maybe_warn_self_move): New.
+       (cp_build_modify_expr): Call maybe_warn_self_move.
+
 2022-08-25  Marek Polacek  <polacek@redhat.com>
 
        * cp-tree.h (enum cp_tree_index): Remove CTI_NULLPTR, CTI_NULLPTR_TYPE.
index 631738b9684c3fe507e1d1f319481a68d2129574..8216d3b577c3018383bc27622eed9403b1b589b4 100644 (file)
@@ -1,3 +1,29 @@
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/106579
+       * trans-intrinsic.cc: Include realmpfr.h.
+       (conv_intrinsic_ieee_value): New function.
+       (gfc_conv_ieee_arithmetic_function): Handle ieee_value.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/106579
+       * f95-lang.cc (gfc_init_builtin_functions): Initialize
+       BUILT_IN_FPCLASSIFY.
+       * libgfortran.h (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN,
+       IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL,
+       IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL,
+       IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL,
+       IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF):
+       New enum.
+       * trans-intrinsic.cc (conv_intrinsic_ieee_class): New function.
+       (gfc_conv_ieee_arithmetic_function): Handle ieee_class.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * f95-lang.cc (gfc_init_builtin_functions): Initialize
+       BUILT_IN_ISSIGNALING.
+
 2022-08-25  Tobias Burnus  <tobias@codesourcery.com>
 
        * parse.cc (parse_omp_structured_block): When parsing strictly
index af5de871f2d44953222fdf4da87fdbaed9e887c7..0f77e5c3903fcb1d234aa1c76c9e1daa089a06cf 100644 (file)
@@ -1,3 +1,104 @@
+2022-08-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/81159
+       * g++.dg/warn/Wself-move1.C: New test.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106647
+       * g++.dg/cpp23/wchar-multi1.C: New test.
+       * g++.dg/cpp23/wchar-multi2.C: New test.
+
+2022-08-26  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/uninit-pred-11.c: New testcase.
+
+2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-c++-common/gomp/reverse-offload-1.c: Remove dg-sorry.
+       * c-c++-common/gomp/target-device-ancestor-4.c: Likewise.
+       * gfortran.dg/gomp/target-device-ancestor-4.f90: Likewise.
+       * gfortran.dg/gomp/target-device-ancestor-5.f90: Likewise.
+       * c-c++-common/goacc/classify-kernels-parloops.c: Add 'noclone' to
+       scan-tree-dump-times.
+       * c-c++-common/goacc/classify-kernels-unparallelized-parloops.c:
+       Likewise.
+       * c-c++-common/goacc/classify-kernels-unparallelized.c: Likewise.
+       * c-c++-common/goacc/classify-kernels.c: Likewise.
+       * c-c++-common/goacc/classify-parallel.c: Likewise.
+       * c-c++-common/goacc/classify-serial.c: Likewise.
+       * c-c++-common/goacc/kernels-counter-vars-function-scope.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-2.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-3.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-data-2.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-data-enter-exit.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-data-update.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-data.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-g.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-n.c: Likewise.
+       * c-c++-common/goacc/kernels-loop-nest.c: Likewise.
+       * c-c++-common/goacc/kernels-loop.c: Likewise.
+       * c-c++-common/goacc/kernels-one-counter-var.c: Likewise.
+       * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: Likewise.
+       * gfortran.dg/goacc/classify-kernels-parloops.f95: Likewise.
+       * gfortran.dg/goacc/classify-kernels-unparallelized-parloops.f95:
+       Likewise.
+       * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise.
+       * gfortran.dg/goacc/classify-kernels.f95: Likewise.
+       * gfortran.dg/goacc/classify-parallel.f95: Likewise.
+       * gfortran.dg/goacc/classify-serial.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop-2.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop-data.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop-n.f95: Likewise.
+       * gfortran.dg/goacc/kernels-loop.f95: Likewise.
+       * gfortran.dg/goacc/kernels-parallel-loop-data-enter-exit.f95: Likewise.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/torture/builtin-issignaling-1.c: New test.
+       * gcc.dg/torture/builtin-issignaling-2.c: New test.
+       * gcc.dg/torture/float16-builtin-issignaling-1.c: New test.
+       * gcc.dg/torture/float32-builtin-issignaling-1.c: New test.
+       * gcc.dg/torture/float32x-builtin-issignaling-1.c: New test.
+       * gcc.dg/torture/float64-builtin-issignaling-1.c: New test.
+       * gcc.dg/torture/float64x-builtin-issignaling-1.c: New test.
+       * gcc.dg/torture/float128-builtin-issignaling-1.c: New test.
+       * gcc.dg/torture/float128x-builtin-issignaling-1.c: New test.
+       * gcc.target/i386/builtin-issignaling-1.c: New test.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/106099
+       * gcc.dg/pr106099.c: New test.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106648
+       * c-c++-common/cpp/named-universal-char-escape-1.c: New test.
+       * c-c++-common/cpp/named-universal-char-escape-2.c: New test.
+       * c-c++-common/cpp/named-universal-char-escape-3.c: New test.
+       * c-c++-common/cpp/named-universal-char-escape-4.c: New test.
+       * c-c++-common/Wbidi-chars-25.c: New test.
+       * gcc.dg/cpp/named-universal-char-escape-1.c: New test.
+       * gcc.dg/cpp/named-universal-char-escape-2.c: New test.
+       * g++.dg/cpp/named-universal-char-escape-1.C: New test.
+       * g++.dg/cpp/named-universal-char-escape-2.C: New test.
+       * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_named_character_escapes.
+
+2022-08-26  Martin Liska  <mliska@suse.cz>
+
+       * lib/target-supports.exp: Remove cr16 related stuff.
+
+2022-08-26  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr106704.c: New test.
+
 2022-08-25  Marek Polacek  <polacek@redhat.com>
 
        * gcc.dg/c11-nullptr-1.c: New test.
index 5e3fa0a7725530317e8a1e19e0f7fdf6e82185ad..d5e0a1c7f693cea9af95ea069b6117dd6876145a 100644 (file)
@@ -1,3 +1,31 @@
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106647
+       * charset.cc (wide_str_to_charconst): Implement P2362R3 - Remove
+       non-encodable wide character literals and multicharacter.  For
+       C++23 use CPP_DL_ERROR instead of CPP_DL_WARNING for
+       "character constant too long for its type" diagnostics on CPP_WCHAR
+       literals.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106648
+       * charset.cc: Implement C++23 P2071R2 - Named universal character
+       escapes.  Include uname2c.h.
+       (hangul_syllables, hangul_count): New variables.
+       (struct uname2c_data): New type.
+       (_cpp_uname2c, _cpp_uname2c_uax44_lm2): New functions.
+       (_cpp_valid_ucn): Use them.  Handle named universal character escapes.
+       (convert_ucn): Adjust comment.
+       (convert_escape): Call convert_ucn even for \N.
+       (_cpp_interpret_identifier): Handle named universal character escapes.
+       * lex.cc (get_bidi_ucn): Fix up function comment formatting.
+       (get_bidi_named): New function.
+       (forms_identifier_p, lex_string): Handle named universal character
+       escapes.
+       * makeuname2c.cc: New file.  Small parts copied from makeucnid.cc.
+       * uname2c.h: New generated file.
+
 2022-08-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/106646
index 5fe8e73fc1d1d59c7362b7250db48379eecfe1fe..ac76f7dc365755da5a290b15bba613b830e58eb7 100644 (file)
@@ -1,3 +1,16 @@
+2022-08-26  Martin Liska  <mliska@suse.cz>
+
+       * config.host: Remove cr16 related stuff.
+       * config/cr16/crti.S: Removed.
+       * config/cr16/crtlibid.S: Removed.
+       * config/cr16/crtn.S: Removed.
+       * config/cr16/divmodhi3.c: Removed.
+       * config/cr16/lib1funcs.S: Removed.
+       * config/cr16/t-cr16: Removed.
+       * config/cr16/t-crtlibid: Removed.
+       * config/cr16/unwind-cr16.c: Removed.
+       * config/cr16/unwind-dw2.h: Removed.
+
 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
 
        * config/riscv/sfp-machine.h (_FP_NANFRAC_H): New.
index e163cd6e80ad9e9831a1ca8d8826804f7b38ec56..ad1e03cbfd3ce3abb96be5dd11168b3393649076 100644 (file)
@@ -1,3 +1,20 @@
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/106579
+       * ieee/ieee_helper.c (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN,
+       IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL,
+       IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL,
+       IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL,
+       IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF):
+       Move to gcc/fortran/libgfortran.h.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/105105
+       * ieee/ieee_helper.c: Don't include issignaling_fallback.h.
+       (CLASSMACRO): Use __builtin_issignaling instead of issignaling.
+       * ieee/issignaling_fallback.h: Removed.
+
 2022-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Jakub Jelinek  <jakub@redhat.com>
 
index cc7b4dc40b4de3918b30b0663613a01dd8863a30..47b541c3b56ad0b336f44bacc2b2b4d98daf8ed7 100644 (file)
@@ -1,3 +1,12 @@
+2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
+
+       * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
+       refer to 'requires'.
+       * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
+       * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
+       * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
+       * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
+
 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
 
        PR middle-end/106548
index 1b20d4eb783b935cff79e2cc372afbab7da7384b..4ef6242092600bace33a2b02f86d600d0a9c437e 100644 (file)
@@ -1,3 +1,69 @@
+2022-08-26  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (zip_view::_Iterator::operator<): Remove
+       as per LWG 3692.
+       (zip_view::_Iterator::operator>): Likewise.
+       (zip_view::_Iterator::operator<=): Likewise.
+       (zip_view::_Iterator::operator>=): Likewise.
+       (zip_view::_Iterator::operator<=>): Remove three_way_comparable
+       constraint as per LWG 3692.
+       (zip_transform_view::_Iterator): Ditto as per LWG 3702.
+
+2022-08-26  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/ranges (zip_view::_Iterator): Befriend
+       zip_transform_view.
+       (__detail::__range_iter_cat): Define.
+       (zip_transform_view): Define.
+       (zip_transform_view::_Iterator): Define.
+       (zip_transform_view::_Sentinel): Define.
+       (views::__detail::__can_zip_transform_view): Define.
+       (views::_ZipTransform): Define.
+       (views::zip_transform): Define.
+       * testsuite/std/ranges/zip_transform/1.cc: New test.
+
+2022-08-26  Patrick Palka  <ppalka@redhat.com>
+
+       * include/std/type_traits (enable_if, __enable_if_t): Define them
+       earlier.
+       (__detail::__first_t): Define.
+       (__detail::__or_fn, __detail::__and_fn): Declare.
+       (__or_, __and_): Redefine as alias templates in terms of __or_fn
+       and __and_fn.
+       (__not_): Redefine as an alias template.
+       (__detail::__disjunction_impl, __detail::__conjunction_impl):
+       Define.
+       (conjuction, disjunction): Redefine in terms of __disjunction_impl
+       and __conjunction_impl.
+
+2022-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/system_error (error_code::_Check): New alias
+       template for constructor SFINAE constraint.
+       (error_code::error_code(ErrorCodeEnum)): Use it.
+       (error_code::operator=(ErrorCodeEnum)): Remove.
+       (error_condition::_Check): New alias template for constraint.
+       (error_condition::error_condition(ErrorConditionEnum)): Use it.
+       (error_condition::operator=(ErrorConditionEnum)): Remove.
+       * testsuite/19_diagnostics/error_code/cons/1.cc: Check
+       constructor taking user-defined error enum.
+       * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
+
+2022-08-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/basic_string.h (starts_with, ends_with, contains):
+       Add nonnull attribute.
+       * include/bits/cow_string.h (starts_with, ends_with, contains):
+       Likewise.
+       * include/std/string_view (starts_with, ends_with, contains):
+       Likewise.
+       * testsuite/21_strings/basic_string/operations/contains/nonnull.cc
+       * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc
+       * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc
+       * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc
+       * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc
+       * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc
+
 2022-08-25  Patrick Palka  <ppalka@redhat.com>
 
        * include/std/ranges (lazy_split_view::_OuterIter::_M_current):