+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.
+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.
+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):
+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.
+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.
+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
+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.
+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
+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
+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