Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Fri, 5 Jun 2020 00:16:30 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Fri, 5 Jun 2020 00:16:30 +0000 (00:16 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/c-family/ChangeLog
gcc/cp/ChangeLog
gcc/d/ChangeLog
gcc/fortran/ChangeLog
gcc/testsuite/ChangeLog
libgcc/ChangeLog
libgomp/ChangeLog
libstdc++-v3/ChangeLog

index edbcaf2bc4d6449d3da04a3f8cba75228c6cf698..9d5fce30b400ed788e38330a2322bb6b21999393 100644 (file)
@@ -1,3 +1,195 @@
+2020-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/10138
+       PR middle-end/95136
+       * attribs.c (init_attr_rdwr_indices): Move function here.
+       * attribs.h (rdwr_access_hash, rdwr_map): Define.
+       (attr_access): Add 'none'.
+       (init_attr_rdwr_indices): Declared function.
+       * builtins.c (warn_for_access)): New function.
+       (check_access): Call it.
+       * builtins.h (checK-access): Add an optional argument.
+       * calls.c (rdwr_access_hash, rdwr_map): Move to attribs.h.
+       (init_attr_rdwr_indices): Declare extern.
+       (append_attrname): Handle attr_access::none.
+       (maybe_warn_rdwr_sizes): Same.
+       (initialize_argument_information): Update comments.
+       * doc/extend.texi (attribute access): Document 'none'.
+       * tree-ssa-uninit.c (struct wlimits): New.
+       (maybe_warn_operand): New function.
+       (maybe_warn_pass_by_reference): Same.
+       (warn_uninitialized_vars): Refactor code into maybe_warn_operand.
+       Also call for function calls.
+       (pass_late_warn_uninitialized::execute): Adjust comments.
+       (execute_early_warn_uninitialized): Same.
+
+2020-06-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/95464
+       * lra.c (lra_emit_move): Add processing STRICT_LOW_PART.
+       * lra-constraints.c (match_reload): Use STRICT_LOW_PART in output
+       reload if the original insn has it too.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr):
+       Ensure that tmp_ha is marked TREE_ADDRESSABLE.
+
+2020-06-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/95113
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move non-call
+       exceptions check to...
+       * tree-eh.c (stmt_unremovable_because_of_non_call_eh_p): ...this
+       new function.
+       * tree-eh.h (stmt_unremovable_because_of_non_call_eh_p): Declare it.
+       * ipa-sra.c (isra_track_scalar_value_uses): Use it.  New parameter
+       fun.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94735
+       * config/arm/predicates.md (mve_scatter_memory): Define to
+       match (mem (reg)) for scatter store memory.
+       * config/arm/mve.md (mve_vstrbq_scatter_offset_<supf><mode>): Modify
+       define_insn to define_expand.
+       (mve_vstrbq_scatter_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_offset_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_<supf><mode>): Likewise.
+       (mve_vstrdq_scatter_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_offset_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_<supf>v2di): Likewise.
+       (mve_vstrhq_scatter_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_offset_p_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Likewise.
+       (mve_vstrwq_scatter_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_offset_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_<supf>v4si): Likewise.
+       (mve_vstrbq_scatter_offset_<supf><mode>_insn): Define insn for scatter
+       stores.
+       (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_offset_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Likewise.
+       (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_offset_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Likewise.
+       (mve_vstrhq_scatter_offset_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_offset_p_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_p_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_offset_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Likewise.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vbicq_n_u16): Correct the intrinsic
+       arguments.
+       (__arm_vbicq_n_s16): Likewise.
+       (__arm_vbicq_n_u32): Likewise.
+       (__arm_vbicq_n_s32): Likewise.
+       (__arm_vbicq): Modify polymorphic variant.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_get_slp_vect_def): Declare.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it.
+       * tree-vect-stmts.c (vect_transform_stmt): Likewise.
+       (vect_is_simple_use): Use SLP_TREE_REPRESENTATIVE.
+       * tree-vect-slp.c (vect_get_slp_vect_defs): Fold into single
+       use ...
+       (vect_get_slp_defs): ... here.
+       (vect_get_slp_vect_def): New function.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::lanes): New.
+       (SLP_TREE_LANES): Likewise.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it.
+       (vectorizable_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_induction): Likewise.
+       (vectorizable_live_operation): Likewise.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize lanes.
+       (vect_create_new_slp_node): Likewise.
+       (slp_copy_subtree): Copy it.
+       (vect_optimize_slp): Use it.
+       (vect_slp_analyze_node_operations_1): Likewise.
+       (vect_slp_convert_to_external): Likewise.
+       (vect_bb_vectorization_profitable_p): Likewise.
+       * tree-vect-stmts.c (vectorizable_load): Likewise.
+       (get_vectype_for_scalar_type): Likewise.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_update_all_shared_vectypes): Remove.
+       (vect_build_slp_tree_2): Simplify building all external op
+       nodes from scalars.
+       (vect_slp_analyze_node_operations): Remove push/pop of
+       STMT_VINFO_DEF_TYPE.
+       (vect_schedule_slp_instance): Likewise.
+       * tree-vect-stmts.c (ect_check_store_rhs): Pass in the
+       stmt_info, use the vect_is_simple_use overload combining
+       SLP and stmt_info analysis.
+       (vect_is_simple_cond): Likewise.
+       (vectorizable_store): Adjust.
+       (vectorizable_condition): Likewise.
+       (vect_is_simple_use): Fully handle invariant SLP nodes
+       here.  Amend stmt_info operand extraction with COND_EXPR
+       and masked stores.
+       * tree-vect-loop.c (vectorizable_reduction): Deal with
+       COND_EXPR representation ugliness.
+
+2020-06-04  Hongtao Liu  <hongtao.liu@inte.com>
+
+       PR target/95254
+       * config/i386/sse.md (*vcvtps2ph_store<merge_mask_name>):
+       Refine from *vcvtps2ph_store<mask_name>.
+       (vcvtps2ph256<mask_name>): Refine constraint from vm to v.
+       (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto.
+       (*vcvtps2ph256<merge_mask_name>): New define_insn.
+       (*avx512f_vcvtps2ph512<merge_mask_name>): Ditto.
+       * config/i386/subst.md (merge_mask): New define_subst.
+       (merge_mask_name): New define_subst_attr.
+       (merge_mask_operand3): Ditto.
+
+2020-06-04  Hao Liu  <hliu@os.amperecomputing.com>
+
+       PR tree-optimization/89430
+       * tree-ssa-phiopt.c
+       (struct name_to_bb): Rename to ref_to_bb; add a new field exp;
+       remove ssa_name_ver, store, offset fields.
+       (struct ssa_names_hasher): Rename to refs_hasher; update functions.
+       (class nontrapping_dom_walker): Rename m_seen_ssa_names to m_seen_refs.
+       (nontrapping_dom_walker::add_or_mark_expr): Extend to support ARRAY_REFs
+       and COMPONENT_REFs.
+
+2020-06-04  Andreas Schwab  <schwab@suse.de>
+
+       PR target/95154
+       * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Call assemble_external.
+
+2020-06-04  Hongtao.liu  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (pmov_dst_3_lower): New mode attribute.
+       (trunc<mode><pmov_dst_3_lower>2): Refine from
+       trunc<mode><pmov_dst_3>2.
+
 2020-06-03  Vitor Guidi  <vitor.guidi@usp.br>
 
        * match.pd (tanh/sinh -> 1/cosh): New simplification.
index 6c883c9885393c416d6e43d1884704c1e1932a69..de253bc14b713d03293eed0904659e6f6f666aec 100644 (file)
@@ -1 +1 @@
-20200604
+20200605
index 6fc01445b8b5aa3e8d8f37a5beb3ff90e065c079..fed3fe2fbaf7d39f736451b0efa468f1dce445ab 100644 (file)
@@ -1,3 +1,306 @@
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/i-c.ads (long_long, unsigned_long_long): New
+       definitions.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.rtl: add a-tasini object
+       * impunit.adb (Non_Imp_File_Names_95): Add s-tasini.
+       * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: New files.
+       * libgnarl/s-taskin.ads (Global_Initialization_Handler): New.
+       * libgnarl/s-tassta.adb (Task_Wrapper): Call
+       Global_Initialization_Handler if non null.
+
+2020-06-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Build_Suprogram_Body_Wrapper,
+       Build_Subprogram_Decl_Wrapper): New suprograms, to create the
+       wrappers needed to implement contracts on formsl subprograms at
+       the point of instantiation.
+       (Build_Subprogram_Wrappers): New subprogram within
+       Analyze_Associations, calls the above when the formal subprogram
+       has contracts, and expansion is enabled.
+       (Instantiate_Formal_Subprogram): If the actual is not an entity,
+       such as a function attribute, or a synchronized operation,
+       create a function with an internal name and call it within the
+       wrapper.
+       (Analyze_Generic_Formal_Part): Analyze contracts at the end of
+       the list of formal declarations.
+       * sem_prag.adb (Analyze_Pre_Post_Condtion): In Ada_2020 the
+       aspect and corresponding pragma can appear on a formal
+       subprogram declaration.
+       (Find_Related_Declaration_Or_Body): Ditto.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch7.adb (Make_Final_Call): Set the type of the object, if
+       it is unanalyzed, before calling Convert_View on it.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * adabkend.adb, back_end.ads, opt.ads, sem_ch6.adb: Get rid of
+       Disable_FE_Inline_Always.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch7.adb (Make_Final_Call): Add missing guard.
+       * sem_ch3.adb (Copy_And_Build): Adjust recursive call for
+       private types.
+       (Build_Derived_Private_Type): Deal with underlying full views.
+
+2020-06-04  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-stobbu.adb, libgnat/a-stobbu.ads,
+       libgnat/a-stobfi.adb, libgnat/a-stobfi.ads,
+       libgnat/a-stoubu.adb, libgnat/a-stoubu.ads,
+       libgnat/a-stoufi.adb, libgnat/a-stoufi.ads,
+       libgnat/a-stoufo.adb, libgnat/a-stoufo.ads,
+       libgnat/a-stouut.adb, libgnat/a-stouut.ads,
+       libgnat/a-stteou.ads, libgnat/s-putaim.adb,
+       libgnat/s-putaim.ads, libgnat/s-putima.adb, libgnat/s-putima.ads
+       (Ada.Strings.Text_Output and children, System.Put_Images): New
+       runtime support for Put_Image.
+       * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add
+       exp_put_image.o.
+       * exp_put_image.adb, exp_put_image.ads: New compiler package
+       that generates calls to runtime routines that implement
+       Put_Image.
+       * Makefile.rtl: Add object files for Ada.Strings.Text_Output and
+       children and System.Put_Images.
+       * aspects.adb: Simplify initialization of Canonical_Aspect.
+       * aspects.ads: Improve documentation. Add Aspect_Put_Image.
+       * exp_attr.adb: Add support for Put_Image, by calling routines
+       in Exp_Put_Image.
+       * sem_util.adb (Is_Predefined_Dispatching_Operation): Return
+       True for new TSS_Put_Image operation.
+       * exp_ch3.adb: For tagged types, build a dispatching
+       TSS_Put_Image operation by calling routines in Exp_Put_Image.
+       * exp_disp.adb, exp_disp.ads: Make TSS_Put_Image be number 10,
+       adjusting other operations' numbers after 10. We choose 10
+       because that's the last number shared by all runtimes.
+       * exp_strm.adb: Use named notation as appropriate.
+       * exp_cg.adb, exp_tss.ads: Add TSS_Put_Image.
+       * libgnat/a-tags.ads: Modify Max_Predef_Prims for the new
+       TSS_Put_Image.
+       * impunit.adb: Add new runtime packages.
+       * rtsfind.adb, rtsfind.ads: Add support for
+       Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and
+       System.Put_Images.
+       * sem_attr.adb: Error checking for Put_Image calls.
+       * sem_ch12.adb (Valid_Default_Attribute): Support for passing
+       Put_Image as a generic formal parameter.
+       * sem_ch13.adb: Analysis of Put_Image aspect. Turn it into a
+       Put_Image attribute definition clause.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Support for
+       renaming of the Put_Image attribute.
+       * snames.adb-tmpl: Fix comments.
+       * snames.ads-tmpl (Name_Put_Image): New Name_Id.
+       (Attribute_Put_Image): New Attribute_Id.
+       * tbuild.adb, tbuild.ads (Make_Increment): New utility.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_attr.adb (xpand_N_Attribute_Reference) <Input>: Call
+       Find_Inherited_TSS to look up the Stream_Read TSS.
+       <Output>: Likewise for the Stream_Write TSS.
+       * exp_ch7.adb (Make_Final_Call): Call Underlying_Type on
+       private types to account for underlying full views.
+       * exp_strm.ads  (Build_Record_Or_Elementary_Input_Function):
+       Remove Use_Underlying parameter.
+       * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
+       Likewise and adjust accordingly.
+       * exp_tss.adb (Find_Inherited_TSS): Deal with full views.
+       Call Find_Inherited_TSS recursively on the parent type if
+       the base type is a derived type.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Take
+       into account underlying full views for derived types.
+       * sem_ch3.adb (Copy_And_Build): Look up the underlying full
+       view only for a completion.  Be prepared for private types.
+       (Build_Derived_Private_Type): Build an underlying full view
+       for a completion in the general case too.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * back_end.adb, opt.ads, par-prag.adb, sem_ch5.adb,
+       sem_prag.adb, sinfo.adb, sinfo.ads, snames.ads-tmpl,
+       doc/gnat_rm/implementation_defined_pragmas.rst: Remove
+       experimental support for OpenACC.
+       * gcc-interface/misc.c, gcc-interface/trans.c,
+       gcc-interface/lang.opt: Ditto.
+       * gnat_rm.texi: Regenerate.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Generate_Discriminant_Check): Remove obsolete
+       comment.
+
+2020-06-04  Gary Dismukes  <dismukes@adacore.com>
+
+       * par-ch3.adb (P_Identifier_Declarations): Add parsing of object
+       renamings that have neither a subtype_mark nor an
+       access_definition. Issue an error if the version is earlier than
+       Ada_2020, and suggest using -gnatX.
+       * sem_ch8.adb (Analyze_Object_Renaming): Handle
+       object_renaming_declarations that don't have an explicit
+       subtype. Errors are issued when the name is inappropriate or
+       ambiguous, and otherwise the Etype of the renaming entity is set
+       from the Etype of the renamed object.
+       * sem_util.adb (Has_Null_Exclusion): Allow for the case of no
+       subtype given in an N_Object_Renaming_Declaration.
+       * sprint.adb (Sprint_Node_Actual): Handle printing of
+       N_Object_Renaming_Declarations that are specified without an
+       explicit subtype.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sinfo.ads (N_Delta_Aggregate): Document Etype field.
+       (N_Case_Expression): Likewise.
+       (Is_Syntactic_Field) <N_Quantified_Expression>: Adjust.
+       <N_Case_Expression>: Likewise.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * adaint.c: Avoid redefining IS_DIR_SEPARATOR macro.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem.adb (Walk_Library_Items): Defer processing of main spec
+       after all other specs and before processing bodies.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * bindgen.adb (Gen_Adafinal): Adafinal is convention Ada, not C.
+
+2020-06-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sinput.adb (Sloc_Range): Ignore node in the tree if it appears
+       in a unit different from that of the node whose Sloc range we
+       are computing. This is necessary when computing the source range
+       of a subprogram body whose declaration includes a pre- or
+       postcondition, because declaration and body may appear in
+       different units, and the expanded code for the body includes
+       copies of the contract code.
+
+2020-06-04  Alexandre Oliva  <oliva@adacore.com>
+
+       * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and
+       dumpbase-ext.  Mark auxbase and auxbase-strip for removal.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute) <Access>: Do not generate
+       the secondary message about a missing pragma if the convention
+       of the prefix is Intrinsic.
+       * sem_ch12.adb (Instantiate_Formal_Subprogram): Only set the
+       Convention and the Is_Inlined flag on a null procedure.
+
+2020-06-04  Justin Squirek  <squirek@adacore.com>
+
+       * sem_ch6.adb (Check_Return_Obj_Accessibility): Change to
+       Check_Return_Construct_Accessibility to better reflect its
+       purpose.  Add loop to properly obtain the object declaration
+       from an expanded extended return statement and add calls to get
+       the original node for associated values. Also, avoid checks when
+       the return statement being examined comes from an internally
+       generated function.
+
+2020-06-04  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * adaint.c (__gnat_is_absolute_path): Check for directory
+       separator after drive and colon.
+       (IS_DIR_SEPARATOR): Define new inline substitution.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads: Update documentation about range checks and fix
+       minor other things.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Array_Type_Declaration): Apply special handling
+       of private index types to generic packages and restrict it to
+       index types defined in the current scope.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-exextr.adb (Global_Unhandled_Action): New global
+       variable.
+       (Notify_Exception): Take into account Global_Unhandled_Action
+       and fix latent race condition.
+       (Exception_Action): Mark Favor_Top_Level so that variables can
+       be atomic.
+       (Global_Action): Mark atomic to remove the need for a lock.
+       * libgnat/g-excact.ads, libgnat/g-excact.adb
+       (Register_Global_Unhandled_Action): New procedure.
+       (Register_Global_Action): Remove lock.
+       * libgnat/s-stalib.ads (Raise_Action): Mark Favor_Top_Level to
+       be compatible with Exception_Action.
+       * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix logic wrt
+       Volatile entities and entities with an address clause: the code
+       did not match the comment/intent.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * comperr.adb (Compiler_Abort): Update URL and bug report
+       instructions.
+
+2020-06-04  Steve Baird  <baird@adacore.com>
+
+       * libgnat/s-imgrea.ads: Declare a named number
+       Max_Real_Image_Length with value 5200.  Provide a comment
+       explaining why this value was chosen.
+       * libgnat/s-imgrea.adb (Set_Image_Real): Increase the upper
+       bound of the local String variable Digs to
+       Max_Real_Image_Length.
+       * libgnat/a-tiflau.adb (Put): Increase the upper bound of the
+       local String variable Buf to Max_Real_Image_Length.
+       (Puts): Increase the upper bound of the local String variable
+       Buf to Max_Real_Image_Length.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnarl/a-dynpri.adb, libgnarl/a-taside.adb,
+       libgnarl/a-taster.adb, libgnarl/s-interr.adb,
+       libgnarl/s-interr__sigaction.adb, libgnarl/s-taasde.adb,
+       libgnarl/s-taenca.adb, libgnarl/s-taenca.ads,
+       libgnarl/s-taprop.ads, libgnarl/s-taprop__hpux-dce.adb,
+       libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
+       libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
+       libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
+       libgnarl/s-tarest.adb, libgnarl/s-tasini.adb,
+       libgnarl/s-tasque.adb, libgnarl/s-tasque.ads,
+       libgnarl/s-tasren.adb, libgnarl/s-tasren.ads,
+       libgnarl/s-tassta.adb, libgnarl/s-tasuti.adb,
+       libgnarl/s-tasuti.ads, libgnarl/s-tpoben.adb,
+       libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb,
+       libgnarl/s-tposen.adb, libgnat/s-parame.ads,
+       libgnat/s-parame__ae653.ads, libgnat/s-parame__hpux.ads,
+       libgnat/s-parame__vxworks.ads: Remove references to Single_Lock
+       and Global_Lock.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-atopar.adb, libgnat/s-atopex.adb: Use Object_Size
+       instead of Size, otherwise many derived types will be rejected
+       (e.g. a type with a 14 bits 'Size and a 16 bits 'Object_Size).
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Copy_Generic_Node): Add special handling for a
+       conversion between access types.
+
+2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Check_Generic_Actuals): Also restore the proper
+       views of the actuals of the parent instances if the formals are
+       used as actuals of the children.
+       (Instantiate_Type): Add comment.
+
+2020-06-04  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch12.adb: Minor editorial fixes.
+
 2020-06-03  Eric Botcazou  <ebotcazou@adacore.com>
 
        * sem_ch12.adb (Denotes_Previous_Actual): Delete.
