From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 1BCE6383D02B; Sat, 19 Jun 2021 00:17:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1BCE6383D02B MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r12-1657] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: cc9c94d43dcfa98436152af9c00f011e9dab25f6 X-Git-Newrev: c5581d4842efff98060c6caf270c6f6c55e9888a Message-Id: <20210619001711.1BCE6383D02B@sourceware.org> Date: Sat, 19 Jun 2021 00:17:11 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2021 00:17:11 -0000 https://gcc.gnu.org/g:c5581d4842efff98060c6caf270c6f6c55e9888a commit r12-1657-gc5581d4842efff98060c6caf270c6f6c55e9888a Author: GCC Administrator Date: Sat Jun 19 00:16:33 2021 +0000 Daily bump. Diff: --- ChangeLog | 4 + gcc/ChangeLog | 92 ++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 286 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/analyzer/ChangeLog | 35 ++++++ gcc/fortran/ChangeLog | 7 ++ gcc/testsuite/ChangeLog | 32 ++++++ libstdc++-v3/ChangeLog | 116 ++++++++++++++++++++ 8 files changed, 573 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index fba4c8400f8..5a88b740ade 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2021-06-18 Antoni Boucher + + * MAINTAINERS (Write After Approval): Add myself. + 2021-06-17 Aldy Hernandez * MAINTAINERS (Various Maintainers): Add Andrew and myself diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6cd9445ec04..4597e5992ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,95 @@ +2021-06-18 Jeff Law + + * config/h8300/h8300.c (h8300_select_cc_mode): Handle SYMBOL_REF. + * config/h8300/logical.md (3 logcial expander): Generate + more efficient code when the source can be trivially simplified. + +2021-06-18 Andrew MacLeod + + * gimple-range-cache.cc (ranger_cache::range_of_def): Calculate + a range if global is not available. + (ranger_cache::entry_range): Fallback to range_of_def. + * gimple-range-cache.h (range_of_def): Adjust prototype. + +2021-06-18 Andrew MacLeod + + PR tree-optimization/101014 + * gimple-range-cache.cc (ranger_cache::ranger_cache): Remove poor + value list. + (ranger_cache::~ranger_cache): Ditto. + (ranger_cache::enable_new_values): Delete. + (ranger_cache::push_poor_value): Delete. + (ranger_cache::range_of_def): Remove poor value processing. + (ranger_cache::entry_range): Ditto. + (ranger_cache::fill_block_cache): Ditto. + * gimple-range-cache.h (class ranger_cache): Remove poor value members. + * gimple-range.cc (gimple_ranger::range_of_expr): Remove call. + * gimple-range.h (class gimple_ranger): Adjust. + +2021-06-18 Srinath Parvathaneni + + PR target/100856 + * common/config/arm/arm-common.c (arm_canon_arch_option_1): New function + derived from arm_canon_arch. + (arm_canon_arch_option): Call it. + (arm_canon_arch_multilib_option): New function. + * config/arm/arm-cpus.in (IGNORE_FOR_MULTILIB): New fgroup. + * config/arm/arm.h (arm_canon_arch_multilib_option): New prototype. + (CANON_ARCH_MULTILIB_SPEC_FUNCTION): New macro. + (MULTILIB_ARCH_CANONICAL_SPECS): New macro. + (DRIVER_SELF_SPECS): Add MULTILIB_ARCH_CANONICAL_SPECS. + * config/arm/arm.opt (mlibarch): New option. + * config/arm/t-rmprofile (MULTILIB_MATCHES): For armv8*-m, replace use + of march on RHS with mlibarch. + +2021-06-18 Marcel Vollweiler + + * config.in: Regenerate. + * config/gcn/gcn.c (print_operand_address): Fix for global_load assembler + functions. + * configure: Regenerate. + * configure.ac: Fix for global_load assembler functions. + +2021-06-18 Richard Biener + + PR tree-optimization/101112 + * tree-vect-slp.c (vect_slp_linearize_chain): Fix condition + to lookup a pattern stmt def. + +2021-06-18 Jakub Jelinek + + PR middle-end/101062 + * stor-layout.c (finish_bitfield_layout): Don't add bitfield + representatives in QUAL_UNION_TYPE. + +2021-06-18 Andrew Pinski + + * tree-ssa-phiopt.c (replace_phi_edge_with_variable): + Add counting of how many times it is done. + (factor_out_conditional_conversion): Likewise. + (match_simplify_replacement): Likewise. + (value_replacement): Likewise. + (spaceship_replacement): Likewise. + (cond_store_replacement): Likewise. + (cond_if_else_store_replacement_1): Likewise. + (hoist_adjacent_loads): Likewise. + +2021-06-18 Andrew Pinski + + * tree-cfg.c (verify_gimple_assign_unary): Reject point and offset + types on NEGATE_EXPR, ABS_EXPR, BIT_NOT_EXPR, PAREN_EXPR and CNONJ_EXPR. + (verify_gimple_assign_binary): Reject point and offset types on + MULT_EXPR, MULT_HIGHPART_EXPR, TRUNC_DIV_EXPR, CEIL_DIV_EXPR, + FLOOR_DIV_EXPR, ROUND_DIV_EXPR, TRUNC_MOD_EXPR, CEIL_MOD_EXPR, + FLOOR_MOD_EXPR, ROUND_MOD_EXPR, RDIV_EXPR, and EXACT_DIV_EXPR. + +2021-06-18 Michael Meissner + + * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support for ISA + 3.1 IEEE 128-bit floating point xsmaxcqp/xsmincqp instructions. + * config/rs6000/rs6000.md (s3, IEEE128 iterator): + New insns. + 2021-06-17 Aaron Sawdey * config/rs6000/genfusion.pl (gen_logical_addsubf): Add diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 1c09ea68c98..a522144b0f9 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210618 +20210619 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1927007b235..baf0dbd0c8b 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,289 @@ +2021-06-18 Gary Dismukes + + * sem_ch3.adb (Constrain_Array): Add error checking for + fixed-lower-bound and constrained index ranges applied + inappropriately on subtypes of unconstrained and + fixed-lower-bound array types. + (Constrain_Index): Correct and refine comment related to + fixed-lower-bound index ranges. + +2021-06-18 Bob Duff + + * gen_il-gen.adb: Improve comments. + * snames.ads-tmpl (Convention_Id): Remove "-- Plenty of space + for expansion", because that's irrelevant now that we are no + longer laying out node fields by hand. + +2021-06-18 Piotr Trojanek + + * sem_util.adb (Denotes_Same_Object): Handle character literals + just like integer literals. + +2021-06-18 Piotr Trojanek + + * sem_util.adb (Denotes_Same_Object): Explicitly test for node + kinds being the same; deal with renamings one-by-one; adjust + numbers in references to the Ada RM. + +2021-06-18 Bob Duff + + * sprint.adb (Write_Source_Line): Check for EOF in + Line_Terminator loop. Note that when a source file is read in, + an EOF character is added to the end. + +2021-06-18 Piotr Trojanek + + * sem_aux.adb (Package_Specification): Add assertions to confirm + the kind of the of parameter and returned node. + * sem_ch12.adb (Remove_Parent): Reorder conditions; this change + appears to be semantically neutral, but is enough to avoid the + problematic call to Package_Specification. + * sem_util.adb (Is_Incomplete_Or_Private_Type): Replace loop + with a call to Package_Specification. + +2021-06-18 Bob Duff + + * sem_attr.adb (Eval_Attribute): For Enum_Lit'Size, use + Enum_Type'Object_Size. + +2021-06-18 Olivier Hainque + + * sigtramp-vxworks-target.inc (__aarch64__): Sync + REGNO_PC_OFFSET with the back-end DWARF_ALT_FRAME_RETURN_COLUMN. + In CFI_COMMON_REGS, leave r18 alone, VxWorks private. + +2021-06-18 Javier Miranda + + * contracts.adb (Process_Spec_Postconditions): Add missing + support for aliased subprograms and handle wrappers of + class-wide pre/post conditions. + (Process_Inherited_Preconditions): Add missing support for + aliased subprograms and handle wrappers of class-wide pre/post + conditions. + * einfo.ads (Class_Wide_Clone): Fix typo. + (Is_Class_Wide_Clone): Removed since it is not referenced. + (Is_Wrapper): Documenting new flag. + (LSP_Subprogram): Documenting new attribute. + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Decorate + wrapper as Is_Wrapper and adjust call to + Override_Dispatching_Operation. + * freeze.adb (Build_Inherited_Condition_Pragmas): Fix typo in + documentation. + (Check_Inherited_Conditions): Handle LSP wrappers; ensure + correct decoration of LSP wrappers. + * gen_il-fields.ads (Is_Class_Wide_Clone): Removed. + (Is_Wrapper): Added. + (LSP_Subprogram): Added. + * gen_il-gen-gen_entities.adb (Is_Class_Wide_Clone): Removed. + (Is_Wrapper): Added. + (LSP_Subprogram): Added. + * gen_il-internals.adb (Image): Adding uppercase image of + LSP_Subprogram. + * sem_ch6.adb (New_Overloaded_Entity): Fix decoration of LSP + wrappers. + * sem_disp.ads (Override_Dispatching_Operation): Remove + parameter Is_Wrapper; no longer needed. + * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion. + (Override_Dispatching_Operation): Remove parameter Is_Wrapper; + no longer needed. + * treepr.adb (Image): Adding uppercase image of LSP_Subprogram. + +2021-06-18 Arnaud Charlet + + * exp_ch4.adb (Expand_N_Quantified_Expression): Ensure the type + of the name of a "for of" loop is frozen. + * exp_disp.adb (Check_Premature_Freezing): Complete condition to + take into account a private type completed by another private + type now that the freezing rule are better implemented. + * freeze.adb (Freeze_Entity.Freeze_Profile): Do not perform an + early freeze on types if not in the proper scope. Special case + expression functions that requires access to the dispatch table. + (Should_Freeze_Type): New. + * sem_ch13.adb (Resolve_Aspect_Expressions): Prevent assert + failure in case of an invalid tree (previous errors detected). + * sem_res.adb (Resolve): Remove kludge related to entities + causing incorrect premature freezing. + * sem_util.adb (Ensure_Minimum_Decoration): Add protection + against non base types. + +2021-06-18 Gary Dismukes + + * sem_ch3.adb (Constrain_Index): Set the High_Bound of a + fixed-lower-bound subtype's range to T (the subtype of the FLB + index being constrained) rather than Base_Type (T). + +2021-06-18 Bob Duff + + * ada_get_targ.adb, aspects.ads, checks.adb, cstand.adb, + einfo.ads, exp_attr.adb, freeze.adb, get_targ.adb, + libgnat/a-textio.ads, libgnat/g-memdum.ads, + libgnat/s-scaval__128.adb, libgnat/s-scaval.adb, make.adb, + osint.ads, par-prag.adb, sem_ch13.adb, sem_prag.adb, + sem_prag.ads, set_targ.adb, set_targ.ads, snames.ads-tmpl, + targparm.ads, types.ads: Remove AAMP-specific code. + * switch.ads: Minor reformatting. + * gen_il-fields.ads, gen_il-gen.adb, + gen_il-gen-gen_entities.adb, gen_il-types.ads, einfo-utils.adb, + einfo-utils.ads: Package Types now contains "type Float_Rep_Kind + is (IEEE_Binary);", which used to also have an enumeral AAMP. + Gen_IL can't handle fields of this type, which would be zero + sized. Therefore, we move the Float_Rep field into Einfo.Utils + as a synthesized attribute. (We do not delete the field + altogether, in case we want new floating-point representations + in the future.) + * doc/gnat_rm/implementation_defined_pragmas.rst, + doc/gnat_rm/implementation_defined_aspects.rst, + doc/gnat_ugn/building_executable_programs_with_gnat.rst, + doc/gnat_ugn/the_gnat_compilation_model.rst: Remove + AAMP-specific documentation. + * gnat_rm.texi, gnat_ugn.texi: Regenerate. + +2021-06-18 Gary Dismukes + + * exp_util.adb (Expand_Sliding_Conversion): Move test of + Is_Fixed_Lower_Bound_Subtype to an assertion. Exclude string + literals from sliding expansion. + +2021-06-18 Piotr Trojanek + + * sem_warn.adb (Warn_On_Overlapping_Actuals): Cleanup conditions + related to Ada_Version. + +2021-06-18 Piotr Trojanek + + * sem_util.adb (Address_Value): Simplify. + +2021-06-18 Bob Duff + + * sem_attr.adb (Check_Array_Or_Scalar_Type): Use Expr_Value + instead of Intval, because the latter only exists in literals. + Remove Set_Etype on E1; setting the type is done elsewhere. + +2021-06-18 Piotr Trojanek + + * sem_warn.adb (Warn_On_Overlapping_Actuals): Examine types of + both formal parameters; refactor a complex detection of + by-reference types. + +2021-06-18 Arnaud Charlet + + * gnatcmd.adb: Fix handling of check and test commands. + +2021-06-18 Gary Dismukes + + * doc/gnat_rm/implementation_defined_pragmas.rst: Add + documentation for the array fixed-lower-bound feature. + * gnat_rm.texi: Regenerate. + +2021-06-18 Bob Duff + + * debug.adb: Document switch. + * exp_aggr.adb: If -gnatd_g was given, then do not bump the + limit to 500_000. + +2021-06-18 Bob Duff + + * sem_util.ads, sem_util.adb (Has_Access_Values): Remove + Include_Internal parameter that was added in previous change. + * sem_warn.adb (Warnings_Off_E1): Back out E_Out_Parameter ==> + Formal_Kind change made previously. Check Is_Private_Type to + avoid warnings on private types. Misc cleanup. + * sem_attr.adb (Attribute_Has_Access_Values): Remove + Include_Internal parameter. + +2021-06-18 Piotr Trojanek + + * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove dead branch + for overlapping actuals in prefix notation. + +2021-06-18 Eric Botcazou + + * sem_prag.adb (Process_Import_Or_Interface): Do not + artificially record a possible modification for a constant. + +2021-06-18 Arnaud Charlet + + * exp_ch6.adb (Expand_Call_Helper): Code cleanups. + +2021-06-18 Arnaud Charlet + + * exp_aggr.adb, exp_dist.adb, exp_unst.adb, sa_messages.ads, + sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_eval.adb, + sem_util.adb, sem_util.ads, sinfo.ads: Update comments. + +2021-06-18 Ghjuvan Lacambre + + * back_end.adb (Scan_Back_End_Switches): Set Opt.JSON_Output to + True if -fdiagnostics-format=json option is found. + * back_end.ads (Scan_Compiler_Arguments): Mention + Opt.JSON_Output. + * errout.adb (Output_JSON_Message): New procedure. + (Output_Messages): If Opt.JSON_Output is True, print messages + with new Output_JSON_Message procedure. + * opt.ads: Declare JSON_Output variable. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Mention new -fdiagnostics-format option. + * gnat_ugn.texi: Regenerate. + +2021-06-18 Arnaud Charlet + + * sem_ch6.adb (Null_Exclusions_Match): Relax null exclusion + mismatch check when Relaxed_RM_Semantics is set. + +2021-06-18 Arnaud Charlet + + * fe.h, opt.adb, opt.ads, par-prag.adb, sem_prag.adb, + switch-c.adb (Extensions_Allowed): Replace by a function. + (Ada_Version_Type): Add new value Ada_With_Extensions, to + replace setting of Extensions_Allowed. Update setting of + Extensions_Allowed. + +2021-06-18 Arnaud Charlet + + * bindgen.adb (Gen_Output_File_Ada): Generate a new constant + GNAT_Version_Address. + * libgnat/g-comver.adb (GNAT_Version_Address): New; + (GNAT_Version): Use GNAT_Version_Address to disable LTO warning. + +2021-06-18 Javier Miranda + + * einfo.ads (Is_Ada_2022_Only): Adding documentation. + * gen_il-fields.ads (Is_Ada_2022_Only): New flag. + * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag. + * itypes.adb (Create_Null_Excluding_Itype): Inherit + Is_Ada_2022_Only. + * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error + on Ada 2022 only subprograms that require overriding if we are + not in Ada 2022 mode. + (Derive_Subprogram): Inherit Is_Ada_2022_Only. + * sem_ch6.adb (Check_Overriding_Indicator): Inherit + Is_Ada_2022_Only. + (New_Overloaded_Entity): Inherit Is_Ada_2022_Only. + * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit + Is_Ada_2022_Only. + (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only. + * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit + Is_Ada_2022_Only. + (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only. + * sem_prag.adb (Analyze_Pragma): Allow form with argument for + Ada 2022. + * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only + * lib-xref.adb (Generate_Reference): Error on static and + dispatching calls to Ada 2022 subprograms that require + overriding if we are not in Ada 2022 mode; warn on other + references to Ada 2022 entities when not in Ada 2022 mode. + * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit + Ada_2020_Only. + * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022. + * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022. + * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022. + * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022. + * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022. + (New_Vector): Adding pragma Ada_2022. + (Insert_Vector): Adding pragma Ada_2022. + (Prepend_Vector): Adding pragma Ada_2022. + (Append_Vector): Adding pragma Ada_2022. + 2021-06-17 Arnaud Charlet * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Protect against diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index b8f7a2bb314..84fa208f80a 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,38 @@ +2021-06-18 David Malcolm + + * store.cc (binding_cluster::get_any_binding): Make symbolic reads + from a cluster with concrete bindings return unknown. + +2021-06-18 David Malcolm + + * region-model-manager.cc + (region_model_manager::get_or_create_int_cst): New. + (region_model_manager::maybe_undo_optimize_bit_field_compare): Use + it to simplify away a local tree. + * region-model.cc (region_model::on_setjmp): Likewise. + (region_model::on_longjmp): Likewise. + * region-model.h (region_model_manager::get_or_create_int_cst): + New decl. + * store.cc (binding_cluster::zero_fill_region): Use it to simplify + away a local tree. + +2021-06-18 David Malcolm + + * checker-path.cc (class custom_event): Make abstract to allow for + custom vfuncs, splitting existing implementation into... + (class precanned_custom_event): New subclass. + (custom_event::get_desc): Move to... + (precanned_custom_event::get_desc): ...subclass. + * checker-path.h (class custom_event): Make abstract to allow for + custom vfuncs, splitting existing implementation into... + (class precanned_custom_event): New subclass. + * diagnostic-manager.cc (diagnostic_manager::add_events_for_eedge): + Use precanned_custom_event. + * engine.cc + (stale_jmp_buf::maybe_add_custom_events_for_superedge): Likewise. + * sm-signal.cc (signal_delivery_edge_info_t::add_events_to_path): + Likewise. + 2021-06-15 David Malcolm PR analyzer/99212 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f073f34a6f3..e57f613a79f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2021-06-18 Harald Anlauf + + PR fortran/100283 + PR fortran/101123 + * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Unconditionally + convert result of min/max to result type. + 2021-06-16 Harald Anlauf PR fortran/95501 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1c7b730fc30..c1a715f491a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,35 @@ +2021-06-18 Aaron Sawdey + + * gcc.target/powerpc/fusion-p10-2logical.c: Update pattern + match counts. + * gcc.target/powerpc/fusion-p10-addadd.c: Update pattern match + counts. + * gcc.target/powerpc/fusion-p10-ldcmpi.c: Update pattern match + counts. + * gcc.target/powerpc/fusion-p10-logadd.c: Update pattern match + counts. + +2021-06-18 Harald Anlauf + + PR fortran/100283 + PR fortran/101123 + * gfortran.dg/min0_max0_1.f90: New test. + * gfortran.dg/min0_max0_2.f90: New test. + +2021-06-18 David Malcolm + + * gcc.dg/analyzer/symbolic-7.c: New test. + +2021-06-18 Srinath Parvathaneni + + PR target/100856 + * gcc.target/arm/acle/pr100856.c: New test. + * gcc.target/arm/multilib.exp: Add tests for cde options. + +2021-06-18 Michael Meissner + + * gcc.target/powerpc/float128-minmax-2.c: New test. + 2021-06-17 Jason Merrill PR c++/101106 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0223a74f8b0..f8d6fa74a3b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,119 @@ +2021-06-18 Patrick Palka + + PR libstdc++/100387 + * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite + to limit comparison complexity to 3*N/2. + (__minmax_element_fn::operator()): Likewise. + (shift_right): Avoid premature std::move of __result. + * testsuite/25_algorithms/minmax/constrained.cc (test04, test05): + New tests. + * testsuite/25_algorithms/minmax_element/constrained.cc (test02): + Likewise. + +2021-06-18 Patrick Palka + + * include/std/concepts (convertible_to): Just use declval as per + LWG 3557. + +2021-06-18 Jonathan Wakely + + PR libstdc++/95833 + * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace + incorrect static_assert with ones matching the 'Mandates' + conditions in the standard. + * testsuite/26_numerics/reduce/95833.cc: New test. + +2021-06-18 Jonathan Wakely + + * testsuite/21_strings/basic_string/cons/char/1.cc: Use + diagnostic pragma to suppress -Wstringop-overread error. + +2021-06-18 Patrick Palka + + * include/bits/ranges_algo.h (__find_fn, find, __find_if_fn) + (find_if, __find_if_not_fn, find_if_not, _in_in_result) + (__mismatch_fn, mismatch, __search_fn, search): Move to ... + * include/bits/ranges_util.h: ... here. + * include/std/ranges (__detail::find, __detail::find_if) + (__detail::find_if_not, __detail::mismatch): Remove. + (filter_view): Use ranges::find_if instead. + (drop_while_view): Use ranges::find_if_not instead. + (split_view): Use ranges::find and ranges::mismatch instead. + +2021-06-18 Patrick Palka + + * include/bits/iterator_concepts.h (weakly_incrementable): Remove + default_initializable requirement. + * include/bits/ranges_base.h (ranges::view): Likewise. + * include/bits/ranges_util.h (subrange): Constrain the default + ctor. + * include/bits/stl_iterator.h (back_insert_iterator): Remove the + default ctor. + (front_insert_iterator): Likewise. + (insert_iterator): Likewise. Remove NSDMIs. + (common_iterator): Constrain the default ctor. + (counted_iterator): Likewise. + * include/bits/stream_iterator.h (ostream_iterator): Remove the + default ctor. + * include/std/ranges (__detail::__box::operator=): Handle + self-assignment in the primary template. + (__detail::__box): In the partial specialization: adjust + constraints as per P2325. Add specialized operator= for the + case when the wrapped type is not copyable. Constrain the + default ctor. Avoid list-initialization. + (single_view): Constraint the default ctor. + (iota_view): Relax semiregular constraint to copyable. + Constrain the default ctor. + (iota_view::_Iterator): Constraint the default ctor. + (basic_istream_view): Remove the default ctor. Remove NSDMIs. + Remove redundant checks for empty _M_stream. + (basic_istream_view::_Iterator): Likewise. + (ref_view): Remove the default ctor. Remove NSDMIs. + (ref_view::_Iterator): Constrain the default ctor. + (__detail::__non_propagating_cache::operator=): Define overload + for assigning from a value of the underlying type. + (filter_view): Likewise. + (filter_view::_Iterator): Likewise. + (transform_view): Likewise. + (transform_view::_Iterator): Likewise. + (take_view): Likewise. + (take_view::_Iterator): Likewise. + (take_while_view): Likewise. + (take_while_view::_Iterator): Likewise. + (drop_while_view): Likewise. + (drop_while_view::_Iterator): Likewise. + (join_view): Likewise. + (split_view::_OuterIter::__current): Adjust after changing the + type of _M_current. + (split_view::_M_current): Wrap it in a __non_propagating_cache. + (split_view::split_view): Constrain the default ctor. + (common_view): Constrain the default ctor. + (reverse_view): Likewise. + (elements_view): Likewise. + * include/std/span (enable_view>): + Define this partial specialization to true unconditionally. + * include/std/version (__cpp_lib_ranges): Adjust value. + * testsuite/24_iterators/back_insert_iterator/constexpr.cc: + Don't attempt to default construct a back_insert_iterator. + * testsuite/24_iterators/front_insert_iterator/constexpr.cc: + Don't attempt to default construct a front_insert_iterator. + * testsuite/24_iterators/insert_iterator/constexpr.cc: + Don't attempt to default construct an insert_iterator. + * testsuite/24_iterators/ostream_iterator/requirements/constexpr.cc: + Remove this test for default constructibility of ostream_iterator. + * testsuite/std/ranges/97600.cc: Don't attempt to default + construct a basic_istream_view. + * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: + Rename to ... + * testsuite/std/ranges/adaptors/detail/copyable_box.cc: ... this. + (test02): Adjust now that __box is copyable-box not + semiregular-box. + (test03): New test. + * testsuite/std/ranges/p2325.cc: New test. + * testsuite/std/ranges/single_view.cc (test06): New test. + * testsuite/std/ranges/view.cc: Adjust now that view doesn't + require default_initializable. + 2021-06-17 Jonathan Wakely PR libstdc++/91488