diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eb05020f98e764ce2239d70617424d0a0dc128c2..121e02741f2f240ddf6f1d30d92cc5d12d5f5b24 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,115 @@ +2021-05-07 Andrew Stubbs <ams@codesourcery.com> + + Revert: + 2021-05-07 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode. + +2021-05-07 Jakub Jelinek <jakub@redhat.com> + Andrew Stubbs <amd@codesourcery.com> + + PR target/100418 + * builtins.c (try_store_by_multiple_pieces): Use force_operand for + emit_move_insn operands. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * cfgexpand.c (expand_gimple_basic_block): Do not inherit a current + location for the outgoing edges of an empty block. + * dwarf2out.c (add_subscript_info): Retrieve the bounds and index + type by means of the get_array_descr_info langhook, if it is set and + returns true. Remove obsolete code dealing with unnamed subtypes. + +2021-05-07 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ssa_block_ranges): Virtualize. + (sbr_vector): Renamed from ssa_block_cache. + (sbr_vector::sbr_vector): Allocate from obstack abd initialize. + (ssa_block_ranges::~ssa_block_ranges): Remove. + (sbr_vector::set_bb_range): Use varying and undefined cached values. + (ssa_block_ranges::set_bb_varying): Remove. + (sbr_vector::get_bb_range): Adjust assert. + (sbr_vector::bb_range_p): Adjust assert. + (~block_range_cache): No freeing loop required. + (block_range_cache::get_block_ranges): Remove. + (block_range_cache::set_bb_range): Inline get_block_ranges. + (block_range_cache::set_bb_varying): Remove. + * gimple-range-cache.h (set_bb_varying): Remove prototype. + * value-range.h (irange_allocator::get_memory): New. + +2021-05-07 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (non_null_ref::non_null_deref_p): Search + dominator tree is available and requested. + (ranger_cache::ssa_range_in_bb): Don't search dom tree here. + (ranger_cache::fill_block_cache): Don't search dom tree here either. + * gimple-range-cache.h (non_null_deref_p): Add dom_search param. + +2021-05-07 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (gimple_ranger::range_on_exit): Handle block with + only PHI nodes better. + +2021-05-07 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-edge.h (gimple_outgoing_range): Rename from + outgoing_range. + (gcond_edge_range): Export prototype. + * gimple-range-edge.cc (gcond_edge_range): New. + (gimple_outgoing_range::edge_range_p): Use gcond_edge_range. + * gimple-range-gori.h (gori_compute): Use gimple_outgoing_range. + +2021-05-07 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-edge.cc (outgoing_range::calc_switch_ranges): Compute + default range into a temp and allocate only what is needed. + +2021-05-07 Andrew MacLeod <amacleod@redhat.com> + + * range-op.cc (operator_trunc_mod::wi_fold): x % 0 is UNDEFINED. + +2021-05-07 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.h (gimple_range_global): Pick up parameter initial + values, and use-before defined locals are UNDEFINED. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * doc/extend.texi (scalar_storage_order): Mention effect on pointer + and vector fields. + * tree.h (reverse_storage_order_for_component_p): Return false if + the type is a pointer. + +2021-05-07 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode. + +2021-05-07 Uroš Bizjak <ubizjak@gmail.com> + + PR target/98218 + * config/i386/i386-expand.c (ix86_expand_sse_movcc): + Handle V8QI, V4HI and V2SI modes. + * config/i386/mmx.md (mmx_pblendvb): New insn pattern. + * config/i386/sse.md (unspec): Move UNSPEC_BLENDV ... + * config/i386/i386.md (unspec): ... here. + +2021-05-07 Tobias Burnus <tobias@codesourcery.com> + Tom de Vries <tdevries@suse.de> + + * omp-low.c (lower_rec_simd_input_clauses): Set max_vf = 1 if + a truth_value_p reduction variable is nonintegral. + +2021-05-07 Uroš Bizjak <ubizjak@gmail.com> + + PR target/100445 + * config/i386/i386-expand.c (ix86_use_mask_cmp_p): + Return false for mode sizes < 16. + +2021-05-07 Jakub Jelinek <jakub@redhat.com> + + PR target/100445 + * config/i386/mmx.md (*xop_pcmov_<mode>): New define_insn. + 2021-05-06 Martin Jambor <mjambor@suse.cz> * ipa-sra.c (ipa_sra_dump_all_summaries): Dump edge summaries even diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index b5beafed7dfabe0288ca6b133e6fe326b74f0aa3..81f0a6bd0c26e350b260264ff789198e1fb4389c 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210507 +20210508 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 5c867361d05d76c3a355f79e48c143b1af6f72ee..0b25439ffa9588148b9cf78aad13058d7159fffd 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,540 @@ +2021-05-07 Piotr Trojanek <trojanek@adacore.com> + + * einfo-utils.adb (Is_Access_Object_Type): Use + Directly_Designated_Type. + (Is_Access_Subprogram_Type): Use Directly_Designated_Type. + (Set_Convention): Use plain Ekind. + * gen_il-gen-gen_entities.adb (Type_Kind): Use plain Ekind. + * sem_ch3.adb (Access_Type_Declaration): When seeing an illegal + completion with an access type don't attempt to decorate the + completion entity; previously the entity had its Ekind set to + E_General_Access_Type or E_Access_Type, but its Designated_Type + was empty, which caused a crash in freezing. (Actually, the + error recovery in the surrounding context is still incomplete, + e.g. we will crash when the illegal completion is an access to + an unknown identifier). + +2021-05-07 Bob Duff <duff@adacore.com> + + * par_sco.adb: Align with/use clauses. + (Traverse_Declarations_Or_Statements): Minor comment fix. + * aspects.adb, atree.adb, atree.ads, checks.adb, comperr.adb, + contracts.adb, cstand.adb, debug_a.adb, einfo-utils.adb, + errout.adb, eval_fat.adb, exp_aggr.adb, expander.adb, + exp_atag.adb, exp_attr.adb, exp_cg.adb, exp_ch11.adb, + exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, + exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, + exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_disp.adb, + exp_dist.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, + exp_pakd.adb, exp_prag.adb, exp_put_image.adb, exp_sel.adb, + exp_smem.adb, exp_spark.adb, exp_strm.adb, exp_tss.adb, + exp_unst.adb, exp_util.adb, exp_util.ads, freeze.adb, + frontend.adb, ghost.adb, gnat1drv.adb, gnat_cuda.adb, + impunit.adb, inline.adb, itypes.adb, itypes.ads, layout.adb, + lib.adb, lib-load.adb, lib-writ.adb, lib-xref.adb, + lib-xref-spark_specific.adb, live.adb, nlists.adb, par.adb, + par-ch11.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, pprint.adb, + repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, scn.adb, + sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_case.adb, + sem_cat.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, + sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, + sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, + sem_dim.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, + sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb, + sem_prag.adb, sem_res.adb, sem_scil.adb, sem_smem.adb, + sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb, + sinfo-cn.adb, sinfo-utils.ads, sinput.adb, sinput-l.adb, + sprint.adb, style.adb, styleg.adb, tbuild.adb, tbuild.ads, + treepr.adb, uname.adb: Align with/use clauses. + +2021-05-07 Bob Duff <duff@adacore.com> + + * atree.ads, atree.adb, gen_il-gen.ads: Fix comments and clean + up ??? marks. Rename Set_Ekind to be Mutate_Ekind. + * einfo.ads, sinfo.ads: Likewise. Change "definitive + definition" to "official definition", because the former sounds + redundant. Rename Set_Ekind to be Mutate_Ekind. + * checks.adb, contracts.adb, cstand.adb, exp_aggr.adb, + exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb, + exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, + exp_dist.adb, exp_imgv.adb, exp_intr.adb, exp_prag.adb, + exp_unst.adb, exp_util.adb, gen_il-gen.adb, inline.adb, + lib-writ.adb, lib-xref-spark_specific.adb, sem_aggr.adb, + sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, + sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, + sem_ch9.adb, sem_dist.adb, sem_elab.adb, sem_prag.adb, + sem_util.adb: Rename Set_Ekind to be Mutate_Ekind. + +2021-05-07 Bob Duff <duff@adacore.com> + + * atree.adb: Move nnd-related code from here, and leave a + comment pointing to sinfo-utils.adb. + * sinfo-utils.ads, sinfo-utils.adb: Move nnd-related code to + here. + +2021-05-07 Piotr Trojanek <trojanek@adacore.com> + + * einfo.ads: Move Corresponding_Protected_Entry... + * sinfo.ads: ... here. + * exp_ch9.adb (Build_Entry_Body): Link procedure and entry + bodies. + * gen_il-fields.ads (Opt_Field_Enum): Add + Corresponding_Entry_Body field to nodes; remove + Corresponding_Protected_Entry field from entities. + * gen_il-gen-gen_entities.adb (Gen_Entities): Remove + Corresponding_Protected_Entry field from E_Void and + E_Subprogram_Body. + * gen_il-gen-gen_nodes.adb (Gen_Nodes): Add + Corresponding_Entry_Body field to N_Subprogram_Body. + * sem_ch6.adb (Analyze_Subprogram_Specification): Remove + manipulation of Ekind and Corresponding_Protected_Entry added as + part of the support for varsize-nodes. + +2021-05-07 Bob Duff <duff@adacore.com> + + * sem_ch3.adb (Process_Incomplete_Dependents): Reset + Private_Dependents field to zero before calling Set_Ekind. Also + move Set_Etype to after Set_Ekind, because it's always best to + set the Ekind as early as possible. + * atree.adb: Improve debugging facilities for vanishing fields. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * atree.ads (Slot): Change to modular type. + (Slot_1_Bit): Delete. + (Slot_2_Bit): Likewise. + (Slot_4_Bit): Likewise. + (Slot_8_Bit): Likewise. + (Slot_32_Bit): Likewise. + * atree.adb (Get_1_Bit_Val): Adjust to above change. + (Get_2_Bit_Val): Likewise. + (Get_4_Bit_Val): Likewise. + (Get_8_Bit_Val): Likewise. + (Get_32_Bit_Val): Likewise. + (Set_1_Bit_Val): Likewise. + (Set_2_Bit_Val): Likewise. + (Set_4_Bit_Val): Likewise. + (Set_8_Bit_Val): Likewise. + (Set_32_Bit_Val): Likewise. + (Print_Atree_Info): Likewise. + (Zero): Likewise. + * atree.h (Get_1_Bit_Field): Likewise. + (Get_2_Bit_Field): Likewise. + (Get_4_Bit_Field): Likewise. + (Get_8_Bit_Field): Likewise. + (Get_32_Bit_Field): Likewise. + (Get_32_Bit_Field_With_Default): Likewise. + * types.h (slot_1_bit): Delete. + (slot_2_bit): Likewise. + (slot_4_bit): Likewise. + (slot_8_bit): Likewise. + (slot_32_bit): Likewise. + (any_slot): Change to unsigned int. + (Slot_Size): New macro. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/gigi.h (enum standard_datatype): Remove + ADT_exception_data_name_id and add ADT_not_handled_by_others_name_id. + (exception_data_name_id): Delete. + (not_handled_by_others_name_id): New macro. + * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Exception>: Remove old + kludge for exceptions. + <E_Record_Type>: Likewise. + (gnat_to_gnu_field): Force character type on Not_Handled_By_Others. + * gcc-interface/misc.c (gnat_argv): Change type to char **. + (gnat_init_options): Adjust accordingly. + * gcc-interface/trans.c (gigi): Set not_handled_by_others_name_id + and use it to set not_handled_by_others_decl. + (Exception_Handler_to_gnu_fe_sjlj): Fix indentation. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * raise-gcc.c (__gnat_others_value): Remove const qualifier. + (__gnat_all_others_value): Likewise. + (__gnat_unhandled_others_value): Likewise. + (GNAT_OTHERS): Cast to Exception_Id instead of _Unwind_Ptr. + (GNAT_ALL_OTHERS): Likewise. + (GNAT_UNHANDLED_OTHERS): Likewise. + (Is_Handled_By_Others): Change parameter type to Exception_Id. + (Language_For): Likewise. + (Foreign_Data_For): Likewise. + (is_handled_by): Likewise. Adjust throughout, remove redundant + line and fix indentation. + * libgnat/a-exexpr.adb (Is_Handled_By_Others): Remove pragma and + useless qualification from parameter type. + (Foreign_Data_For): Likewise. + (Language_For): Likewise. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-stalib.ads (Exception_Data): Mark components as aliased. + * stand.ads (Standard_Entity_Type): Enhance comments. + * cstand.adb (Make_Component): Rename into... + (Make_Aliased_Component): ...this; set Is_Aliased and Is_Independent + flags on the component. + (Create_Standard): Adjust the types of the component of the record + Standard_Exception_Type and mark them as aliased. + * exp_ch11.adb (Expand_N_Exception_Declaration): Use OK + conversion to Standard_Address for Full_Name component, except + in CodePeer_Mode (set it to 0). + * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Likewise. + * raise.h (struct Exception_Data): Change the type of Full_Name, + HTable_Ptr and Foreign_Data. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * atree.h (Slots_Ptr): Change pointed-to type to any_slot. + * fe.h (Get_RT_Exception_Name): Change type of parameter. + * namet.ads (Name_Entry): Mark non-boolean components as aliased, + reorder the boolean components and add an explicit Spare component. + * namet.adb (Name_Enter): Adjust aggregate accordingly. + (Name_Find): Likewise. + (Reinitialize): Likewise. + * namet.h (struct Name_Entry): Adjust accordingly. + (Names_Ptr): Use correct type. + (Name_Chars_Ptr): Likewise. + (Get_Name_String): Fix declaration and adjust to above changes. + * types.ads (RT_Exception_Code): Add pragma Convention C. + * types.h (Column_Number_Type): Fix original type. + (slot): Rename union type to... + (any_slot): ...this and adjust assertion accordingly. + (RT_Exception_Code): New enumeration type. + * uintp.ads (Uint_Entry): Mark components as aliased. + * uintp.h (Uints_Ptr): Use correct type. + (Udigits_Ptr): Likewise. + * gcc-interface/gigi.h (gigi): Adjust name and type of parameter. + * gcc-interface/cuintp.c (UI_To_gnu): Adjust references to Uints_Ptr + and Udigits_Ptr. + * gcc-interface/trans.c (Slots_Ptr): Adjust pointed-to type. + (gigi): Adjust type of parameter. + (build_raise_check): Add cast in call to Get_RT_Exception_Name. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * init.c (__gnat_raise_program_error): Fix parameter type. + (Raise_From_Signal_Handler): Likewise and mark as no-return. + * raise-gcc.c (__gnat_others_value): Fix type. + (__gnat_all_others_value): Likewise. + (__gnat_unhandled_others_value): Likewise. + * seh_init.c (Raise_From_Signal_Handler): Fix parameter type. + * libgnat/a-except.ads (Raise_From_Signal_Handler): Use convention C + and new symbol name, move declaration to... + (Raise_From_Controlled_Operation): Minor tweak. + * libgnat/a-except.adb (Raise_From_Signal_Handler): ...here. + * libgnat/a-exexpr.adb (bool): New C compatible boolean type. + (Is_Handled_By_Others): Use it as return type for the function. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * errout.ads (Set_Identifier_Casing): Add pragma Convention C. + * eval_fat.ads (Rounding_Mode): Likewise. + (Machine): Add WARNING comment line. + * exp_code.ads (Clobber_Get_Next): Add pragma Convention C. + * fe.h (Compiler_Abort): Fix return type. + (Set_Identifier_Casing): Change type of parameters. + (Clobber_Get_Next): Change return type. + * gcc-interface/trans.c (gnat_to_gnu) <N_Code_Statement>: Add cast. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * atree.h (Parent): Remove duplicate declaration. + (Get_1_Bit_Field): Also use INLINE specifier in the declaration, + fix formatting and use gcc_unreachable for the default case. + (Get_2_Bit_Field): Likewise. + (Get_4_Bit_Field): Likewise. + (Get_8_Bit_Field): Likewise. + (Get_32_Bit_Field): Likewise. + (Get_32_Bit_Field_With_Default): Likewise. + +2021-05-07 Bob Duff <duff@adacore.com> + + * atree.ads, atree.adb: Major rewrite to support variable-sized + node types. Add pragmas Suppress and Assertion_Policy. We now + have an extra level of indirection: Node_Offsets is a table + mapping Node_Ids to the offset of the start of each node in + Slots. Slots is a table containing one or more contiguous slots + for each node. Each slot is a 32-bit unchecked union that can + contain any mixture of 1, 2, 4, 8, and 32-bit fields that fits. + The old low-level getters and setters (e.g. Flag123) are + removed. + * gen_il-fields.ads, gen_il-gen-gen_entities.adb, + gen_il-gen-gen_nodes.adb, gen_il-gen.adb, gen_il-gen.ads, + gen_il-main.adb, gen_il-types.ads, gen_il-utils.adb, + gen_il-utils.ads, gen_il.adb, gen_il.ads: New gen_il program + that generates various Ada and C++ files. In particular, the + following files are generated by gen_il: einfo-entities.adb + einfo-entities.ads, gnatvsn.ads, nmake.adb, nmake.ads, + seinfo.ads, seinfo_tables.adb, seinfo_tables.ads, + sinfo-nodes.adb, sinfo-nodes.ads, einfo.h, and sinfo.h. + * sinfo-utils.adb, sinfo-utils.ads, einfo-utils.adb, + einfo-utils.ads: New files containing code that needs to refer + to Sinfo.Nodes and Einfo.Entities. This code is mostly moved + here from Sinfo and Einfo to break cycles. + * back_end.adb: Pass node_offsets_ptr and slots_ptr to gigi, + instead of nodes_ptr and flags_ptr. The Nodes and Flags tables + no longer exist. (Note that gigi never used the Flags table.) + * sinfo-cn.ads (Change_Identifier_To_Defining_Identifier, + Change_Character_Literal_To_Defining_Character_Literal, + Change_Operator_Symbol_To_Defining_Operator_Symbol): Turn N into + an IN formal. + * sinfo-cn.adb: Update. Add assertions, which can be removed at + some point. Rewrite to use higher-level facilities. Make sure + vanishing fields are zeroed out. Add with/use for new packages. + * sem_util.adb: Remove "Assert(False)" immediately followed by + "raise Program_Error". Use higher-level facilities such as + Walk_Sinfo_Fields instead of depending on low-level Set_FieldN + routines that no longer exist. Use Get_Comes_From_Source_Default + instead of Default_Node.Comes_From_Source (Default_Node no + longer exists). Use Set_Basic_Convention instead of + Basic_Set_Convention. Add with/use for new packages. + * sem_util.ads: The Convention field had getter Convention and + setter Basic_Set_Convention. Make that more uniform: there is + now a field called Basic_Convention, with Basic_Convention and + Set_Basic_Convention as getter/setter, and write Convention and + Set_Convention here. + * nlists.adb: Rewrite to use abstractions, rather then depending + on low-level implementation details of Atree. Necessary because + those details have changed. Add with/use for new packages. + * sem_ch12.adb: Use higher-level facilities such as + Walk_Sinfo_Fields instead of depending on low-level Set_FieldN + routines that no longer exist. Add with/use for new packages. + * exp_cg.adb, sem_ch10.adb, sem_ch4.adb, sem_eval.adb, + sem_prag.adb, sem_warn.adb: Change expanded names to refer to + the new packages for things that moved. Add with/use for new + packages. + * sem_ch3.adb: Likewise. Reinitialize vanishing fields. + * exp_disp.adb: Likewise. Remove failing assertion. + * sinfo.ads, einfo.ads: Remove code that is now generated into + Sinfo.Nodes and Einfo.Entities. + * sinfo.adb, einfo.adb: Replace bodies with "pragma No_Body;". + We should delete these at some point, but No_Body makes make + files easier. Some code is moved to Sinfo.Nodes, Einfo.Entities, + Sinfo.Utils, and Einfo.Utils. Some is no longer necessary. + * treepr.adb: Rewrite to use new tables. We no longer need + treeprs.ads. + * treepr.ads: Add comment. + * types.ads: Move types Component_Alignment_Kind and + Float_Rep_Kind here. + * atree.h: Major update to match atree.ads changes. Add slot + types, for use by getters/setters. + * types.h: Move types Component_Alignment_Kind and + Float_Rep_Kind here. + * fe.h: Rewrite to deal with code that has changed or moved from + Atree, Sinfo, Einfo. + * nlists.h: Move some code to fe.h. + * alloc.ads: Split Nodes_* constants into Node_Offsets and + Slots, because Atree has two separate tables. Increase values. + Remove Nodes_Release_Threshold. Improve comment. + * debug.adb, gnat1drv.adb: Remove obsolete gnatd.A and gnatd.N + switches. Add with/use for new packages. + * opt.ads: Minor comment fix. + * aspects.adb, checks.adb, comperr.adb, contracts.adb, + cstand.adb, debug_a.adb, errout.adb, eval_fat.adb, exp_aggr.adb, + exp_atag.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb, + exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, + exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_ch9.adb, + exp_code.adb, exp_dbug.adb, exp_dist.adb, exp_fixd.adb, + exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb, + exp_put_image.adb, exp_sel.adb, exp_smem.adb, exp_spark.adb, + exp_strm.adb, exp_tss.adb, exp_unst.adb, exp_util.adb, + exp_util.ads, expander.adb, freeze.adb, frontend.adb, + get_targ.ads, ghost.adb, gnat_cuda.adb, impunit.adb, inline.adb, + itypes.adb, itypes.ads, layout.adb, lib.adb, lib-load.adb, + lib-writ.adb, lib-xref.adb, lib-xref.ads, + lib-xref-spark_specific.adb, live.adb, par.adb, par_sco.adb, + pprint.adb, repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, + scn.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb, + sem_aux.adb, sem_case.adb, sem_cat.adb, sem_ch11.adb, + sem_ch13.adb, sem_ch2.adb, sem_ch5.adb, sem_ch6.adb, + sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_dim.adb, + sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb, + sem_intr.adb, sem_mech.adb, sem_res.adb, sem_scil.adb, + sem_smem.adb, sem_type.adb, set_targ.ads, sinput.adb, + sinput-l.adb, sprint.adb, style.adb, styleg.adb, tbuild.adb, + tbuild.ads, uname.adb: Add with/use for new packages. + * libgnat/a-stoubu.adb, libgnat/a-stouut.adb: Simplify to ease + bootstrap. + * libgnat/a-stobfi.adb, libgnat/a-stoufi.adb (Create_File, + Create_New_File): Create file in binary format, to avoid + introducing unwanted text conversions on Windows. Simplify to + ease bootstrap. + * libgnat/a-stteou__bootstrap.ads: New. + * ceinfo.adb, csinfo.adb, nmake.adt, treeprs.adt, xeinfo.adb, + xnmake.adb, xsinfo.adb, xtreeprs.adb: Delete. + * Make-generated.in: Build and run the gen_il program to + generate files. The files are generated in the ada/gen_il + subdirectory, and then moved up to ada. We rely on gnatmake (as + opposed to make) to build the gen_il program efficiently (i.e. + don't do anything if the sources didn't change). + * gcc-interface/Makefile.in (ADAFLAGS): Add -gnatU. + (GNATMAKE_OBJS): Add new object files. + (GENERATED_FILES_FOR_TOOLS): New variable. + (../stamp-tools): Create a link for all + GENERATED_FILES_FOR_TOOLS. + * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add new object + files. Remove ada/treeprs.o. + (GNATBIND_OBJS): Add new object files. + (ada.mostlyclean): Remove ada/sdefault.adb and add + ada/stamp-gen_il. + (ada.maintainer-clean): Remove ada/treeprs.ads. + (update-sources): Remove obsolete target. + (ada_generated_files): Rename to... + (ADA_GENERATED_FILES): ... this. Add new source files. Add + comment. + * gcc-interface/trans.c: Remove obsolete Nodes_Ptr and + Flags_ptr. Add Node_Offsets_Ptr and Slots_Ptr, which point to + the corresponding tables in Atree. + * gcc-interface/gigi.h (gigi): New parameters for initializing + Node_Offsets_Ptr and Slots_Ptr. + * gcc-interface/decl.c: Numeric_Kind, + Discrete_Or_Fixed_Point_Kind, and Record_Kind were + nonhierarchical, and were therefore removed for simplicity. + Replace uses with calls to Is_In_... functions. + +2021-05-07 Ed Schonberg <schonberg@adacore.com> + + * exp_ch4.adb (Unconstrained_UU_In_Component_Declaration): A + component declaration whose subtype indication is an entity name + without an explicit constraint is an Unchecked_Union type only + if the entity has an unconstrained nominal subtype (record type + or private type) whose parent type is an Unchecked_Union. + +2021-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Flag_Object): Ignore prefixes of attribute + Address. + +2021-05-07 Yannick Moy <moy@adacore.com> + + * opt.ads: Update comment for Warn_On_Suspicious_Modulus_Value. + * sem_res.adb (Resolve_Unary_Op): Generate warning. + * usage.adb: Refine doc for -gnatw.m/M switch. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Update doc on -gnatw.m switch. + * gnat_ugn.texi: Regenerate. + +2021-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Flag_Object): Replace chained IF with a CASE; + remove repeated calls to Entity; do not traverse into + N_Identifier and N_Expanded_Name, because only need to examine + their Entity field anyway. + +2021-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch4.adb (Analyze_Call): Remove call to End_Interp_List. + (Process_Overloaded_Indexed_Component): Remove call to + End_Interp_List. + * sem_util.adb (Insert_Explicit_Dereference): Remove call to + End_Interp_List. + * sem_type.ads (End_Interp_List): Remove. + * sem_type.adb (Add_Entry): The guard against duplicate entries + is now checked before other conditions, so that EXIT statements + do not bypass this guard. + (End_Interp_List): Remove. + +2021-05-07 Ed Schonberg <schonberg@adacore.com> + + * exp_util.adb (Remove_Init_Call): If a simple initialization + call is present, and the next statement is an initialization + block (that contains a call to a Deep_ Initialize routine), + remove the block as well, and insert the first initialization + call in it, in case it is needed for later relocation. + +2021-05-07 Gary Dismukes <dismukes@adacore.com> + + * errout.ads (Size_Too_Small_Message): Remove low-value ??? + comment. + * exp_util.ads: Remove ??? in part of overall package comments + and restructure comment to clarify. + (Duplicate_Subexpr): Remove ??? comment that seems unnecessary. + * sem_ch3.ads (Analyze_Declarations): Remove two parenthesized + ??? comments and add more description of the procedure's + actions. + (Get_Discriminant_Value): Remove ??? comment requesting more + documentation, expanding description of the function's actions. + * sem_disp.ads (Check_Operation_From_Incomplete_Type): Add more + semantic description of the procedure and remove ??? comment + requesting such. + (Propagate_Tag): Refine comment to indicate meaning of formal + parameters and generally improve the spec comment (and remove + ??? comment asking about the parameters). + +2021-05-07 Arnaud Charlet <charlet@adacore.com> + + * sem_eval.adb (Fold_Shift): Fix computation of Shift_Left + resulting in negative signed values. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * sem_util.ads (Defining_Entity): Remove Empty_On_Errors parameter. + (Defining_Entity_Or_Empty): New function. + * sem_util.adb (Defining_Entity): Move bulk of implementation to... + (Defining_Entity_Or_Empty): ...here. Do not raise Program_Error. + (Innermost_Master_Scope_Depth): Call Defining_Entity_Or_Empty. + +2021-05-07 Justin Squirek <squirek@adacore.com> + + * aspects.ads: Add entries to register + Aspect_No_Controlled_Parts. + * freeze.adb (Check_No_Controlled_Parts_Violations): Added to + check requirements of aspect No_Controlled_Parts after a type + has been frozen. + (Freeze_Entity): Add call to + Check_No_Controlled_Parts_Violations. + (Find_Aspect_No_Controlled_Parts): Created to obtain the aspect + specification for No_Controlled_Parts on a given type when + present. + (Find_Aspect_No_Controlled_Parts_Value): Protect against invalid + value. + (Has_Aspect_No_Controlled_Parts): Created as a prediate function + to check if No_Controlled_Parts has been specified on a type for + Get_Anacestor_Types_With_Specification. + (Get_Aspect_No_Controlled_Parts_Value): Created to obtain the + value of the aspect No_Controlled_Parts when specified on a + given type. + (Get_Generic_Formal_Types_In_Hierarchy): Created to collect + formal types in a given type's hierarchy. + (Get_Types_With_Aspect_In_Hierarchy): Created to collect types + in a given type's hierarchy with No_Controlled_Parts specified. + * sem_ch13.adb (Analyze_One_Aspect): Add processing for + No_Controlled_Parts, and fix error in check for allowed pragmas + for formal types. + (Check_Expr_Is_OK_Static_Expression): Created to enforce + checking of static expressions in the same vein as + Analyze_Pragma.Check_Expr_OK_Static_Expression. + * sem_util.adb (Collect_Types_In_Hierarchy): Created to collect + types in a given type's hierarchy that match a given predicate + function. + * sem_util.ads: Fix typo. + * snames.ads-tmpl: Add entry for No_Controlled_Parts. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the + overflow case when T'Machine_Overflows is True. + +2021-05-07 Bob Duff <duff@adacore.com> + + * libgnat/a-conhel.adb (TC_Check): Move the Assert into the + 'if'. + +2021-05-07 Frederic Konrad <konrad@adacore.com> + + * sigtramp-vxworks-target.inc: Use a local label for the TOC. + +2021-05-07 Claire Dross <dross@adacore.com> + + * exp_ch4.adb (Has_Inferable_Discriminants): Moved to Sem_Util. + * sem_util.ads, sem_util.adb (Has_Inferable_Discriminants): + Moved from Exp_Ch4. + +2021-05-07 Ed Schonberg <schonberg@adacore.com> + + * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): + Add guard to verify that the enclosing pragma is a precondition. + 2021-05-06 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Build_Class_Wide_Check): Extending the diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 29499d79b191fffd852bdb95189b0921adfd3cda..d5750cfa8a6b1a358d9c9a2b04257b1b8329abfc 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * c-typeck.c (build_unary_op) <ADDR_EXPR>: Do not issue an error + on the address of a pointer field in a record with reverse SSO. + 2021-05-04 Tobias Burnus <tobias@codesourcery.com> * c-typeck.c (c_finish_omp_clauses): Accept float + complex diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fcb2075efd7e7c7da420c810d889c5085af72a43..8bbc030217e32649f011203d39aeb7ba32b2c7a9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,22 @@ +2021-05-07 Jason Merrill <jason@redhat.com> + + * tree.c (rvalue): Assert expr is not a class lvalue. + +2021-05-07 Jason Merrill <jason@redhat.com> + + * cp-tree.h (build_stub_object): Declare. + * method.c (build_stub_object): No longer static. + * call.c (can_convert): Use it. + * tree.c (build_dummy_object): Adjust comment. + * typeck.c (cp_build_binary_op): Wrap SPACESHIP_EXPR in a + TARGET_EXPR. + +2021-05-07 Jason Merrill <jason@redhat.com> + + * coroutines.cc (build_co_await): Don't call 'rvalue'. + (flatten_await_stmt): Simplify initialization. + (morph_fn_to_coro): Change 'rvalue' to 'move'. Simplify. + 2021-05-04 Tobias Burnus <tobias@codesourcery.com> * semantics.c (finish_omp_reduction_clause): Accept float + complex diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dcd47527afd511f01b6ca15048a9bf508f3333ca..80eb9a64b673b177c0520efcb3943355eed682b3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,36 @@ +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/debug18.adb: New test. + +2021-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/sso-12.c: New test. + +2021-05-07 Jason Merrill <jason@redhat.com> + + * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: + Adjust diagnostic. + +2021-05-07 Christophe Lyon <christophe.lyon@linaro.org> + + PR tree-optimization/79333 + * gcc.dg/tree-ssa/ssa-fre-94.c: Require c99_runtime. + +2021-05-07 Jakub Jelinek <jakub@redhat.com> + + PR c/100450 + * c-c++-common/gomp/pr100450.c: New test. + +2021-05-07 Uroš Bizjak <ubizjak@gmail.com> + + PR target/100445 + * gcc.target/i386/pr100445-1.c: New test. + +2021-05-07 Jakub Jelinek <jakub@redhat.com> + + PR target/100445 + * gcc.target/i386/pr100445.c: New test. + 2021-05-06 Joseph Myers <joseph@codesourcery.com> PR c++/83873 diff --git a/gnattools/ChangeLog b/gnattools/ChangeLog index 144cce05964245035fd50f1e87eab877d3805003..d86a991732e01f4a72447e490d5d43d64d19378d 100644 --- a/gnattools/ChangeLog +++ b/gnattools/ChangeLog @@ -1,3 +1,8 @@ +2021-05-07 Bob Duff <duff@adacore.com> + + * Makefile.in (GENERATED_FILES_FOR_TOOLS): New variable. + ($(GCC_DIR)/stamp-tools): Walk it for the first copy operation. + 2018-11-19 Alexandre Oliva <oliva@adacore.com> PR ada/81878 diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index cb31a7605274c0a10fbbcfdaaebd22c1d490ac38..e1275e6d3c867e4cfa1a72ece0ec8e9bc63a7384 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,8 @@ +2021-05-07 Jakub Jelinek <jakub@redhat.com> + + PR c/100450 + * lex.c (cpp_avoid_paste): Handle token1 CPP_PRAGMA like CPP_NAME. + 2021-05-06 Joseph Myers <joseph@codesourcery.com> PR c++/83873 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index b62f175dd688624803c4734dcf948fe4a28b3549..d9d88ca6c7d6b72ddf20bde17ad130fa8e213dc3 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,10 @@ +2021-05-07 Tobias Burnus <tobias@codesourcery.com> + Tom de Vries <tdevries@suse.de> + + * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing + complex/floating-point || + && reduction with 'omp target'. + * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise. + 2021-05-04 Tobias Burnus <tobias@codesourcery.com> * testsuite/libgomp.c-c++-common/reduction-1.c: New test. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 53164d67778f7a6723c7548cc0dcc6c6539a24b5..63236739c9529c5ed2e065fcde68293d12c690a3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,24 @@ +2021-05-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/istream (__rvalue_stream_extraction_t): Replace + use of __rval_streamable. + * include/std/ostream (__rvalue_stream_insertion_t): Likewise. + (__rval_streamable): Remove. + (_Require_derived_from_ios_base, __derived_from_ios_base): New + helper for checking constraints. + * testsuite/27_io/basic_istream/extractors_other/char/4.cc: Fix + reference to the wrong subclause of the standard. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/99692.cc: + New test. + * testsuite/27_io/filesystem/path/io/dr2989.cc: Adjust pruned + errors. + 2021-05-06 Jonathan Wakely <jwakely@redhat.com> * include/bits/stl_algobase.h (__copy_move, __copy_move_backward):