From 0fbefa25b3f928d97fb7fd61f1448a55e5ec612d Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Thu, 6 Jan 2022 00:16:32 +0000 Subject: [PATCH] Daily bump. --- ChangeLog | 4 + gcc/ChangeLog | 83 ++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 338 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/cp/ChangeLog | 9 ++ gcc/fortran/ChangeLog | 9 ++ gcc/testsuite/ChangeLog | 58 +++++++++ libstdc++-v3/ChangeLog | 139 ++++++++++++++++++++ 8 files changed, 641 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a9356f0..367fb60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2022-01-05 Nathan Sidwell + + * MAINTAINERS: Add DCO entry. Sort that list. + 2022-01-04 Gaius Mulley * MAINTAINERS: Change of email address in both DCO and diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b5d96b7..b9d9521 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,86 @@ +2022-01-05 Bill Schmidt + + PR target/103622 + * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): + Skip over instances with undefined function types. + +2022-01-05 Andrew Pinski + + PR target/103910 + * config/i386/i386.h (x86_mfence): Mark with GTY. + +2022-01-05 Uroš Bizjak + + PR target/103861 + * config/i386/mmx.md (VI_16_32): New mode iterator. + (VI1_16_32): Ditto. + (mmxvecsize): Handle V2QI mode. + (3): Rename from v4qi3. + Use VI1_16_32 mode iterator. + (3): Rename from v4qi3. + Use VI1_16_32 mode iterator. + (abs2): Use VI_16_32 mode iterator. + (uavgv2qi3_ceil): New insn pattern. + +2022-01-05 Martin Sebor + + * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use + %qs to avoid -Wformat-diag. + +2022-01-05 Uroš Bizjak + + PR target/103915 + * config/i386/mmx.md (one_cmplv2qi2): Change + alternatives 1,2 type from sselog to sselog1. + +2022-01-05 Uroš Bizjak + + PR target/103905 + * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of + narrow mode remapped elements for !one_operand_p case. + +2022-01-05 Richard Biener + + PR tree-optimization/103816 + * tree-vect-data-refs.c (vect_analyze_group_access_1): Also + check DR_GROUP_GAP compute for overflow and representability. + +2022-01-05 Jakub Jelinek + + PR fortran/103691 + * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference + for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value, + it can do unwanted rhs folding like &a[0] into &2.0 etc. + +2022-01-05 Kewen Lin + + PR ipa/102059 + * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro. + (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise. + (rs6000_need_ipa_fn_target_info): New function. + (rs6000_update_ipa_fn_target_info): Likewise. + (rs6000_can_inline_p): Adjust for ipa function summary target info. + * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro. + * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function + summary target info. + (analyze_function_body): Adjust for ipa function summary target info + and call hook rs6000_need_ipa_fn_target_info and + rs6000_update_ipa_fn_target_info. + (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary + target info. + (inline_read_section): Likewise. + (ipa_fn_summary_write): Likewise. + * ipa-fnsummary.h (ipa_fn_summary::target_info): New member. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook. + (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise. + * target.def (update_ipa_fn_target_info): New hook. + (need_ipa_fn_target_info): Likewise. + * targhooks.c (default_need_ipa_fn_target_info): New function. + (default_update_ipa_fn_target_info): Likewise. + * targhooks.h (default_update_ipa_fn_target_info): New declare. + (default_need_ipa_fn_target_info): Likewise. + 2022-01-04 Martin Sebor PR middle-end/99612 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 430a704..a8c8838 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20220105 +20220106 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index d5245ce..f45cc81 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,341 @@ +2022-01-05 Steve Baird + + * exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug + that was introduced in the previous commit. The previous + version initialized a Boolean constant Declare_Copy before the + variable Decl had been initialized properly. + +2022-01-05 Piotr Trojanek + + * sem_prag.adb (Adjust_External_Name_Case): Use membership test. + +2022-01-05 Piotr Trojanek + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): For + GNATprove build the wrapper as an expression function. + +2022-01-05 Piotr Trojanek + + * exp_ch3.ads (Make_Controlling_Function_Wrappers): Move + declaration from body to spec, so it can be called by + SPARK-specific expansion. + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Likewise. + * exp_spark.adb (SPARK_Freeze_Type): Enable expansion of + wrappers for function with controlling result types. + +2022-01-05 Piotr Trojanek + + * exp_dbug.adb, sem_dim.adb: Replace Add_Str_To_Name_Buffer with + Add_Char_To_Name_Buffer. + +2022-01-05 Piotr Trojanek + + * gnatls.adb (Gnatls): Use Name_Find function. + * targparm.adb (Get_Target_Parameters): Likewise. + +2022-01-05 Bob Duff + + * repinfo.adb (List_Entities): The code was assuming that if we + encounter a package in the current scope, then it must be + a (physically) nested package. That was wrong, because it could + be a child package. Avoid recursing into child packages; they + have not been annotated with representation information, and + -gnatR2 queries that information. + +2022-01-05 Marc Poulhiès + + * libgnat/s-sopco3.ads, libgnat/s-sopco3.adb: Remove. + * libgnat/s-sopco4.ads, libgnat/s-sopco4.adb: Remove. + * libgnat/s-sopco5.ads, libgnat/s-sopco5.adb: Remove. + * libgnat/s-strops.ads, libgnat/s-strops.adb: Remove. + * Makefile.rtl (ADA_EXCLUDE_SRCS): Remove occurences of removed + units. + * gcc-interface/Make-lang.in (ada/sdefault.o): Remove + dependencies on removed units. + (GNATBIND_OBJS): Remove occurences of removed units. + +2022-01-05 Piotr Trojanek + + * exp_ch3.adb (Build_Dcheck_Function): Remove extra whitespace. + * libgnarl/s-taskin.adb (Initialize_ATCB): Likewise. + +2022-01-05 Piotr Trojanek + + * exp_attr.adb (Build_Array_VS_Func): Remove explicit "IN" in + spec of the generated array validation function; it was + redundant, just like it would be in a user-written code. + +2022-01-05 Piotr Trojanek + + * exp_ch4.adb (Expand_N_Op_Ne): Fix whitespace. + * sem_dim.adb (Expand_Put_Call_With_Symbol): Likewise. + (Reduce): Likewise. + +2022-01-05 Piotr Trojanek + + * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Fix whitespace. + * libgnat/a-cofuve.ads (Add): Likewise. + * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Likewise. + +2022-01-05 Piotr Trojanek + + * exp_ch3.adb (Make_Eq_Body, Make_Neq_Body, + Make_Predefined_Primitive_Eq_Spec, + Make_Predefined_Primitive_Specs): Fix whitespace. + +2022-01-05 Etienne Servais + + * sem_ch3.adb (Analyze_Component_Declaration): Rework condition + to build subtypes. + (Analyze_Object_Declaration): Likewise. + (Should_Build_Subtype): New. + +2022-01-05 Yannick Moy + + * libgnat/s-arit128.adb: Mark in SPARK. + * libgnat/s-arit128.ads: Add functional contracts. + +2022-01-05 Piotr Trojanek + + * sem_util.adb (String_From_Numeric_Literal): Simplify using + membership tests and ranges; fix whitespace. + +2022-01-05 Yannick Moy + + * libgnat/s-expint.ads: Mark in SPARK. Adapt to change to + package. + * libgnat/s-explli.ads: Likewise. + * libgnat/s-expllli.ads: Likewise. + * libgnat/s-expont.adb: Add lemmas and ghost code. + * libgnat/s-expont.ads: Add functional contract. + +2022-01-05 Piotr Trojanek + + * exp_disp.adb (Gen_Parameters_Profile): Remove redundant guard. + +2022-01-05 Claire Dross + + * libgnat/s-valuti.ads (Starts_As_Exponent_Format_Ghost): Ghost + function to determine if a string is recognized as something + which might be an exponent. + (Is_Opt_Exponent_Format_Ghost): Ghost function to determine if a + string has the correct format for an optional exponent. + (Scan_Exponent): Use ghost functions to factorize contracts. + +2022-01-05 Bob Duff + + * exp_util.ads (Get_Current_Value_Condition): Belt: Add a + postcondition that Val /= Var. + * sem_util.adb (Known_Null): Suspenders: Raise Program_Error if + Get_Current_Value_Condition returned the same value. This will + be enabled even without assertions, because infinite recursion + is a nuisance -- better to crash if this bug ever occurs. + +2022-01-05 Piotr Trojanek + + * exp_ch3.adb (Make_Null_Procedure_Specs): Simplify by reusing + Copy_Subprogram_Spec. + * sem_util.ads (Copy_Subprogram_Spec): Add New_Sloc parameter. + * sem_util.adb (Copy_Subprogram_Spec): Pass New_Sloc to + New_Copy_Tree. + +2022-01-05 Yannick Moy + + * libgnat/s-exnint.ads: Mark in SPARK. Adapt to change to + package. + * libgnat/s-exnlli.ads: Likewise. + * libgnat/s-exnllli.ads: Likewise. + * libgnat/s-exponn.adb: Add lemmas and ghost code. Secial case + value zero as Left or Right to simplify proof. + * libgnat/s-exponn.ads: Transform the generic function into a + generic package with a function inside. Add a functional + contract. + +2022-01-05 Piotr Trojanek + + * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove redundant + call to Set_Defining_Unit_Name; a similar call is done few lines + below. + +2022-01-05 Piotr Trojanek + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create + distinct copies of parameter lists for spec and body with + Copy_Parameter_List; cleanup. + (Make_Null_Procedure_Specs): Fix style in comments; remove a + potentially unnecessary initialization of a local variable. + +2022-01-05 Bob Duff + + * einfo-utils.ads, einfo-utils.adb (Renamed_Entity Alias): + Change Node_Id to Entity_Id. + +2022-01-05 Piotr Trojanek + + * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wrapper): + Remove unreferenced spec. + * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wrapper): + Remove dead bodies. + +2022-01-05 Yannick Moy + + * libgnat/s-aridou.adb: Apply replacement. + +2022-01-05 Yannick Moy + + * libgnat/s-aridou.adb (Lemma_Word_Commutation): Fix for + instances with other values of Single_Size. + +2022-01-05 Marc Poulhiès + + * doc/gnat_rm/implementation_defined_pragmas.rst (Compiler_Unit) + (Compiler_Unit_Warning): Remove. + * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Regenerate. + * libgnat/g-dynhta.ads: Add comment indicating this unit is + built during stage1. + * libgnat/g-dyntab.ads: Likewise. + * libgnat/g-graphs.ads: Likewise. + * libgnat/g-lists.ads: Likewise. + * libgnat/g-sets.ads: Likewise. + * libgnat/gnat.ads: Likewise. + * libgnat/s-pehage.ads: Likewise. + * libgnat/s-resfil.ads: Likewise. + * libgnat/s-rident.ads: Likewise. + * libgnat/s-utf_32.ads: Likewise. + * errout.ads: Update comment. + * opt.ads (Opt): Remove Compiler_Unit. + * par-ch5.adb (All_Pragmas): Remove call to Check_Compiler_Unit. + * sem_prag.adb (Analyze_Pragma): Likewise. + * sem_ch4.adb (Non_Static_Choice_Error, Analyze_If_Expression) + (Analyze_Set_Membership, Record_Interp): Likewise. + * sem_ch11.adb (Analyze_Raise_Expression): Likewise. + * sem_ch6.adb: Remove Restric package reference. + (Analyze_Extended_Return_Statement): Remove call to + Check_Compiler_Unit. + * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): + Remove handling of Pragma_Compiler_Unit[_Warning}. + * restrict.adb (Check_Compiler_Unit): Remove both. + * restrict.ads: Likewise. + * snames.ads-tmpl (Pragma_Id): Remove + Pragma_Compiler_Unit[_Warning]. + * libgnat/a-assert.ads: Remove pragma Compiler_Unit_Warning. + * libgnat/a-chlat1.ads: Likewise. + * libgnat/a-elchha.adb: Likewise. + * libgnat/a-elchha.ads: Likewise. + * libgnat/a-ioexce.ads: Likewise. + * libgnat/a-strhas.ads: Likewise. + * libgnat/g-byorma.adb: Likewise. + * libgnat/g-byorma.ads: Likewise. + * libgnat/g-dyntab.adb: Likewise. + * libgnat/g-heasor.ads: Likewise. + * libgnat/g-hesora.adb: Likewise. + * libgnat/g-hesora.ads: Likewise. + * libgnat/g-htable.adb: Likewise. + * libgnat/g-htable.ads: Likewise. + * libgnat/g-spchge.adb: Likewise. + * libgnat/g-spchge.ads: Likewise. + * libgnat/g-speche.adb: Likewise. + * libgnat/g-speche.ads: Likewise. + * libgnat/g-table.ads: Likewise. + * libgnat/g-u3spch.adb: Likewise. + * libgnat/g-u3spch.ads: Likewise. + * libgnat/interfac.ads: Likewise. + * libgnat/s-addope.adb: Likewise. + * libgnat/s-addope.ads: Likewise. + * libgnat/s-assert.adb: Likewise. + * libgnat/s-assert.ads: Likewise. + * libgnat/s-bitops.adb: Likewise. + * libgnat/s-bitops.ads: Likewise. + * libgnat/s-carun8.adb: Likewise. + * libgnat/s-carun8.ads: Likewise. + * libgnat/s-casuti.adb: Likewise. + * libgnat/s-casuti.ads: Likewise. + * libgnat/s-conca2.adb: Likewise. + * libgnat/s-conca2.ads: Likewise. + * libgnat/s-conca3.adb: Likewise. + * libgnat/s-conca3.ads: Likewise. + * libgnat/s-conca4.adb: Likewise. + * libgnat/s-conca4.ads: Likewise. + * libgnat/s-conca5.adb: Likewise. + * libgnat/s-conca5.ads: Likewise. + * libgnat/s-conca6.adb: Likewise. + * libgnat/s-conca6.ads: Likewise. + * libgnat/s-conca7.adb: Likewise. + * libgnat/s-conca7.ads: Likewise. + * libgnat/s-conca8.adb: Likewise. + * libgnat/s-conca8.ads: Likewise. + * libgnat/s-conca9.adb: Likewise. + * libgnat/s-conca9.ads: Likewise. + * libgnat/s-crc32.adb: Likewise. + * libgnat/s-crc32.ads: Likewise. + * libgnat/s-crtl.ads: Likewise. + * libgnat/s-excdeb.adb: Likewise. + * libgnat/s-excdeb.ads: Likewise. + * libgnat/s-except.ads: Likewise. + * libgnat/s-exctab.adb: Likewise. + * libgnat/s-exctab.ads: Likewise. + * libgnat/s-finmas.ads: Likewise. + * libgnat/s-htable.adb: Likewise. + * libgnat/s-htable.ads: Likewise. + * libgnat/s-mastop.adb: Likewise. + * libgnat/s-mastop.ads: Likewise. + * libgnat/s-memory.adb: Likewise. + * libgnat/s-memory.ads: Likewise. + * libgnat/s-os_lib.ads: Likewise. + * libgnat/s-parame.adb: Likewise. + * libgnat/s-parame.ads: Likewise. + * libgnat/s-parame__posix2008.ads: Likewise. + * libgnat/s-purexc.ads: Likewise. + * libgnat/s-resfil.adb: Likewise. + * libgnat/s-restri.adb: Likewise. + * libgnat/s-restri.ads: Likewise. + * libgnat/s-secsta.adb: Likewise. + * libgnat/s-secsta.ads: Likewise. + * libgnat/s-soflin.adb: Likewise. + * libgnat/s-soflin.ads: Likewise. + * libgnat/s-sopco3.adb: Likewise. + * libgnat/s-sopco3.ads: Likewise. + * libgnat/s-sopco4.adb: Likewise. + * libgnat/s-sopco4.ads: Likewise. + * libgnat/s-sopco5.adb: Likewise. + * libgnat/s-sopco5.ads: Likewise. + * libgnat/s-spsufi.ads: Likewise. + * libgnat/s-stache.adb: Likewise. + * libgnat/s-stache.ads: Likewise. + * libgnat/s-stalib.adb: Likewise. + * libgnat/s-stalib.ads: Likewise. + * libgnat/s-stoele.adb: Likewise. + * libgnat/s-stoele.ads: Likewise. + * libgnat/s-strcom.adb: Likewise. + * libgnat/s-strcom.ads: Likewise. + * libgnat/s-strhas.adb: Likewise. + * libgnat/s-string.adb: Likewise. + * libgnat/s-string.ads: Likewise. + * libgnat/s-strops.adb: Likewise. + * libgnat/s-strops.ads: Likewise. + * libgnat/s-ststop.adb: Likewise. + * libgnat/s-ststop.ads: Likewise. + * libgnat/s-traceb.adb: Likewise. + * libgnat/s-traceb.ads: Likewise. + * libgnat/s-traent.adb: Likewise. + * libgnat/s-traent.ads: Likewise. + * libgnat/s-utf_32.adb: Likewise. + * libgnat/s-unstyp.ads: Likewise. + * libgnat/s-wchcnv.adb: Likewise. + * libgnat/s-wchcnv.ads: Likewise. + * libgnat/s-wchcon.adb: Likewise. + * libgnat/s-wchcon.ads: Likewise. + * libgnat/s-wchjis.adb: Likewise. + * libgnat/s-wchjis.ads: Likewise. + +2022-01-05 Arnaud Charlet + + * osint.adb (File_Names_Equal): Declare To_Lower locally. + * osint.ads (Null_FD): New. + * fmap.adb, sinput-l.adb, targparm.adb: Adapt to changes above. + * switch-b.adb (Scan_Debug_Switches): Use Is_Regular_File to + simplify the bootstrap dependencies. + 2022-01-03 Jakub Jelinek * gnat_ugn.texi: Bump @copying's copyright year. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3fbbf60..98f4d98 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,12 @@ +2022-01-05 Nathan Sidwell + + * pt.c (instantiate_class_template_1): Process attribute((used)) set + in class's context. + +2022-01-05 Nathan Sidwell + + * init.c (build_new_1): Check complain before alignment warning. + 2022-01-04 Jason Merrill * cp-tree.h (class releasing_vec): Add begin/end fns. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a796afb..f40f8a0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2022-01-05 Sandra Loosemore + + PR fortran/103258 + * decl.c (gfc_match_char_spec): Suppress errors around call + to gfc_reduce_init_expr. + * error.c (gfc_query_suppress_errors): New. + * gfortran.h (gfc_query_suppress_errors): Declare. + * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors. + 2022-01-03 Sandra Loosemore PR fortran/103390 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6cc7978..a6d13d0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,61 @@ +2022-01-05 Uroš Bizjak + + PR target/103861 + * gcc.target/i386/pr103861-3.c: New test. + * g++.dg/vect/slp-pr98855.cc (dg-final): Check that + no vectorization using SLP was performed. + +2022-01-05 Uroš Bizjak + + PR target/103915 + * gcc.target/i386/pr103915.c: New test. + +2022-01-05 Uroš Bizjak + + PR target/103905 + * gcc.target/i386/pr103905.c: New test. + +2022-01-05 Sandra Loosemore + + PR fortran/103258 + * gfortran.dg/pr103258.f90: New. + +2022-01-05 Nathan Sidwell + + * g++.dg/template/attr-used.C: New. + +2022-01-05 Nathan Sidwell + + * g++.dg/diagnostic/recur-align.C: New. + +2022-01-05 Richard Biener + + PR tree-optimization/103816 + * gcc.dg/torture/pr103816.c: New testcase. + +2022-01-05 Jakub Jelinek + + PR fortran/103691 + * gfortran.dg/pr103691.f90: New test. + +2022-01-05 Jakub Jelinek + + PR target/103895 + * gcc.target/i386/pr103895.c: Add -msse2 to dg-options. + +2022-01-05 Kewen Lin + + PR ipa/102059 + * gcc.dg/lto/pr102059-1_0.c: New test. + * gcc.dg/lto/pr102059-1_1.c: New test. + * gcc.dg/lto/pr102059-1_2.c: New test. + * gcc.dg/lto/pr102059-2_0.c: New test. + * gcc.dg/lto/pr102059-2_1.c: New test. + * gcc.dg/lto/pr102059-2_2.c: New test. + * gcc.target/powerpc/pr102059-1.c: New test. + * gcc.target/powerpc/pr102059-2.c: New test. + * gcc.target/powerpc/pr102059-3.c: New test. + 2022-01-04 Martin Sebor PR middle-end/99612 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3a4f03c..6a89059 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,142 @@ +2022-01-05 François Dumont + + PR libstdc++/68303 + * include/bits/hashtable_policy.h + (_Hashtable_hash_traits<_Hash>): New. + (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New. + (_Hashtable_base<>::_M_key_equals): New. + (_Hashtable_base<>::_M_equals): Use latter. + (_Hashtable_base<>::_M_key_equals_tr): New. + (_Hashtable_base<>::_M_equals_tr): Use latter. + * include/bits/hashtable.h + (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits. + (_Hashtable<>::find): Loop through elements to look for key if size is lower + than __small_size_threshold(). + (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. + (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise. + (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New. + (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter. + (_Hashtable<>::_M_find_before_node(const key_type&)): New. + (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter. + (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise. + * src/c++11/hashtable_c++0x.cc: Include . + * testsuite/util/testsuite_performance.h + (report_performance): Use 9 width to display memory. + * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: + New performance test case. + +2022-01-05 Jonathan Wakely + + PR libstdc++/103919 + * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)): + Relax constraints on string_view parameter. + * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)): + Likewise. + * testsuite/21_strings/basic_string/cons/char/103919.cc: New test. + +2022-01-05 Jonathan Wakely + + * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for + ARM EABI. + * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define. + * include/std/version (__cpp_lib_constexpr_typeinfo): Define. + * libsupc++/tinfo.cc: Add #error to ensure non-inline definition + is emitted. + (type_info::__equal): Define alias symbol. + * libsupc++/typeinfo (type_info::before): Combine different + implementations into one. + (type_info::operator==): Likewise. Use address equality for + constant evaluation. Call __equal for targets that require the + definition to be non-inline. + * testsuite/18_support/type_info/constexpr.cc: New test. + +2022-01-05 Jonathan Wakely + + * src/c++11/cxx11-ios_failure.cc (io_error_category): Define + class and virtual functions as 'final'. + (io_category_instance): Use constinit union to make the object + immortal. + * src/c++11/future.cc (future_error_category): Define class and + virtual functions as 'final'. + (future_category_instance): Use constinit union. + +2022-01-05 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip + versioned namespace from the type name that is printed. + +2022-01-05 Jonathan Wakely + + * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New + printer for std::regex NFA states. + +2022-01-05 Jonathan Wakely + + * testsuite/23_containers/forward_list/operations/1.cc: Fill in + placeholders in comments. + * testsuite/23_containers/forward_list/operations/2.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/3.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/4.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/5.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/6.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/7.cc: + Likewise. + +2022-01-05 Jonathan Wakely + + PR libstdc++/103848 + * include/bits/stl_deque.h (operator-): Do not use 0 as null + pointer constant. + +2022-01-05 Jonathan Wakely + + * include/bits/alloc_traits.h (allocator_traits>): + Use std::_Construct for construct. + +2022-01-05 Jonathan Wakely + + PR libstdc++/103877 + * doc/xml/faq.xml: Add '-x c++' to preprocessor command. + * doc/html/faq.html: Regenerate. + +2022-01-05 Jonathan Wakely + + * include/bits/regex.h (__regex_algo_impl): Change __policy and + __match_mode template parameters to be function parameters. + (regex_match, regex_search): Pass policy and match mode as + function arguments. + * include/bits/regex.tcc (__regex_algo_impl): Change template + parameters to function parameters. + * include/bits/regex_compiler.h (_RegexTranslatorBase): Use + 'if constexpr' for conditions using template parameters. + (_RegexTranslator): Likewise. + * include/bits/regex_executor.tcc (_Executor::_M_handle_accept): + Likewise. + * testsuite/util/testsuite_regex.h (regex_match_debug) + (regex_search_debug): Move template arguments to function + arguments. + +2022-01-05 Jonathan Wakely + + * testsuite/util/testsuite_regex.h (regex_match_debug): Compare + results even if the match failed. + +2022-01-05 Jonathan Wakely + + * include/bits/regex_compiler.tcc: Adjust all calls to + __throw_regex_error. + * include/bits/regex_error.h (__throw_regex_error): Add noreturn + attribute. + * include/bits/regex_scanner.tcc: Likewise. + * src/c++11/regex.cc (desc): New helper function. + (regex_error::regex_error(error_type)): Use desc to get a string + corresponding to the error code. + Copyright (C) 2022 Free Software Foundation, Inc. -- 2.7.4