index a513fdc4958c1ada8ada4d17f3e071c0483c0183..4344fb8ab4f8197adff21774523db9b6aa0149ad 100644 (file)
@@ -1,3 +1,10 @@
+2020-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/10138
+       PR middle-end/95136
+       * c-attribs.c (append_access_attrs): Handle attr_access::none.
+       (handle_access_attribute): Same.
+
 2020-06-03  Mark Wielaard  <mark@klomp.org>
 
        * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
index 452ab2345f00b3b2a936bd486467abcf102231e5..5c8eaff1a9749a901526b7a95a9d788a56aeb98a 100644 (file)
@@ -1,3 +1,33 @@
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93310
+       * constexpr.c (cxx_eval_constant_expression) [OBJ_TYPE_REF]:
+       Evaluate OBJ_TYPE_REF_EXPR.
+
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95158
+       * class.c (lookup_vfn_in_binfo): New.
+       * call.c (build_over_call): Use it.
+       * cp-tree.h (resolves_to_fixed_type_p): Add default argument.
+       (lookup_vfn_in_binfo): Declare.
+
+2020-06-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95346
+       * coroutines.cc (morph_fn_to_coro): Ensure that the get-
+       return-object is constructed correctly; When it is not the
+       final return value, pass it to the CTOR of the return type
+       as an rvalue, per the standard comment.
+
+2020-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/82304
+       PR c++/95307
+       * constexpr.c (cxx_eval_constant_expression): Diagnose CONVERT_EXPR
+       conversions from pointer types to arithmetic types here...
+       (cxx_eval_outermost_constant_expr): ... instead of here.
+
 2020-06-03  Mark Wielaard  <mark@klomp.org>
 
        * parser.c (cp_lexer_safe_previous_token): New function.
