aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2022-08-27 00:17:09 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2022-08-27 00:17:09 +0000
commit16f542d6b866828e23e699e294e617ca428b04ee (patch)
treee95220d7961f63259c5f7d3cde639ba80c7a9b6d
parentd0fd62d0ff4d1e0648e11b650b4f449772663990 (diff)
downloadgcc-16f542d6b866828e23e699e294e617ca428b04ee.zip
gcc-16f542d6b866828e23e699e294e617ca428b04ee.tar.gz
gcc-16f542d6b866828e23e699e294e617ca428b04ee.tar.bz2
Daily bump.
-rw-r--r--contrib/ChangeLog4
-rw-r--r--gcc/ChangeLog129
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/c-family/ChangeLog16
-rw-r--r--gcc/c/ChangeLog4
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/fortran/ChangeLog26
-rw-r--r--gcc/testsuite/ChangeLog101
-rw-r--r--libcpp/ChangeLog28
-rw-r--r--libgcc/ChangeLog13
-rw-r--r--libgfortran/ChangeLog17
-rw-r--r--libgomp/ChangeLog9
-rw-r--r--libstdc++-v3/ChangeLog66
13 files changed, 420 insertions, 1 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 60a08cf..4ee88c5 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -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.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fb85895..f2b8efb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index d51496b..bdd286f 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20220826
+20220827
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index a70ec0a..f76581e 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -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.
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 2f0eb8d..7095ebb 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -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.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0b2763d..71fb7db 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 631738b..8216d3b 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index af5de87..0f77e5c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 5e3fa0a..d5e0a1c7 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -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
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 5fe8e73..ac76f7d 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -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.
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index e163cd6..ad1e03c 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -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>
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index cc7b4dc..47b541c 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -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
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 1b20d4e..4ef6242 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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):