aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2021-09-24 00:16:23 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2021-09-24 00:16:23 +0000
commit391b23e02bf29a103422f54ed034650afa99152b (patch)
tree2e7e313dad8a427da339ac0358addba895808812
parent2646d0e06b170569be1da28fce1d6e2f03a15f60 (diff)
downloadgcc-391b23e02bf29a103422f54ed034650afa99152b.zip
gcc-391b23e02bf29a103422f54ed034650afa99152b.tar.gz
gcc-391b23e02bf29a103422f54ed034650afa99152b.tar.bz2
Daily bump.
-rw-r--r--gcc/ChangeLog169
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/ada/ChangeLog140
-rw-r--r--gcc/cp/ChangeLog26
-rw-r--r--gcc/fortran/ChangeLog13
-rw-r--r--gcc/testsuite/ChangeLog66
-rw-r--r--libiberty/ChangeLog10
-rw-r--r--libstdc++-v3/ChangeLog39
8 files changed, 464 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a35c5b7..318d889 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,172 @@
+2021-09-23 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/102463
+ * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): If
+ there is no range-ops handler, don't look for a relation.
+
+2021-09-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Take
+ non-executable_edge flag as parameter.
+ * gimple-range-cache.h (ranger_cache): Adjust prototype.
+ * gimple-range-gori.cc (gori_compute::gori_compute): Take
+ non-executable_edge flag as parameter.
+ (gori_compute::outgoing_edge_range_p): Check new flag.
+ * gimple-range-gori.h (gori_compute): Adjust prototype.
+ * gimple-range.cc (gimple_ranger::gimple_ranger): Create new flag.
+ (gimple_ranger::range_on_edge): Check new flag.
+ * gimple-range.h (gimple_ranger::non_executable_edge_flag): New.
+ * gimple-ssa-evrp.c (rvrp_folder): Pass ranger flag to simplifer.
+ (hybrid_folder::hybrid_folder): Set ranger non-executable flag value.
+ (hybrid_folder::fold_stmt): Set flag value in the simplifer.
+ * vr-values.c (simplify_using_ranges::set_and_propagate_unexecutable):
+ Use not_executable flag if provided inmstead of EDGE_EXECUTABLE.
+ (simplify_using_ranges::simplify_switch_using_ranges): Clear
+ EDGE_EXECUTABLE like it originally did.
+ (simplify_using_ranges::cleanup_edges_and_switches): Clear any
+ NON_EXECUTABLE flags.
+ (simplify_using_ranges::simplify_using_ranges): Adjust.
+ * vr-values.h (class simplify_using_ranges): Adjust.
+ (simplify_using_ranges::set_range_query): Add non-executable flag param.
+
+2021-09-23 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR target/102024
+ * config/rs6000/rs6000-call.c (rs6000_aggregate_candidate): Detect
+ zero-width bit fields and return indicator.
+ (rs6000_discover_homogeneous_aggregate): Diagnose when the
+ presence of a zero-width bit field changes parameter passing in
+ GCC 12.
+
+2021-09-23 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple-range-fold.cc (fold_using_range::range_of_phi):
+ Remove dominator check.
+
+2021-09-23 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple-range-path.cc (path_range_query::precompute_relations):
+ Hoist edge calculations before using EDGE_SUCC.
+
+2021-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * configure.ac: Fix --with-multilib-list description.
+ * configure: Regenerate.
+
+2021-09-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/102448
+ * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info):
+ Clear alignment info copied from DR_PTR_INFO.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * config/i386/i386-expand.c (ix86_use_mask_cmp_p): Enable
+ HFmode mask_cmp.
+ * config/i386/sse.md (sseintvecmodelower): Add HF vector modes.
+ (<avx512>_store<mode>_mask): Extend to support HF vector modes.
+ (vec_cmp<mode><avx512fmaskmodelower>): Likewise.
+ (vcond_mask_<mode><avx512fmaskmodelower>): Likewise.
+ (vcond<mode><mode>): New expander.
+ (vcond<mode><sseintvecmodelower>): Likewise.
+ (vcond<sseintvecmodelower><mode>): Likewise.
+ (vcondu<mode><sseintvecmodelower>): Likewise.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * config/i386/sse.md (extend<ssePHmodelower><mode>2):
+ New expander.
+ (extendv4hf<mode>2): Likewise.
+ (extendv2hfv2df2): Likewise.
+ (trunc<mode><ssePHmodelower>2): Likewise.
+ (avx512fp16_vcvt<castmode>2ph_<mode>): Rename to ...
+ (trunc<mode>v4hf2): ... this, and drop constraints.
+ (avx512fp16_vcvtpd2ph_v2df): Rename to ...
+ (truncv2dfv2hf2): ... this, and likewise.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * config/i386/sse.md (float<floatunssuffix><mode><ssePHmodelower>2):
+ New expander.
+ (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>):
+ Rename to ...
+ (float<floatunssuffix><mode>v4hf2): ... this, and drop constraints.
+ (avx512fp16_vcvt<floatsuffix>qq2ph_v2di): Rename to ...
+ (float<floatunssuffix>v2div2hf2): ... this, and likewise.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * config/i386/i386.md (fix<fixunssuffix>_trunchf<mode>2): New expander.
+ (fixuns_trunchfhi2): Likewise.
+ (*fixuns_trunchfsi2zext): New define_insn.
+ * config/i386/sse.md (ssePHmodelower): New mode_attr.
+ (fix<fixunssuffix>_trunc<ssePHmodelower><mode>2):
+ New expander for same element vector fix_truncate.
+ (fix<fixunssuffix>_trunc<ssePHmodelower><mode>2):
+ Likewise for V4HF to V4SI/V4DI fix_truncate.
+ (fix<fixunssuffix>_truncv2hfv2di2):
+ Likeise for V2HF to V2DI fix_truncate.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * config/i386/i386.md (<code>hf3): New expander.
+
+2021-09-23 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/sse.md (FMAMODEM): extend to handle FP16.
+ (VFH_SF_AVX512VL): Extend to handle HFmode.
+ (VF_SF_AVX512VL): Deleted.
+
+2021-09-23 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/i386.md (rinthf2): New expander.
+ (nearbyinthf2): New expander.
+
+2021-09-23 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-ssa-dom.c (class dom_jump_threader_simplifier): Rename...
+ (class dom_jt_state): ...this and provide virtual overrides.
+ (dom_jt_state::register_equiv): New.
+ (class dom_jt_simplifier): Rename from
+ dom_jump_threader_simplifier.
+ (dom_jump_threader_simplifier::simplify): Rename...
+ (dom_jt_simplifier::simplify): ...to this.
+ (pass_dominator::execute): Use dom_jt_simplifier and
+ dom_jt_state.
+ * tree-ssa-threadedge.c (jump_threader::jump_threader):
+ Clean-up.
+ (jt_state::register_equivs_stmt): Abstract out...
+ (jump_threader::record_temporary_equivalences_from_stmts_at_dest):
+ ...from here.
+ (jump_threader::thread_around_empty_blocks): Update state.
+ (jump_threader::thread_through_normal_block): Same.
+ (jt_state::jt_state): Remove.
+ (jt_state::push): Remove pass specific bits. Keep block vector
+ updated.
+ (jt_state::append_path): New.
+ (jt_state::pop): Remove pass specific bits.
+ (jt_state::register_equiv): Same.
+ (jt_state::record_ranges_from_stmt): Same.
+ (jt_state::register_equivs_on_edge): Same. Rename...
+ (jt_state::register_equivs_edge): ...to this.
+ (jt_state::dump): New.
+ (jt_state::debug): New.
+ (jump_threader_simplifier::simplify): Remove.
+ (jt_state::get_path): New.
+ * tree-ssa-threadedge.h (class jt_simplifier): Make into a base
+ class. Expose common functionality as virtual methods.
+ (class jump_threader_simplifier): Same. Rename...
+ (class jt_simplifier): ...to this.
+ * tree-vrp.c (class vrp_jump_threader_simplifier): Rename...
+ (class vrp_jt_simplifier): ...to this. Provide pass specific
+ overrides.
+ (class vrp_jt_state): New.
+ (vrp_jump_threader_simplifier::simplify): Rename...
+ (vrp_jt_simplifier::simplify): ...to this. Inline code from
+ what used to be the base class.
+ (vrp_jump_threader::vrp_jump_threader): Use vrp_jt_state and
+ vrp_jt_simplifier.
+
2021-09-22 Tobias Burnus <tobias@codesourcery.com>
PR fortran/55534
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index d6fc060..6ac89e9 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20210923
+20210924
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 4d44d79..9074908 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,143 @@
+2021-09-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment.
+
+2021-09-23 Richard Kenner <kenner@adacore.com>
+
+ * gen_il-gen-gen_entities.adb (Subprogram_Body_Or_Type): Add.
+ * gen_il-types.ads (Subprogram_Body_Or_Type): Likewise.
+
+2021-09-23 Richard Kenner <kenner@adacore.com>
+
+ * einfo-utils.adb (Next_Index): Verify input and output are
+ N_Is_Index.
+ * gen_il-gen-gen_nodes.adb (N_Has_Bounds, N_Is_Index): Add.
+ * gen_il-types.ads (N_Has_Bounds, N_Is_Index): Likewise.
+ * sem_ch3.adb (Array_Type_Declaration): Use Next, not
+ Next_Index.
+ * sem_ch12.adb (Formal_Dimensions): Likewise.
+ * sem_util.adb (Is_Valid_Renaming): Likewise.
+
+2021-09-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize):
+ Document new --load option and -g1 as minimal compilation
+ requirement.
+
+2021-09-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Only keep the bounds
+ for internally generated attributes; otherwise, compute them
+ anew.
+
+2021-09-23 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Decorate the
+ wrapper with attribute Is_Wrapper, and move its declaration to
+ the freezing actions of its type declaration; done to facilitate
+ identifying it at later stages to avoid handling it as a
+ primitive operation of a tagged type; otherwise it may be
+ handled as a dispatching operation and erroneously registered in
+ a dispatch table.
+ (Make_Index): Add missing decoration of field Parent.
+ * sem_disp.adb (Check_Dispatching_Operation): Complete
+ decoration of late-overriding dispatching primitives.
+ (Is_Access_To_Subprogram_Wrapper): New subprogram.
+ (Inherited_Subprograms): Prevent cascaded errors; adding missing
+ support for private types.
+ * sem_type.adb (Add_One_Interp): Add missing support for the
+ first interpretation of a primitive of an inmediate ancestor
+ interface.
+ * sem_util.adb (Check_Result_And_Post_State_In_Pragma): Do not
+ report missing reference in postcondition placed in internally
+ built wrappers.
+ * exp_disp.adb (Expand_Dispatching_Call): Adding assertion.
+
+2021-09-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Check the validity of
+ an array aggregate all of whose components are iterated
+ component associations.
+ * exp_aggr.adb (Expand_Array_Aggregate,
+ Two_Pass_Aggregate_Expansion): implement two-pass algorithm and
+ replace original aggregate with resulting temporary, to ensure
+ that a proper length check is performed if context is
+ constrained. Use attributes Pos and Val to handle index types of
+ any discrete type.
+
+2021-09-23 Bob Duff <duff@adacore.com>
+
+ * gen_il-gen.adb: Set the number of concrete nodes that have the
+ Homonym field to a higher number than any other field. This
+ isn't true, but it forces Homonym's offset to be chosen first,
+ so it will be at offset zero and hence slot zero.
+
+2021-09-23 Richard Kenner <kenner@adacore.com>
+
+ * atree.adb (Relocate_Node): If relocating a subprgram call and
+ we're doing unnesting, make a new Parameter_Associations, if
+ any.
+
+2021-09-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove explicit
+ Initializes contract.
+
+2021-09-23 Bob Duff <duff@adacore.com>
+
+ * gen_il-gen.adb: Generate getters and setters with much of the
+ code inlined. Generate code for storing a few fields in the node
+ header, to avoid the extra level of indirection for those
+ fields. We generate the header type, so we don't have to
+ duplicate hand-written Ada and C code to depend on the number of
+ header fields. Declare constants for slot size. Use short names
+ because these are used all over. Remove
+ Put_Low_Level_Accessor_Instantiations, Put_Low_Level_C_Getter,
+ which are no longer needed. Rename
+ Put_High_Level_C_Getter-->Put_C_Getter.
+ * atree.ads, atree.adb: Take into account the header slots.
+ Take into account the single Node_Or_Entity_Field type. Remove
+ "pragma Assertion_Policy (Ignore);", because the routines in
+ this package are no longer efficiency critical.
+ * atree.h: Remove low-level getters, which are no longer used by
+ sinfo.h and einfo.h.
+ * einfo-utils.adb: Avoid crash in Known_Alignment.
+ * live.adb, sem_eval.adb: Remove code that prevents Node_Id from
+ having a predicate. We don't actually add a predicate to
+ Node_Id, but we want to be able to for temporary debugging.
+ * sinfo-utils.adb: Remove code that prevents Node_Id from having
+ a predicate. Take into account the single Node_Or_Entity_Field
+ type.
+ * sinfo-utils.ads: Minor.
+ * table.ads (Table_Type): Make the components aliased, because
+ low-level setters in Atree need to take 'Access.
+ * treepr.adb: Take into account the single Node_Or_Entity_Field
+ type. Make some code more robust, so we can print out
+ half-baked nodes.
+ * types.ads: Move types here for visibility purposes.
+ * gcc-interface/gigi.h, gcc-interface/trans.c: Take into account
+ the Node_Header change in the GNAT front end.
+ * gcc-interface/cuintp.c, gcc-interface/targtyps.c: Add because
+ gigi.h now refers to type Node_Header, which is in sinfo.h.
+
+2021-09-23 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-strfix.adb (Delete, Insert, Overwrite,
+ Replace_Slice): Remove SPARK_Mode Off.
+ * libgnat/a-strfix.ads (Insert, Overwrite, Replace_Slice):
+ Strengthen precondition.
+
+2021-09-23 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/a-strbou.ads (Generic_Bounded_Length): Remove non-null
+ Global contracts.
+
+2021-09-23 Steve Baird <baird@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_characteristics.rst: Update
+ this section to reflect the current version of Ada RM M.2.
+ * gnat_rm.texi: Regenerate.
+
2021-09-22 Yannick Moy <moy@adacore.com>
* libgnat/a-strfix.ads (Trim): Simplify contracts.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7944726..6918bf9 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,29 @@
+2021-09-23 Michel Morin <mimomorin@gmail.com>
+
+ * parser.c (cp_keyword_starts_decl_specifier_p): Do not
+ handle RID_ATTRIBUTE.
+ (cp_parser_constructor_declarator_p): Remove now-redundant
+ checks.
+ (cp_parser_lambda_declarator_opt): Likewise.
+
+2021-09-23 Michel Morin <mimomorin@gmail.com>
+
+ PR c++/77565
+ * parser.c (cp_keyword_starts_decl_specifier_p): Handle more
+ decl-specifiers (typedef/inline/cv/explicit/virtual/friend).
+
+2021-09-23 Patrick Palka <ppalka@redhat.com>
+
+ * ptree.c (cxx_print_decl): Dump the DECL_TEMPLATE_RESULT of
+ a TEMPLATE_DECL. Dump the DECL_TEMPLATE_INFO rather than just
+ printing its pointer value.
+
+2021-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/102413
+ * parser.c (cp_parser_omp_directive_args): Diagnose if omp::directive
+ is not followed by a balanced token sequence starting with open paren.
+
2021-09-22 Patrick Palka <ppalka@redhat.com>
DR 2446
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index f96198d5..42c3cbe 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,18 @@
2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
+ PR fortran/101320
+ * decl.c (gfc_verify_c_interop_param): Handle F2018 C1557,
+ aka TS29113 C516.
+
+2021-09-23 Harald Anlauf <anlauf@gmx.de>
+ Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/93834
+ * trans-intrinsic.c (gfc_conv_allocated): Cleanup. Handle
+ coindexed scalar coarrays.
+
+2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
+
PR fortran/101319
* interface.c (gfc_compare_actual_formal): Extend existing
assumed-type diagnostic to also check for argument with type
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0605e9f..8198aee 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,71 @@
2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
+ PR fortran/101320
+ * gfortran.dg/c-interop/c516.f90: Remove xfails. Add more
+ tests.
+
+2021-09-23 Michel Morin <mimomorin@gmail.com>
+
+ PR c++/77565
+ * g++.dg/spellcheck-pr77565.C: New test.
+
+2021-09-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc.dg/pr102463.c: New.
+
+2021-09-23 Harald Anlauf <anlauf@gmx.de>
+ Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/93834
+ * gfortran.dg/coarray/coarray_allocated.f90: New test.
+
+2021-09-23 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR target/102024
+ * g++.target/powerpc/pr102024.C: New.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * g++.target/i386/avx512fp16-vcondmn-vec.C: New test.
+ * g++.target/i386/avx512fp16-vcondmn-minmax.C: Ditto.
+ * gcc.target/i386/avx512fp16-vcondmn-loop-1.c: Ditto.
+ * gcc.target/i386/avx512fp16-vcondmn-loop-2.c: Ditto.
+ * gcc.target/i386/avx512fp16-vec_cmpmn.c: Ditto.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * gcc.target/i386/avx512fp16-trunc-extendvnhf.c: New test.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * gcc.target/i386/avx512fp16-floatvnhf.c: New test.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * gcc.target/i386/avx512fp16-trunchf.c: New test.
+ * gcc.target/i386/avx512fp16-truncvnhf.c: Ditto.
+
+2021-09-23 Hongyu Wang <hongyu.wang@intel.com>
+
+ * gcc.target/i386/avx512fp16-builtin-minmax-1.c: New test.
+
+2021-09-23 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-fma-1.c: New test.
+ * gcc.target/i386/avx512fp16vl-fma-1.c: New test.
+ * gcc.target/i386/avx512fp16vl-fma-vectorize-1.c: New test.
+
+2021-09-23 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512fp16-builtin-round-1.c: Add new testcase.
+
+2021-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/102413
+ * g++.dg/gomp/attrs-14.C: New test.
+
+2021-09-23 Sandra Loosemore <sandra@codesourcery.com>
+
PR fortran/101319
* gfortran.dg/c-interop/assumed-type-dummy.f90: Remove xfail.
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 7c337c2..6988ffd 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,13 @@
+2021-09-23 Luís Ferreira <contact@lsferreira.net>
+
+ * d-demangle.c (dlang_Type): Validate MANGLED is nonnull.
+ * testsuite/d-demangle-expected: New test.
+
+2021-09-23 Luís Ferreira <contact@lsferreira.net>
+
+ * d-demangle.c (dlang_symbol_backref): Ensure strlen of
+ string is less than length computed by dlang_number.
+
2021-09-01 Iain Sandoe <iain@sandoe.co.uk>
* configure: Regenerate.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 22f78a3..10368ff 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,42 @@
+2021-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
+ Remove dg-error lines for C++20-only errors.
+
+2021-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/19_diagnostics/headers/system_error/93151.cc:
+ Disable PCH.
+
+2021-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++11/system_error.cc (system_error_category) [_WIN32]:
+ Map Windows error codes to generic POSIX error numbers. Use
+ FormatMessage instead of strerror.
+ * testsuite/19_diagnostics/error_category/system_category.cc:
+ Adjust for new behaviour on Windows.
+
+2021-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++11/system_error.cc (generic_error_category): Define
+ class and virtual functions as 'final'.
+ (generic_error_category::equivalent(int, const error_condition&)):
+ Override.
+ (system_error_category): Define class and virtual functions as
+ 'final'.
+ (system_error_category::equivalent(int, const error_condition&)):
+ Override.
+ (generic_category_instance, system_category_instance): Use
+ constinit union to make the objects immortal.
+
+2021-09-23 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102425
+ * src/c++11/system_error.cc
+ (system_error_category::default_error_condition): Add 0 to
+ switch.
+ * testsuite/19_diagnostics/error_category/102425.cc: New test.
+
2021-09-17 Jonathan Wakely <jwakely@redhat.com>
* include/bits/fs_path.h (path::iterator): Add noexcept to all