index 5bee3ab9bb33e22164fcc742d8aa055c6318dd07..1ef6814468b13e367befb394baa4c8dadbeee683 100644 (file)
@@ -1,3 +1,70 @@
+2020-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 48d704f08.
+       * d-attribs.cc (build_attributes): Use new field name.
+       * d-builtins.cc (build_frontend_type): Likewise.
+       (maybe_set_builtin_1): Likewise.
+       (d_maybe_set_builtin): Likewise.
+       * d-codegen.cc (build_interface_binfo): Likewise.
+       (identity_compare_p): Likewise.
+       (lower_struct_comparison): Likewise.
+       (build_struct_comparison): Likewise.
+       (d_build_call): Likewise.
+       (build_frame_type): Likewise.
+       (build_closure): Likewise.
+       * d-compiler.cc (Compiler::paintAsType): Likewise.
+       (Compiler::loadModule): Likewise.
+       * d-incpath.cc (add_globalpaths): Likewise.
+       (add_filepaths): Likewise.
+       (add_import_paths): Likewise.
+       * d-lang.cc (deps_write): Likewise.
+       (d_parse_file): Likewise.
+       * decl.cc (gcc_attribute_p): Likewise.
+       (base_vtable_offset): Likewise.
+       (get_vtable_decl): Likewise.
+       (build_class_instance): Likewise.
+       * expr.cc (class ExprVisitor): Likewise.
+       * modules.cc (layout_moduleinfo_fields): Likewise.
+       (layout_moduleinfo): Likewise.
+       (build_module_tree): Likewise.
+       * toir.cc (class IRVisitor): Likewise.
+       * typeinfo.cc (class TypeInfoVisitor): Likewise.
+       (layout_classinfo_interfaces): Likewise.
+       * types.cc (layout_aggregate_members): Likewise.
+       (layout_aggregate_type): Likewise.
+
+2020-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * dmd/MERGE: Merge upstream dmd 47ed0330f.
+
+2020-06-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * Make-lang.in (D_OBJS): Add d-compiler.o, d-ctfloat.o, d-port.o.
+       * d-frontend.cc (Port::memicmp): Move to d-port.cc.
+       (Port::strupr): Likewise.
+       (Port::isFloat32LiteralOutOfRange): Likewise.
+       (Port::isFloat64LiteralOutOfRange): Likewise.
+       (Port::readwordLE): Likewise.
+       (Port::readwordBE): Likewise.
+       (Port::readlongLE): Likewise.
+       (Port::readlongBE): Likewise.
+       (Port::valcpy): Likewise.
+       (CTFloat::fabs): Move to d-ctfloat.cc.
+       (CTFloat::ldexp): Likewise.
+       (CTFloat::isIdentical): Likewise.
+       (CTFloat::isNaN): Likewise.
+       (CTFloat::isSNaN): Likewise.
+       (CTFloat::isInfinity): Likewise.
+       (CTFloat::parse): Likewise.
+       (CTFloat::sprint): Likewise.
+       (CTFloat::hash): Likewise.
+       (Compiler::genCmain): Move to d-compiler.cc.
+       (Compiler::paintAsType): Likewise.
+       (Compiler::loadModule): Likewise.
+       * d-compiler.cc: New file.
+       * d-ctfloat.cc: New file.
+       * d-port.cc: New file.
+
 2020-06-02  Iain Buclaw  <ibuclaw@gdcproject.org>
 
        * decl.cc (DeclVisitor::build_dsymbol): New function.
