summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2021-11-13 00:16:39 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2021-11-13 00:16:39 +0000
commitaf2852b9dc3b1d9ef20d72d20de5a2f7938b87b3 (patch)
treeebc0dd13d50ab2b0d32c1237293385f31e86c96f
parent1bac7d31a1276f06bfa6cd3fae775b0ad7fec164 (diff)
Daily bump.
-rw-r--r--ChangeLog5
-rw-r--r--gcc/ChangeLog226
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/analyzer/ChangeLog5
-rw-r--r--gcc/fortran/ChangeLog42
-rw-r--r--gcc/jit/ChangeLog8
-rw-r--r--gcc/testsuite/ChangeLog41
-rw-r--r--include/ChangeLog8
-rw-r--r--libbacktrace/ChangeLog7
-rw-r--r--libgomp/ChangeLog31
-rw-r--r--libstdc++-v3/ChangeLog85
11 files changed, 459 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 63948b0d1f6..4b8570bc974 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2021-11-12 Alan Modra <amodra@gmail.com>
+
+ * Makefile.def (configure-opcodes): Depend on configure-bfd.
+ * Makefile.in: Regenerate.
+
2021-11-03 Maciej W. Rozycki <macro@embecosm.com>
* MAINTAINERS: Clarify the policy WRT the Write After Approval
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7356889757b..6767e5348e8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,229 @@
+2021-11-12 Stafford Horne <shorne@gmail.com>
+
+ * config/or1k/or1k-protos.h (or1k_profile_hook): New function.
+ * config/or1k/or1k.h (PROFILE_HOOK): Change macro to reference
+ new function or1k_profile_hook.
+ * config/or1k/or1k.c (struct machine_function): Add new field
+ set_mcount_arg_insn.
+ (or1k_profile_hook): New function.
+ (or1k_init_pic_reg): Update to inject pic rtx after _mcount arg
+ when profiling.
+ (or1k_frame_pointer_required): Frame pointer no longer needed
+ when profiling.
+
+2021-11-12 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/103209
+ * tree-ssa-structalias.c (find_func_aliases_for_call): Fix
+ use of handle_rhs_call
+
+2021-11-12 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/103202
+ * gimple-range-path.cc
+ (path_range_query::compute_ranges_in_block): Solve PHI imports first.
+
+2021-11-12 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (propagate_pure_const): Remove redundant check;
+ fix call of ipa_make_function_const and ipa_make_function_pure.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_vector_op::n_advsimd_ops): Delete.
+ (aarch64_vector_op::m_seen_loads): Likewise.
+ (aarch64_vector_costs::aarch64_vector_costs): Don't push to
+ m_advsimd_ops.
+ (aarch64_vector_op::count_ops): Remove vectype and factor parameters.
+ Remove code that tries to predict different vec_flags from the
+ current loop's.
+ (aarch64_vector_costs::add_stmt_cost): Update accordingly.
+ Remove m_advsimd_ops handling.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_vector_costs::m_saw_sve_only_op)
+ (aarch64_sve_only_stmt_p): Delete.
+ (aarch64_vector_costs::prefer_unrolled_loop): New function,
+ extracted from adjust_body_cost.
+ (aarch64_vector_costs::better_main_loop_than_p): New function,
+ using heuristics extracted from adjust_body_cost and
+ adjust_body_cost_sve.
+ (aarch64_vector_costs::adjust_body_cost_sve): Remove
+ advsimd_cycles_per_iter and could_use_advsimd parameters.
+ Update after changes above.
+ (aarch64_vector_costs::adjust_body_cost): Update after changes above.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_vec_op_count::m_vf_factor):
+ New member variable.
+ (aarch64_vec_op_count::aarch64_vec_op_count): Add a parameter for it.
+ (aarch64_vec_op_count::vf_factor): New function.
+ (aarch64_vector_costs::aarch64_vector_costs): When costing for
+ neoverse-512tvb, pass a vf_factor of 2 for the Neoverse V1 version
+ of an SVE loop.
+ (aarch64_vector_costs::adjust_body_cost): Read the vf factor
+ instead of hard-coding 2.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c
+ (aarch64_vec_op_count::rename_cycles_per_iter): New function.
+ (aarch64_vec_op_count::min_nonpred_cycles_per_iter): Likewise.
+ (aarch64_vec_op_count::min_pred_cycles_per_iter): Likewise.
+ (aarch64_vec_op_count::min_cycles_per_iter): Likewise.
+ (aarch64_vec_op_count::dump): Move earlier in file. Dump the
+ above properties too.
+ (aarch64_estimate_min_cycles_per_iter): Delete.
+ (adjust_body_cost): Use aarch64_vec_op_count::min_cycles_per_iter
+ instead of aarch64_estimate_min_cycles_per_iter. Rely on the dump
+ routine to print CPI estimates.
+ (adjust_body_cost_sve): Likewise. Use the other functions above
+ instead of doing the work inline.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_vec_op_count): Allow default
+ initialization.
+ (aarch64_vec_op_count::base_issue_info): Remove handling of null
+ issue_infos.
+ (aarch64_vec_op_count::simd_issue_info): Likewise.
+ (aarch64_vec_op_count::sve_issue_info): Likewise.
+ (aarch64_vector_costs::m_ops): Turn into a vector.
+ (aarch64_vector_costs::m_advsimd_ops): Likewise.
+ (aarch64_vector_costs::aarch64_vector_costs): Add entries to
+ the vectors based on aarch64_tune_params.
+ (aarch64_vector_costs::analyze_loop_vinfo): Update the pred_ops
+ of all entries in m_ops.
+ (aarch64_vector_costs::add_stmt_cost): Call count_ops for all
+ entries in m_ops.
+ (aarch64_estimate_min_cycles_per_iter): Remove issue_info
+ parameter and get the information from the ops instead.
+ (aarch64_vector_costs::adjust_body_cost_sve): Take a
+ aarch64_vec_issue_info instead of a aarch64_vec_op_count.
+ (aarch64_vector_costs::adjust_body_cost): Update call accordingly.
+ Exit earlier if m_ops is empty for either cost structure.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_vector_costs::m_scalar_ops)
+ (aarch64_vector_costs::m_sve_ops): Replace with...
+ (aarch64_vector_costs::m_ops): ...this.
+ (aarch64_vector_costs::analyze_loop_vinfo): Update accordingly.
+ (aarch64_vector_costs::adjust_body_cost_sve): Likewise.
+ (aarch64_vector_costs::aarch64_vector_costs): Likewise.
+ Initialize m_vec_flags here rather than in add_stmt_cost.
+ (aarch64_vector_costs::count_ops): Test for scalar reductions too.
+ Allow vectype to be null.
+ (aarch64_vector_costs::add_stmt_cost): Call count_ops for scalar
+ code too. Don't require vectype to be nonnull.
+ (aarch64_vector_costs::adjust_body_cost): Take the loop_vec_info
+ and scalar costs as parameters. Use the scalar costs to determine
+ the cycles per iteration of the scalar loop, then multiply it
+ by the estimated VF.
+ (aarch64_vector_costs::finish_cost): Update call accordingly.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_dr_type): New function.
+ (aarch64_vector_costs::count_ops): Use it rather than the
+ vectype to determine floatness.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_sve_in_loop_reduction_latency):
+ Remove vectype parameter and get floatness from the type of the
+ stmt lhs instead.
+ (arch64_in_loop_reduction_latency): Likewise.
+ (aarch64_detect_vector_stmt_subtype): Update caller.
+ (aarch64_vector_costs::count_ops): Likewise.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_sve_op_count): Fold into...
+ (aarch64_vec_op_count): ...this. Add a constructor.
+ (aarch64_vec_op_count::vec_flags): New function.
+ (aarch64_vec_op_count::base_issue_info): Likewise.
+ (aarch64_vec_op_count::simd_issue_info): Likewise.
+ (aarch64_vec_op_count::sve_issue_info): Likewise.
+ (aarch64_vec_op_count::m_issue_info): New member variable.
+ (aarch64_vec_op_count::m_vec_flags): Likewise.
+ (aarch64_vector_costs): Add a constructor.
+ (aarch64_vector_costs::m_sve_ops): Change type to aarch64_vec_op_count.
+ (aarch64_vector_costs::aarch64_vector_costs): New function.
+ Initialize m_scalar_ops, m_advsimd_ops and m_sve_ops.
+ (aarch64_vector_costs::count_ops): Remove vec_flags and
+ issue_info parameters, using the new aarch64_vec_op_count
+ functions instead.
+ (aarch64_vector_costs::add_stmt_cost): Update call accordingly.
+ (aarch64_sve_op_count::dump): Fold into...
+ (aarch64_vec_op_count::dump): ..here.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.c: Include tree-dfa.h.
+ (aarch64_check_consecutive_mems): New function that takes MEM_EXPR
+ and MEM_OFFSET into account.
+ (aarch64_swap_ldrstr_operands): Use it.
+ (aarch64_operands_ok_for_ldpstp): Likewise. Check that the
+ address of the second memory doesn't depend on the result of
+ the first load.
+
+2021-11-12 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-pure-const.c (ipa_make_function_pure): Fix exit condition.
+
+2021-11-12 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/103175
+ * ipa-modref.c (modref_lattice::merge): Add sanity check.
+ (callee_to_caller_flags): Make flags adjustment sane.
+ (modref_eaf_analysis::analyze_ssa_name): Likewise.
+
+2021-11-12 Jan Hubicka <jh@suse.cz>
+
+ PR ipa/103200
+ * ipa-modref.c (analyze_function, modref_propagate_in_scc): Do
+ not mark pure/const function if there are side-effects.
+
+2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * tree.h (OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P): New access macro for
+ 'implicit' bit, using 'base.deprecated_flag' field of tree_node.
+ * tree-pretty-print.c (dump_omp_clause): Add support for printing
+ implicit attribute in tree dumping.
+ * gimplify.c (gimplify_adjust_omp_clauses_1):
+ Set OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P to 1 if map clause is implicitly
+ created.
+ (gimplify_adjust_omp_clauses): Adjust place of adding implicitly created
+ clauses, from simple append, to starting of list, after non-map clauses.
+ * omp-low.c (lower_omp_target): Add GOMP_MAP_IMPLICIT bits into kind
+ values passed to libgomp for implicit maps.
+
+2021-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-builtins.def (BUILT_IN_GOMP_TEAMS): Remove.
+ (BUILT_IN_GOMP_TEAMS4): New.
+ * builtin-types.def (BT_FN_VOID_UINT_UINT): Remove.
+ (BT_FN_BOOL_UINT_UINT_UINT_BOOL): New.
+ * omp-low.c (lower_omp_teams): Use GOMP_teams4 instead of
+ GOMP_teams, pass to it also num_teams lower-bound expression
+ or a dup of upper-bound if it is missing and a flag whether
+ it is the first call or not.
+
+2021-11-12 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/102497
+ * gimple-predicate-analysis.cc (add_pred): Remove unused
+ function:
+
+2021-11-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/103204
+ * tree-ssa-sccvn.c (valueize_refs_1): Re-valueize the
+ top operand after folding in an address.
+
2021-11-11 Aldy Hernandez <aldyh@redhat.com>
* gimple-range-path.cc (path_range_query::path_range_query): New
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 966610a0bdd..f0484966df2 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20211112
+20211113
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 0a1bf12e632..f6bf2726284 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,8 @@
+2021-11-12 David Malcolm <dmalcolm@redhat.com>
+
+ * engine.cc (exploded_node::on_stmt_pre): Return when handling
+ "__analyzer_dump_state".
+
2021-11-11 Richard Biener <rguenther@suse.de>
* supergraph.cc: Include bitmap.h.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 09071cb8a93..0216f126dd9 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,45 @@
+2021-11-12 Tobias Burnus <tobias@codesourcery.com>
+
+ * parse.c (decode_omp_directive): Fix permitting 'nowait' for some
+ combined directives, add missing 'omp end ... loop'.
+ (gfc_ascii_statement): Fix ST_OMP_END_TEAMS_LOOP result.
+ * openmp.c (resolve_omp_clauses): Add missing combined loop constructs
+ case values to the 'if(directive-name: ...)' check.
+ * trans-openmp.c (gfc_split_omp_clauses): Put nowait on target if
+ first leaf construct accepting it.
+
+2021-11-12 Martin Jambor <mjambor@suse.cz>
+
+ * trans-types.c (gfc_get_array_descr_info): Use build_debug_expr_decl
+ instead of building DEBUG_EXPR_DECL manually.
+
+2021-11-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/97896
+ * intrinsic.c (add_sym_4ind): Remove.
+ (add_functions): Use add_sym4 instead of add_sym4ind.
+ Don’t special case the index intrinsic.
+ * iresolve.c (gfc_resolve_index_func): Use the individual arguments
+ directly instead of the full argument list.
+ * intrinsic.h (gfc_resolve_index_func): Update the declaration
+ accordingly.
+ * trans-decl.c (gfc_get_extern_function_decl): Don’t modify the
+ list of arguments in the case of the index intrinsic.
+ * trans-array.h (gfc_get_intrinsic_for_expr,
+ gfc_get_proc_ifc_for_expr): New.
+ * trans-array.c (gfc_get_intrinsic_for_expr,
+ arg_evaluated_for_scalarization): New.
+ (gfc_walk_elemental_function_args): Add intrinsic procedure
+ as argument. Count arguments. Check arg_evaluated_for_scalarization.
+ * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
+ * trans-stmt.c (get_intrinsic_for_code): New.
+ (gfc_trans_call): Update call.
+
+2021-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * types.def (BT_FN_VOID_UINT_UINT): Remove.
+ (BT_FN_BOOL_UINT_UINT_UINT_BOOL): New.
+
2021-11-11 Tobias Burnus <tobias@codesourcery.com>
* gfortran.h (struct gfc_omp_clauses): Rename num_teams to
diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog
index 334fd3942e8..d7f7cc5dd9c 100644
--- a/gcc/jit/ChangeLog
+++ b/gcc/jit/ChangeLog
@@ -1,3 +1,11 @@
+2021-11-12 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/103199
+ * docs/examples/tut04-toyvm/toyvm.c (toyvm_function_compile):
+ Increase size of buffer.
+ * docs/examples/tut04-toyvm/toyvm.cc
+ (compilation_state::create_function): Likewise.
+
2021-09-10 Petter Tomner <tomner@kth.se>
* jit-playback.c: Moved global var processing to after loc handling.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0911163582a..99120299b9c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,44 @@
+2021-11-12 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/103209
+ * gcc.dg/tree-ssa/pta-callused.c: Update template.
+ * gcc.c-torture/execute/pr103209.c: New test.
+
+2021-11-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/stp_1.c: New test.
+
+2021-11-12 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/gomp/unexpected-end.f90: Update dg-error.
+ * gfortran.dg/gomp/clauses-1.f90: New test.
+ * gfortran.dg/gomp/nowait-2.f90: New test.
+ * gfortran.dg/gomp/nowait-3.f90: New test.
+
+2021-11-12 Martin Liska <mliska@suse.cz>
+
+ PR testsuite/103051
+ * gcc.dg/vect/tsvc/vect-tsvc-s112.c: Skip test for old Power
+ CPUs.
+
+2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * c-c++-common/gomp/target-implicit-map-1.c: New test.
+ * c-c++-common/goacc/combined-reduction.c: Adjust scan test pattern.
+ * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise.
+ * c-c++-common/goacc/mdc-1.c: Likewise.
+ * g++.dg/goacc/firstprivate-mappings-1.C: Likewise.
+
+2021-11-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/97896
+ * gfortran.dg/index_5.f90: New.
+
+2021-11-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/103204
+ * gcc.dg/torture/pr103204.c: New testcase.
+
2021-11-11 Bill Schmidt <wschmidt@linux.ibm.com>
* gcc.target/powerpc/test_mffsl.c: Require Power9.
diff --git a/include/ChangeLog b/include/ChangeLog
index 0f69b44638f..67c067254bf 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,11 @@
+2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gomp-constants.h (GOMP_MAP_FLAG_SPECIAL_3): Define special bit macro.
+ (GOMP_MAP_IMPLICIT): New special map kind bits value.
+ (GOMP_MAP_FLAG_SPECIAL_BITS): Define helper mask for whole set of
+ special map kind bits.
+ (GOMP_MAP_IMPLICIT_P): New predicate macro for implicit map kinds.
+
2021-11-05 Gerald Pfeifer <gerald@pfeifer.com>
Jakub Jelinek <jakub@redhat.com>
diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog
index 2c8a8a4de0e..983f81672fb 100644
--- a/libbacktrace/ChangeLog
+++ b/libbacktrace/ChangeLog
@@ -1,3 +1,10 @@
+2021-11-12 Martin Liska <mliska@suse.cz>
+
+ PR libbacktrace/103167
+ * elf.c (elf_uncompress_lzma_block): Cast to unsigned int.
+ (elf_uncompress_lzma): Likewise.
+ * xztest.c (test_samples): memcpy only if v > 0.
+
2021-10-22 Martin Liska <mliska@suse.cz>
PR testsuite/102742
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 26a8476961a..ed26b8d543f 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,34 @@
+2021-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/103201
+ * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
+ to ...
+ * config/gcn/teams.c: ... here. New file.
+
+2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
+ implicit map handling to allow a "superset" existing map as valid case.
+ (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
+ (get_implicit): New function to extract implicit status.
+ (gomp_map_fields_existing): Adjust arguments in calls to
+ gomp_map_vars_existing, and add uses of get_implicit.
+ (gomp_map_vars_internal): Likewise.
+ * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
+
+2021-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * libgomp_g.h (GOMP_teams4): Declare.
+ * libgomp.map (GOMP_5.1): Export GOMP_teams4.
+ * target.c (GOMP_teams4): New function.
+ * config/nvptx/target.c (GOMP_teams): Remove.
+ (GOMP_teams4): New function.
+ * config/gcn/target.c (GOMP_teams): Remove.
+ (GOMP_teams4): New function.
+ * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
+ teams instead of <= 2.
+ * testsuite/libgomp.c-c++-common/teams-2.c: New test.
+
2021-11-11 Tobias Burnus <tobias@codesourcery.com>
* testsuite/libgomp.fortran/teams-1.f90: New test.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e0f5f6230e2..34a130ea668 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,88 @@
+2021-11-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/59675
+ * acinclude.m4 (libtool_VERSION): Bump version.
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Add version and
+ export new symbol.
+ * configure: Regenerate.
+ * include/bits/c++config (__replacement_assert): Remove, declare
+ __glibcxx_assert_fail instead.
+ * src/c++11/debug.cc (__glibcxx_assert_fail): New function to
+ replace __replacement_assert, writing to stderr instead of
+ stdout.
+ * testsuite/util/testsuite_abi.cc: Update latest version.
+
+2021-11-12 Jonathan Wakely <jwakely@redhat.com>
+ Josh Marshall <joshua.r.marshall.1991@gmail.com>
+
+ * include/bits/alloc_traits.h (_Destroy): Make constexpr for
+ C++20 mode.
+ * include/bits/allocator.h (__shrink_to_fit::_S_do_it):
+ Likewise.
+ * include/bits/stl_algobase.h (__fill_a1): Declare _Bit_iterator
+ overload constexpr for C++20.
+ * include/bits/stl_bvector.h (_Bit_type, _S_word_bit): Move out
+ of inline namespace.
+ (_Bit_reference, _Bit_iterator_base, _Bit_iterator)
+ (_Bit_const_iterator, _Bvector_impl_data, _Bvector_base)
+ (vector<bool, A>>): Add constexpr to every member function.
+ (_Bvector_base::_M_allocate): Initialize storage during constant
+ evaluation.
+ (vector<bool, A>::_M_initialize_value): Use __fill_bvector_n
+ instead of memset.
+ (__fill_bvector_n): New helper function to replace memset during
+ constant evaluation.
+ * include/bits/stl_uninitialized.h (__uninitialized_copy<false>):
+ Move logic to ...
+ (__do_uninit_copy): New function.
+ (__uninitialized_fill<false>): Move logic to ...
+ (__do_uninit_fill): New function.
+ (__uninitialized_fill_n<false>): Move logic to ...
+ (__do_uninit_fill_n): New function.
+ (__uninitialized_copy_a): Add constexpr. Use __do_uninit_copy.
+ (__uninitialized_move_a, __uninitialized_move_if_noexcept_a):
+ Add constexpr.
+ (__uninitialized_fill_a): Add constexpr. Use __do_uninit_fill.
+ (__uninitialized_fill_n_a): Add constexpr. Use
+ __do_uninit_fill_n.
+ (__uninitialized_default_n, __uninitialized_default_n_a)
+ (__relocate_a_1, __relocate_a): Add constexpr.
+ * include/bits/stl_vector.h (_Vector_impl_data, _Vector_impl)
+ (_Vector_base, vector): Add constexpr to every member function.
+ (_Vector_impl::_S_adjust): Disable ASan annotation during
+ constant evaluation.
+ (_Vector_base::_S_use_relocate): Disable bitwise-relocation
+ during constant evaluation.
+ (vector::_Temporary_value): Use a union for storage.
+ * include/bits/vector.tcc (vector, vector<bool>): Add constexpr
+ to every member function.
+ * include/std/vector (erase_if, erase): Add constexpr.
+ * testsuite/23_containers/headers/vector/synopsis.cc: Add
+ constexpr for C++20 mode.
+ * testsuite/23_containers/vector/bool/cmp_c++20.cc: Change to
+ compile-only test using constant expressions.
+ * testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust
+ namespace for _S_word_bit.
+ * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
+ Likewise.
+ * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
+ * testsuite/23_containers/vector/cons/89164.cc: Adjust errors
+ for C++20 and move C++17 test to ...
+ * testsuite/23_containers/vector/cons/89164_c++17.cc: ... here.
+ * testsuite/23_containers/vector/bool/capacity/constexpr.cc: New test.
+ * testsuite/23_containers/vector/bool/cons/constexpr.cc: New test.
+ * testsuite/23_containers/vector/bool/element_access/constexpr.cc: New test.
+ * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: New test.
+ * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: New test.
+ * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: New test.
+ * testsuite/23_containers/vector/capacity/constexpr.cc: New test.
+ * testsuite/23_containers/vector/cons/constexpr.cc: New test.
+ * testsuite/23_containers/vector/data_access/constexpr.cc: New test.
+ * testsuite/23_containers/vector/element_access/constexpr.cc: New test.
+ * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: New test.
+ * testsuite/23_containers/vector/modifiers/constexpr.cc: New test.
+ * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: New test.
+
2021-11-11 Jonathan Wakely <jwakely@redhat.com>
* include/debug/deque (deque::operator=(const deque&)): Remove