mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 15:42:07 +08:00
Daily bump.
This commit is contained in:
parent
1bac7d31a1
commit
af2852b9dc
@ -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
|
||||
|
226
gcc/ChangeLog
226
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
|
||||
|
@ -1 +1 @@
|
||||
20211112
|
||||
20211113
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user