https://gcc.gnu.org/g:3add342502b9506b6f1a0f70c156a97a7b38ef4d commit 3add342502b9506b6f1a0f70c156a97a7b38ef4d Author: GCC Administrator Date: Fri Jun 5 00:16:30 2020 +0000 Daily bump. Diff: --- gcc/ChangeLog | 192 ++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 303 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 7 ++ gcc/cp/ChangeLog | 30 +++++ gcc/d/ChangeLog | 67 +++++++++++ gcc/fortran/ChangeLog | 7 ++ gcc/testsuite/ChangeLog | 141 ++++++++++++++++++++++ libgcc/ChangeLog | 9 ++ libgomp/ChangeLog | 94 +++++++++++++++ libstdc++-v3/ChangeLog | 55 +++++++++ 11 files changed, 906 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index edbcaf2bc4d..9d5fce30b40 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,195 @@ +2020-06-04 Martin Sebor + + 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 + + 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 + + * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): + Ensure that tmp_ha is marked TREE_ADDRESSABLE. + +2020-06-04 Martin Jambor + + 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 + + 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_): Modify + define_insn to define_expand. + (mve_vstrbq_scatter_offset_p_): Likewise. + (mve_vstrhq_scatter_offset_): Likewise. + (mve_vstrhq_scatter_shifted_offset_p_): Likewise. + (mve_vstrhq_scatter_shifted_offset_): Likewise. + (mve_vstrdq_scatter_offset_p_v2di): Likewise. + (mve_vstrdq_scatter_offset_v2di): Likewise. + (mve_vstrdq_scatter_shifted_offset_p_v2di): Likewise. + (mve_vstrdq_scatter_shifted_offset_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_v4si): Likewise. + (mve_vstrwq_scatter_offset_v4si): Likewise. + (mve_vstrwq_scatter_shifted_offset_fv4sf): Likewise. + (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Likewise. + (mve_vstrwq_scatter_shifted_offset_p_v4si): Likewise. + (mve_vstrwq_scatter_shifted_offset_v4si): Likewise. + (mve_vstrbq_scatter_offset__insn): Define insn for scatter + stores. + (mve_vstrbq_scatter_offset_p__insn): Likewise. + (mve_vstrhq_scatter_offset__insn): Likewise. + (mve_vstrhq_scatter_shifted_offset_p__insn): Likewise. + (mve_vstrhq_scatter_shifted_offset__insn): Likewise. + (mve_vstrdq_scatter_offset_p_v2di_insn): Likewise. + (mve_vstrdq_scatter_offset_v2di_insn): Likewise. + (mve_vstrdq_scatter_shifted_offset_p_v2di_insn): Likewise. + (mve_vstrdq_scatter_shifted_offset_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_v4si_insn): Likewise. + (mve_vstrwq_scatter_offset_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_v4si_insn): Likewise. + (mve_vstrwq_scatter_shifted_offset_v4si_insn): Likewise. + +2020-06-04 Srinath Parvathaneni + + * 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 + + * 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 + + * 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 + + * 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 + + PR target/95254 + * config/i386/sse.md (*vcvtps2ph_store): + Refine from *vcvtps2ph_store. + (vcvtps2ph256): Refine constraint from vm to v. + (avx512f_vcvtps2ph512): Ditto. + (*vcvtps2ph256): New define_insn. + (*avx512f_vcvtps2ph512): 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 + + 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 + + PR target/95154 + * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Call assemble_external. + +2020-06-04 Hongtao.liu + + * config/i386/sse.md (pmov_dst_3_lower): New mode attribute. + (trunc2): Refine from + trunc2. + 2020-06-03 Vitor Guidi * match.pd (tanh/sinh -> 1/cosh): New simplification. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 6c883c98853..de253bc14b7 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20200604 +20200605 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6fc01445b8b..fed3fe2fbaf 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,306 @@ +2020-06-04 Arnaud Charlet + + * libgnat/i-c.ads (long_long, unsigned_long_long): New + definitions. + +2020-06-04 Arnaud Charlet + + * 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 + + * 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 + + * 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 + + * adabkend.adb, back_end.ads, opt.ads, sem_ch6.adb: Get rid of + Disable_FE_Inline_Always. + +2020-06-04 Eric Botcazou + + * 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 + + * 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 + + * exp_attr.adb (xpand_N_Attribute_Reference) : Call + Find_Inherited_TSS to look up the Stream_Read TSS. + : 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 + + * 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 + + * checks.adb (Generate_Discriminant_Check): Remove obsolete + comment. + +2020-06-04 Gary Dismukes + + * 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 + + * sinfo.ads (N_Delta_Aggregate): Document Etype field. + (N_Case_Expression): Likewise. + (Is_Syntactic_Field) : Adjust. + : Likewise. + +2020-06-04 Arnaud Charlet + + * adaint.c: Avoid redefining IS_DIR_SEPARATOR macro. + +2020-06-04 Arnaud Charlet + + * sem.adb (Walk_Library_Items): Defer processing of main spec + after all other specs and before processing bodies. + +2020-06-04 Arnaud Charlet + + * bindgen.adb (Gen_Adafinal): Adafinal is convention Ada, not C. + +2020-06-04 Ed Schonberg + + * 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 + + * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and + dumpbase-ext. Mark auxbase and auxbase-strip for removal. + +2020-06-04 Eric Botcazou + + * sem_attr.adb (Resolve_Attribute) : 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 + + * 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 + + * 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 + + * checks.ads: Update documentation about range checks and fix + minor other things. + +2020-06-04 Eric Botcazou + + * 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 + + * 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 + + * comperr.adb (Compiler_Abort): Update URL and bug report + instructions. + +2020-06-04 Steve Baird + + * 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 + + * 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 + + * 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 + + * sem_ch12.adb (Copy_Generic_Node): Add special handling for a + conversion between access types. + +2020-06-04 Eric Botcazou + + * 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 + + * sem_ch12.adb: Minor editorial fixes. + 2020-06-03 Eric Botcazou * sem_ch12.adb (Denotes_Previous_Actual): Delete. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index a513fdc4958..4344fb8ab4f 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,10 @@ +2020-06-04 Martin Sebor + + 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 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name): diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 452ab2345f0..5c8eaff1a97 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,33 @@ +2020-06-04 Jason Merrill + + PR c++/93310 + * constexpr.c (cxx_eval_constant_expression) [OBJ_TYPE_REF]: + Evaluate OBJ_TYPE_REF_EXPR. + +2020-06-04 Jason Merrill + + 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 + + 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 + + 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 * parser.c (cp_lexer_safe_previous_token): New function. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 5bee3ab9bb3..1ef6814468b 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,70 @@ +2020-06-04 Iain Buclaw + + * 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 + + * dmd/MERGE: Merge upstream dmd 47ed0330f. + +2020-06-04 Iain Buclaw + + * 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 * decl.cc (DeclVisitor::build_dsymbol): New function. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a8789024860..13534c18fe2 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2020-06-04 Steven G. Kargl + Harald Anlauf + + PR fortran/95500 + * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL + pointer. + 2020-06-03 José Rui Faustino de Sousa PR fortran/95214 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 89a1ad55923..45a256253a2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,144 @@ +2020-06-04 Martin Sebor + + 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 + + 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 + + PR c++/95158 + * g++.dg/template/virtual5.C: New test. + +2020-06-04 Steven G. Kargl + Harald Anlauf + + PR fortran/95500 + * gfortran.dg/pr95500.f90: New test. + +2020-06-04 Iain Sandoe + + PR c++/95346 + * g++.dg/coroutines/pr95346.C: New test. + +2020-06-04 Vladimir Makarov + + PR middle-end/95464 + * gcc.target/i386/pr95464.c: New. + +2020-06-04 Martin Jambor + + PR ipa/95113 + * gcc.dg/ipa/pr95113.c: New test. + +2020-06-04 Srinath Parvathaneni + + 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 + + * 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 + + * gcc.target/i386/avx512f-vcvtps2ph-pr95254.c: New test. + * gcc.target/i386/avx512vl-vcvtps2ph-pr95254.c: Ditto. + +2020-06-04 Arnaud Charlet + + * gnat.dg/openacc1.adb: Remove testcase. + +2020-06-04 Hao Liu + + 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 + + PR libfortran/59227 + * gfortran.dg/erf_3.F90: Remove XFAIL on ia64-*-linux*. + +2020-06-04 Hongtao.liu + + * gcc.target/i386/pr92658-avx512bw-trunc.c: Adjust testcase. + +2020-06-04 Jakub Jelinek + + 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 * g++.dg/spellcheck-inttypes.C: Add string-literal testcases. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 3b20f6f86a7..b4e39d188f4 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,12 @@ +2020-06-04 Andreas Schwab + + 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 PR gcov-profile/95480 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index d715aa4f0bf..75917f30afe 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,97 @@ +2020-06-04 Thomas Schwinge + + * oacc-mem.c (goacc_exit_data_internal) : + Evaluate 'copyfrom' individually for each entry. + * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update. + +2020-06-04 Thomas Schwinge + + * oacc-mem.c (goacc_exit_data_internal) : + 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 + + * 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 + Julian Brown + + * 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 + Julian Brown + + * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'. + +2020-06-04 Thomas Schwinge + + PR libgomp/92854 + * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting. + +2020-06-04 Thomas Schwinge + + PR libgomp/92854 + * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some + more. + +2020-06-04 Thomas Schwinge + Julian Brown + + * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from + 'gomp_map_vars'. + (acc_map_data): Clean up accordingly. + +2020-06-04 Thomas Schwinge + + * 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 + + * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. + +2020-06-04 Julian Brown + + * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on + error path. + (goacc_detach_internal): Likewise. + +2020-06-04 Thomas Schwinge + + * 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 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6ce4dd2fb57..ee252236a9f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,58 @@ +2020-06-04 Jonathan Wakely + + * 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>. + (iterator_traits>): Use nested class template + instead of __detail::__common_iter_ptr. + +2020-06-04 François Dumont + + * 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 + + * 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 PR libstdc++/90102