aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog134
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/analyzer/ChangeLog51
-rw-r--r--gcc/cp/ChangeLog17
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/testsuite/ChangeLog54
-rw-r--r--libcpp/ChangeLog8
-rw-r--r--libgomp/ChangeLog125
-rw-r--r--libstdc++-v3/ChangeLog60
9 files changed, 457 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 17032b5..73748ca 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,137 @@
+2022-09-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/106838
+ * doc/extend.texi (Type Traits): Fix requirements. Document
+ __is_aggregate and __is_final.
+
+2022-09-08 Tim Lange <mail@tim-lange.me>
+
+ PR analyzer/106625
+ * doc/invoke.texi:
+ State that the checker also reasons about symbolic values.
+
+2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/106886
+ * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
+ Fix copying of scalar stmts.
+
+2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
+
+2022-09-08 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/106870
+ * gimple-harden-conditionals.cc (insert_check_and_trap):
+ Set the control-altering flag on the built IFN_TRAP.
+ * gimple.cc (gimple_build_builtin_unreachable): Likewise.
+ * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
+ flag on the .ABNORMAL_DISPATCHER call.
+ * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
+ resetting the control altering flag for ECF_NORETURN calls.
+ (cleanup_control_flow_bb): Set the control altering flag on
+ discovered noreturn calls.
+ * symtab-thunks.cc (expand_thunk): Set the control altering
+ flag for the noreturn tailcall case.
+ * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
+ calls.
+
+2022-09-08 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
+ Add doacross(sink:omp_cur_iteration-1) support.
+ (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
+ Adjust expand_omp_ordered_sink caller.
+ (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
+ non-NULL, set that variable to true at the start of outermost
+ non-collapsed loop and set it to false at the end of innermost
+ ordered loop.
+ (expand_omp_for_generic): If fd->ordered, allocate
+ 1 + (fd->ordered - fd->collapse) further elements in counts array.
+ Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
+ fd->ordered - 1 loop if any.
+
+2022-09-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/106881
+ * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
+ Add only non-fallthru edges and avoid the same set of edges
+ as the caller does.
+
+2022-09-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple-range-fold.cc
+ (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
+ * range-op-float.cc (finite_operand_p): Same.
+ (finite_operands_p): Same.
+ (foperator_lt::fold_range): Same.
+ (foperator_le::fold_range): Same.
+ (foperator_gt::fold_range): Same.
+ (foperator_ge::fold_range): Same.
+ (foperator_unordered::fold_range): Same.
+ (foperator_unordered::op1_range): Same.
+ (foperator_ordered::fold_range): Same.
+ * value-range.cc (frange::set_nan): Same.
+ (frange::set_signbit): Same.
+ (frange::union_): Same.
+ (frange::intersect): Same.
+ (frange::operator==): Same.
+ (frange::singleton_p): Same.
+ (frange::verify_range): Same.
+ (range_tests_nan): Same.
+ (range_tests_floats): Same.
+ * value-range.h(frange::known_finite): New.
+ (frange::maybe_inf): New.
+ (frange::known_inf): New.
+ (frange::maybe_nan): New.
+ (frange::known_nan): New.
+ (frange::known_signbit): New.
+
+2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * config/darwin-d.cc: Include tm.h.
+ * config/dragonfly-d.cc: Likewise.
+ * config/freebsd-d.cc: Remove memmodel.h.
+ * config/glibc-d.cc: Likewise.
+ * config/netbsd-d.cc: Include tm.h.
+ * config/openbsd-d.cc: Likewise.
+ * config/sol2-d.cc: Likewise.
+
+2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
+
+ * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
+ MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
+ (mve_vqshluq_m_n_s<mode>): Likewise.
+ (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
+ instead of mve_imm_8/Rb.
+ (mve_vqrshrunbq_n_s<mode>): Likewise.
+ (mve_vqrshrntq_n_<supf><mode>): Likewise.
+ (mve_vqrshruntq_n_s<mode>): Likewise.
+ (mve_vrshrnbq_n_<supf><mode>): Likewise.
+ (mve_vrshrntq_n_<supf><mode>): Likewise.
+ (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
+ (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
+ (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
+ (mve_vrshrntq_m_n_<supf><mode>): Likewise.
+ (mve_vqrshrunbq_m_n_s<mode>): Likewise.
+ (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
+ of mve_imm_selective_upto_8/Rg.
+ (mve_vsriq_m_n_<supf><mode>): Likewise.
+
+2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
+
+ * config/rs6000/rs6000.md (splitter for set to and_mask constants):
+ Use int_reg_operand (instead of int_reg_operand_not_pseudo).
+ (splitter for multi-insn constant loads): Ditto.
+
+2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
+ -mvrsave is present.
+ * config/rs6000/t-rtems: Add -mvrsave multilib variants for
+ -mcpu=e6500.
+
2022-09-07 Martin Liska <mliska@suse.cz>
* configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 2e552cf..56639c3 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20220908
+20220909
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 3ad3096..7263e74 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,54 @@
+2022-09-08 Tim Lange <mail@tim-lange.me>
+
+ PR analyzer/106625
+ * analyzer.h (region_offset): Eliminate m_is_symbolic member.
+ * region-model-impl-calls.cc (region_model::impl_call_realloc):
+ Refine implementation to be more precise.
+ * region-model.cc (class symbolic_past_the_end):
+ Abstract diagnostic class to complain about accesses past the end
+ with symbolic values.
+ (class symbolic_buffer_overflow):
+ Concrete diagnostic class to complain about buffer overflows with
+ symbolic values.
+ (class symbolic_buffer_overread):
+ Concrete diagnostic class to complain about buffer overreads with
+ symbolic values.
+ (region_model::check_symbolic_bounds): New function.
+ (maybe_get_integer_cst_tree): New helper function.
+ (region_model::check_region_bounds):
+ Add call to check_symbolic_bounds if offset is not concrete.
+ (region_model::eval_condition_without_cm):
+ Add support for EQ_EXPR and GT_EXPR with binaryop_svalues.
+ (is_positive_svalue): New hleper function.
+ (region_model::symbolic_greater_than):
+ New function to handle GT_EXPR comparisons with symbolic values.
+ (region_model::structural_equality): New function to compare
+ whether two svalues are structured the same, i.e. evaluate to
+ the same value.
+ (test_struct): Reflect changes to region::calc_offset.
+ (test_var): Likewise.
+ (test_array_2): Likewise and add selftest with symbolic i.
+ * region-model.h (class region_model): Add check_symbolic_bounds,
+ symbolic_greater_than and structural_equality.
+ * region.cc (region::get_offset):
+ Reflect changes to region::calc_offset.
+ (region::calc_offset):
+ Compute the symbolic offset if the offset is not concrete.
+ (region::get_relative_symbolic_offset): New function to return the
+ symbolic offset in bytes relative to its parent.
+ (field_region::get_relative_symbolic_offset): Likewise.
+ (element_region::get_relative_symbolic_offset): Likewise.
+ (offset_region::get_relative_symbolic_offset): Likewise.
+ (bit_range_region::get_relative_symbolic_offset): Likewise.
+ * region.h: Add get_relative_symbolic_offset.
+ * store.cc (binding_key::make):
+ Reflect changes to region::calc_offset.
+ (binding_map::apply_ctor_val_to_range): Likewise.
+ (binding_map::apply_ctor_pair_to_child_region): Likewise.
+ (binding_cluster::bind_compound_sval): Likewise.
+ (binding_cluster::get_any_binding): Likewise.
+ (binding_cluster::maybe_get_compound_binding): Likewise.
+
2022-09-05 Tim Lange <mail@tim-lange.me>
* region-model-impl-calls.cc (region_model::impl_call_strcpy):
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 02aecfc..0f37423 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,20 @@
+2022-09-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/106838
+ * class.cc (type_has_virtual_destructor): Return false for
+ union types.
+ * semantics.cc (check_trait_type): Add KIND parameter to support
+ different sets of requirements.
+ (finish_trait_expr): Pass KIND argument for relevant traits.
+
+2022-09-08 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/99130
+ * decl2.cc (maybe_instantiate_decl): Adjust function comment.
+ Check VAR_OR_FUNCTION_DECL_P. Pull out the disjunction into ...
+ (mark_used): ... here, removing the decl_maybe_constant_var_p
+ part of it.
+
2022-09-07 Jason Merrill <jason@redhat.com>
PR c++/106793
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ebd29cd..e6c4c2c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2022-09-08 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/106670
+ * scanner.cc (skip_fixed_omp_sentinel): Add -Wsurprising warning
+ for 'omx' sentinels with -fopenmp.
+ * invoke.texi (-Wsurprising): Document additional warning case.
+
2022-09-06 Tobias Burnus <tobias@codesourcery.com>
* openmp.cc (resolve_omp_clauses): Remove ordered/linear
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7b47665..b027c5a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,57 @@
+2022-09-08 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/106670
+ * c-c++-common/gomp/ompx-1.c: New test.
+ * c-c++-common/gomp/ompx-2.c: New test.
+ * g++.dg/gomp/ompx-attrs-1.C: New test.
+ * gfortran.dg/gomp/ompx-1.f90: New test.
+ * gfortran.dg/gomp/omx-1.f: New test.
+ * gfortran.dg/gomp/omx-2.f: New test.
+
+2022-09-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/106838
+ * g++.dg/ext/array4.C: Fix invalid use of __is_constructible.
+ * g++.dg/ext/unary_trait_incomplete.C: Fix tests for traits with
+ different requirements.
+
+2022-09-08 Tim Lange <mail@tim-lange.me>
+
+ PR analyzer/106625
+ * gcc.dg/analyzer/data-model-1.c: Change expected result.
+ * gcc.dg/analyzer/out-of-bounds-5.c: New test.
+ * gcc.dg/analyzer/out-of-bounds-realloc-grow.c: New test.
+ * gcc.dg/analyzer/symbolic-gt-1.c: New test.
+
+2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/106886
+ * gcc.dg/vect/bb-slp-layout-21.c: New test.
+
+2022-09-08 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/99209
+ * g++.dg/cpp2a/lambda-uneval17.C: New test.
+
+2022-09-08 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/99130
+ * g++.dg/cpp0x/constexpr-decltype5.C: New test.
+
+2022-09-08 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/gomp/doacross-7.c: New test.
+
+2022-09-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/106881
+ * gcc.dg/uninit-pr106881.c: New testcase.
+
+2022-09-08 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/106872
+ * gcc.dg/uninit-pred-12.c: Adjust.
+
2022-09-07 Jason Merrill <jason@redhat.com>
PR c++/106793
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 625b4e5..5984915 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,11 @@
+2022-09-08 Lewis Hyatt <lhyatt@gmail.com>
+
+ * line-map.cc (location_adhoc_data_update): Remove reliance on
+ undefined behavior.
+ (get_combined_adhoc_loc): Likewise.
+ (rebuild_location_adhoc_htab): Fix issue where the htab was not
+ properly updated.
+
2022-09-07 Joseph Myers <joseph@codesourcery.com>
* include/cpplib.h (struct cpp_options): Add true_false.
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index ddf0729..887c59b 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,128 @@
+2022-09-08 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/106670
+ * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
+
+2022-09-08 Tobias Burnus <tobias@codesourcery.com>
+
+ * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
+ section; move OpenMP Context Selectors from ...
+ (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
+ 'nvptx' sections.
+
+2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
+
+ * config/gcn/icv-device.c (omp_get_default_device): Return device-
+ specific ICV.
+ (omp_get_max_teams): Added for GCN devices.
+ (omp_set_num_teams): Likewise.
+ (ialias): Likewise.
+ * config/nvptx/icv-device.c (omp_get_default_device): Return device-
+ specific ICV.
+ (omp_get_max_teams): Added for NVPTX devices.
+ (omp_set_num_teams): Likewise.
+ (ialias): Likewise.
+ * env.c (struct gomp_icv_list): New struct to store entries of initial
+ ICV values.
+ (struct gomp_offload_icv_list): New struct to store entries of device-
+ specific ICV values that are copied to the device and back.
+ (struct gomp_default_icv_values): New struct to store default values of
+ ICVs according to the OpenMP standard.
+ (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
+ (print_env_var_error): Function that prints an error for invalid values
+ for ICVs.
+ (parse_unsigned_long_1): Removed getenv. Generalized.
+ (parse_unsigned_long): Likewise.
+ (parse_int_1): Likewise.
+ (parse_int): Likewise.
+ (parse_int_secure): Likewise.
+ (parse_unsigned_long_list): Likewise.
+ (parse_target_offload): Likewise.
+ (parse_bind_var): Likewise.
+ (parse_stacksize): Likewise.
+ (parse_boolean): Likewise.
+ (parse_wait_policy): Likewise.
+ (parse_allocator): Likewise.
+ (omp_display_env): Extended to output different variants of environment
+ variables.
+ (print_schedule): New helper function for omp_display_env which prints
+ the values of run_sched_var.
+ (print_proc_bind): New helper function for omp_display_env which prints
+ the values of proc_bind_var.
+ (enum gomp_parse_type): Collection of types used for parsing environment
+ variables.
+ (ENTRY): Preprocess string lengths of environment variables.
+ (OMP_VAR_CNT): Preprocess table size.
+ (OMP_HOST_VAR_CNT): Likewise.
+ (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
+ number.
+ (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
+ (gomp_set_icv_flag): Sets a flag for a particular ICV.
+ (print_device_specific_icvs): New helper function for omp_display_env to
+ print device specific ICV values.
+ (get_device_num): New helper function for parse_device_specific.
+ Extracts the device number from an environment variable name.
+ (get_icv_member_addr): Gets the memory address for a particular member
+ of an ICV struct.
+ (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
+ (initialize_icvs): New function to initialize a gomp_initial_icvs
+ struct.
+ (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
+ (startswith): Checks if a string starts with a given prefix.
+ (initialize_env): Extended to parse the new syntax of environment
+ variables.
+ * icv-device.c (omp_get_max_teams): Added.
+ (ialias): Likewise.
+ (omp_set_num_teams): Likewise.
+ * icv.c (omp_set_num_teams): Moved to icv-device.c.
+ (omp_get_max_teams): Likewise.
+ (ialias): Likewise.
+ * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
+ (GOMP_ADDITIONAL_ICVS): New target-side struct that
+ holds the designated ICVs of the target device.
+ * libgomp.h (enum gomp_icvs): Collection of ICVs.
+ (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
+ no suffix.
+ (enum gomp_env_suffix): Collection of possible suffixes of environment
+ variables.
+ (struct gomp_initial_icvs): Contains all ICVs for which we need to store
+ initial values.
+ (struct gomp_default_icv):New struct to hold ICVs for which we need
+ to store initial values.
+ (struct gomp_icv_list): Definition of a linked list that is used for
+ storing ICVs for the devices and also for _DEV, _ALL, and without
+ suffix.
+ (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
+ a device.
+ (struct gomp_offload_icv_list): Definition of a linked list that holds
+ device-specific ICVs that are copied to devices.
+ (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
+ (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
+ * libgomp.texi: Updated.
+ * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
+ further ICVs from the offload image.
+ * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
+ * target.c (gomp_get_offload_icv_item): Get a list item of
+ gomp_offload_icv_list.
+ (get_gomp_offload_icvs): New. Returns the ICV values
+ depending on the device num and the variable hierarchy.
+ (gomp_load_image_to_device): Extended to copy further ICVs to a device.
+ * testsuite/libgomp.c-c++-common/icv-5.c: New test.
+ * testsuite/libgomp.c-c++-common/icv-6.c: New test.
+ * testsuite/libgomp.c-c++-common/icv-7.c: New test.
+ * testsuite/libgomp.c-c++-common/icv-8.c: New test.
+ * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
+ * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
+
+2022-09-08 Jakub Jelinek <jakub@redhat.com>
+
+ * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
+ fully supported.
+ * testsuite/libgomp.c/doacross-4.c: New test.
+ * testsuite/libgomp.c/doacross-5.c: New test.
+ * testsuite/libgomp.c/doacross-6.c: New test.
+ * testsuite/libgomp.c/doacross-7.c: New test.
+
2022-09-05 Tobias Burnus <tobias@codesourcery.com>
* libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 958f6de..5781735 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,63 @@
+2022-09-08 François Dumont <fdumont@gcc.gnu.org>
+
+ * testsuite/util/testsuite_performance.h (__gnu_test::MallocInfo): New.
+ (__gnu_test::malloc_info): New, replace mallinfo on current platform
+ supporting it and use mallinfo2 when glibc >= 2.33.
+
+2022-09-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR c++/106838
+ * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
+ Prune additional errors from front-end.
+ * testsuite/20_util/is_move_constructible/incomplete_neg.cc:
+ Likewise.
+ * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc:
+ Likewise.
+ * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc:
+ Likewise.
+ * testsuite/20_util/is_swappable_with/incomplete_neg.cc:
+ Likewise.
+
+2022-09-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/c_global/cstddef (byte): Add always_inline attribute
+ to all operator overloads.
+ (to_integer): Add always_inline attribute.
+
+2022-09-08 Thomas Rodgers <trodgers@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding):
+ New function.
+ (__atomic_impl::clear_padding): Likewise.
+ (__atomic_impl::__compare_exchange): Likewise.
+ (__atomic_impl::compare_exchange_weak): Delegate to
+ __compare_exchange.
+ (__atomic_impl::compare_exchange_strong): Likewise.
+ * include/std/atomic (atomic<T>::atomic(T)): Clear padding when
+ possible in a constexpr function.
+ (atomic::store): Clear padding.
+ (atomic::exchange): Likewise.
+ (atomic::compare_exchange_weak): Use __compare_exchange.
+ (atomic::compare_exchange_strong): Likewise.
+ * testsuite/29_atomics/atomic/compare_exchange_padding.cc: New
+ test.
+ * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
+ New test.
+
+2022-09-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/system_error (__adl_only::make_error_code): Add
+ deleted function.
+ (__adl_only::make_error_condition): Likewise.
+ (error_code::error_code(ErrorCodeEnum)): Add using-declaration
+ for deleted function.
+ (error_condition::error_condition(ErrorConditionEnum)):
+ Likewise.
+ * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test.
+ * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test.
+
2022-09-07 Jonathan Wakely <jwakely@redhat.com>
* include/std/barrier: Add missing runtime exception.