index a8789024860e45c4a7dc58c0450bedf7a5aa1fb3..13534c18fe2cba48b8f214135d06a6312c44b4f6 100644 (file)
@@ -1,3 +1,10 @@
+2020-06-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95500
+       * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL
+       pointer.
+
 2020-06-03  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
 
        PR fortran/95214
index 89a1ad559233c02c2162f109e3bc2b22009ce5de..45a256253a2893ea08f333d060b71a01c8da79b1 100644 (file)
@@ -1,3 +1,144 @@
+2020-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/10138
+       PR middle-end/95136
+       * c-c++-common/Wsizeof-pointer-memaccess1.c: Prune out valid
+       Wuninitialized.
+       * c-c++-common/uninit-pr51010.c: Adjust expected warning format.
+       * c-c++-common/goacc/uninit-dim-clause.c: Same.
+       * c-c++-common/goacc/uninit-firstprivate-clause.c: Same.
+       * c-c++-common/goacc/uninit-if-clause.c: Same.
+       * c-c++-common/gomp/pr70550-1.c: Same.
+       * c-c++-common/gomp/pr70550-2.c: Adjust.
+       * g++.dg/20090107-1.C: Same.
+       * g++.dg/20090121-1.C: Same.
+       * g++.dg/ext/attr-access.C: Avoid -Wuninitialized.
+       * gcc.dg/tree-ssa/forwprop-6.c: Prune out -Wuninitialized.
+       * gcc.dg/Warray-bounds-52.c: Prune out valid -Wuninitialized.
+       * gcc.dg/Warray-bounds-53.c: Same.
+       * gcc.dg/Warray-bounds-54.c: Same.
+       * gcc.dg/Wstringop-overflow-33.c: New test.
+       * gcc.dg/attr-access-none.c: New test.
+       * gcc.dg/attr-access-read-only.c: Adjust.
+       * gcc.dg/attr-access-read-write.c: Same.
+       * gcc.dg/attr-access-write-only.c: Same.
+       * gcc.dg/pr71581.c: Adjust text of expected warning.
+       * gcc.dg/uninit-15.c: Same.
+       * gcc.dg/uninit-32.c: New test.
+       * gcc.dg/uninit-33.c: New test.
+       * gcc.dg/uninit-34.c: New test.
+       * gcc.dg/uninit-36.c: New test.
+       * gcc.dg/uninit-B-O0.c: Adjust text of expected warning.
+       * gcc.dg/uninit-I-O0.c: Same.
+       * gcc.dg/uninit-pr19430-O0.c: Same.
+       * gcc.dg/uninit-pr19430.c: Same.
+       * gcc.dg/uninit-pr95136.c: New test.
+       * gfortran.dg/assignment_4.f90: Expect -Wuninitialized.
+       * gfortran.dg/goacc/uninit-dim-clause.f95: Adjust text of expected
+       warning.
+       * gfortran.dg/goacc/uninit-firstprivate-clause.f95
+       * gfortran.dg/goacc/uninit-if-clause.f95
+       * gfortran.dg/pr66545_2.f90
+
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93310
+       * g++.dg/cpp2a/constexpr-virtual16.C: New test.
+       * g++.dg/cpp2a/constexpr-virtual17.C: New test.
+       * g++.dg/cpp2a/constexpr-new12.C: Adjust diagnostic.
+
+2020-06-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95158
+       * g++.dg/template/virtual5.C: New test.
+
+2020-06-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/95500
+       * gfortran.dg/pr95500.f90: New test.
+
+2020-06-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/95346
+       * g++.dg/coroutines/pr95346.C: New test.
+
+2020-06-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/95464
+       * gcc.target/i386/pr95464.c: New.
+
+2020-06-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/95113
+       * gcc.dg/ipa/pr95113.c: New test.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94735
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_base.c: New test.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_base_p.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_offset.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_offset_p.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset.c:
+       Likewise.
+       * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset_p.c:
+       Likewise.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * gcc.target/arm/mve/intrinsics/vbicq_f16.c: Modify.
+       * gcc.target/arm/mve/intrinsics/vbicq_f32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_s8.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u16.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u32.c: Likewise.
+       * gcc.target/arm/mve/intrinsics/vbicq_u8.c: Likewise.
+
+2020-06-04  Hongtao Liu  <hongtao.liu@inte.com>
+
+       * gcc.target/i386/avx512f-vcvtps2ph-pr95254.c: New test.
+       * gcc.target/i386/avx512vl-vcvtps2ph-pr95254.c: Ditto.
+
+2020-06-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/openacc1.adb: Remove testcase.
+
+2020-06-04  Hao Liu  <hliu@os.amperecomputing.com>
+
+       PR tree-optimization/89430
+       * gcc.dg/tree-ssa/pr89430-1.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-2.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-5.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-6.c: Remove xfail.
+       * gcc.dg/tree-ssa/pr89430-7-comp-ref.c: New test.
+       * gcc.dg/tree-ssa/pr89430-8-mem-ref-size.c: New test.
+       * gcc.dg/tree-ssa/ssa-pre-17.c: Add -fno-tree-cselim.
+
+2020-06-04  Andreas Schwab  <schwab@suse.de>
+
+       PR libfortran/59227
+       * gfortran.dg/erf_3.F90: Remove XFAIL on ia64-*-linux*.
+
+2020-06-04  Hongtao.liu  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/pr92658-avx512bw-trunc.c: Adjust testcase.
+
+2020-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/82304
+       PR c++/95307
+       * g++.dg/template/pr79650.C: Expect different diagnostics and expect
+       it on all lines that do pointer to integer casts.
+       * g++.dg/cpp1y/constexpr-shift1.C: Expect different diagnostics.
+       * g++.dg/cpp1y/constexpr-82304.C: New test.
+       * g++.dg/cpp0x/constexpr-95307.C: New test.
+
 2020-06-03  Mark Wielaard  <mark@klomp.org>
 
        * g++.dg/spellcheck-inttypes.C: Add string-literal testcases.
