Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 8 May 2021 00:16:27 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 8 May 2021 00:16:27 +0000 (00:16 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/c/ChangeLog
gcc/cp/ChangeLog
gcc/testsuite/ChangeLog
gnattools/ChangeLog
libcpp/ChangeLog
libgomp/ChangeLog
libstdc++-v3/ChangeLog

index eb05020..121e027 100644 (file)
@@ -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
index b5beafe..81f0a6b 100644 (file)
@@ -1 +1 @@
-20210507
+20210508
index 5c86736..0b25439 100644 (file)
@@ -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
index 29499d7..d5750cf 100644 (file)
@@ -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
index fcb2075..8bbc030 100644 (file)
@@ -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
index dcd4752..80eb9a6 100644 (file)
@@ -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
index 144cce0..d86a991 100644 (file)
@@ -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
index cb31a76..e1275e6 100644 (file)
@@ -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
index b62f175..d9d88ca 100644 (file)
@@ -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.
index 53164d6..6323673 100644 (file)
@@ -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):