index 3b20f6f86a75fdddae6b247587423848c421186c..b4e39d188f479103527991536ad24e288c0b7f05 100644 (file)
@@ -1,3 +1,12 @@
+2020-06-04  Andreas Schwab  <schwab@suse.de>
+
+       PR target/59230
+       PR libfortran/59227
+       * config/ia64/t-softfp-compat (softfp_file_list): Filter out
+       soft-fp/divtf3.c.
+       (LIB2ADD): Add config/ia64/divtf3.c.
+       * config/ia64/divtf3.c: New file.
+
 2020-06-03  Martin Liska  <mliska@suse.cz>
 
        PR gcov-profile/95480
index d715aa4f0bf464d55246ec2934718b93f1193c5d..75917f30afe16cc7acf56b783defb70b810acf8e 100644 (file)
@@ -1,3 +1,97 @@
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
+       Evaluate 'copyfrom' individually for each entry.
+       * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
+       Evaluate 'finalize' individually for each entry.
+       * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
+       * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
+       file.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
+       usage.
+       * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
+       checking.
+       (acc_unmap_data, goacc_exit_data_internal): Restore
+       'is_tgt_unmapped' checking.
+       * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
+       file.
+       * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR libgomp/92854
+       * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR libgomp/92854
+       * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
+       more.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
+       'gomp_map_vars'.
+        (acc_map_data): Clean up accordingly.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
+       of over-eager 'finalize' clause.
+       * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
+       file.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
+       * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
+
+2020-06-04  Julian Brown  <julian@codesourcery.com>
+
+       * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
+       error path.
+       (goacc_detach_internal): Likewise.
+
+2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
+       the checkpoint.
+       * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
+       * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
+       * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
+       * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
+       * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
+
 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
 
        * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
index 6ce4dd2fb571e0f31bc0a89766341144146b9fad..ee252236a9f734728cc9cdae1651013671d0c851 100644 (file)
@@ -1,3 +1,58 @@
+2020-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/iterator_concepts.h (__detail::__ptr, __detail::__ref)
+       (__detail::__cat, __detail::__diff): Move to class scope in the
+       relevant __iterator_traits specializations.
+       (__iterator_traits<>): Use nested class templates instead of ones from
+       namespace __detail.
+       * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Move to
+       class scope in iterator_traits<common_iterator<I, S>>.
+       (iterator_traits<common_iterator<I, S>>): Use nested class template
+       instead of __detail::__common_iter_ptr.
+
+2020-06-04  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/stl_algo.h (__copy_n_a): Move to ...
+       * include/bits/stl_algobase.h (__copy_n_a): ...here. Add __strict
+       parameter.
+       (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)):
+       Declare.
+       (__niter_base(const _Safe_iterator<_Ite, _Seq,
+       random_access_iterator_tag>&)): Declare.
+       (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>,
+       _Deque_iterator<>)): Declare.
+       * include/bits/deque.tcc
+       (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>,
+       _Deque_iterator<>)): New.
+       (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)):
+       New.
+       * include/bits/streambuf_iterator.h
+       (__copy_n_a(istreambuf_iterator<>, _Size, _CharT*, bool)): Adapt.
+       * include/debug/safe_iterator.tcc (__niter_base): New.
+       * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
+       (test03): New.
+       * testsuite/25_algorithms/copy/streambuf_iterators/char/debug/deque_neg.cc:
+       New test.
+       * testsuite/25_algorithms/copy_n/debug/istreambuf_ite_deque_neg.cc:
+       New test.
+       * testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc: New test.
+       * testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc:
+       New test.
+
+2020-06-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/ranges_algobase.h (__copy_n_fn): Only call
+       ranges::copy for positive values.
+       * include/bits/stl_algo.h (copy_n): Convert Size argument to an
+       integral type and only call __copy_n for positive values.
+       * testsuite/util/testsuite_iterators.h
+       (random_access_iterator_wrapper::operator+=): Fix range check for
+       negative values.
+       (output_container, input_container, forward_container)
+       (bidirectional_container, random_access_container): New alias
+       templates.
+       * testsuite/25_algorithms/copy_n/5.cc: New test.
+
 2020-06-02  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/90102