aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r--gcc/ada/ChangeLog309
1 files changed, 309 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d558e63..557329d 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,312 @@
+2023-05-26 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb
+ (Build_Derived_Record_Type): Temporarily set the state of the
+ Derived_Type to "self-hidden" while processing constraints
+ and discriminants of a record extension.
+
+2023-05-26 Bob Duff <duff@adacore.com>
+
+ * einfo.ads: Add comma.
+ * contracts.adb: Fix typos.
+ * exp_attr.adb: Likewise.
+ * exp_ch5.adb: Likewise.
+ * exp_ch6.adb: Likewise.
+ * lib-xref.adb: Likewise.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * debug.adb (d.N): Document new usage.
+ * exp_ch4.adb (Expand_N_Type_Conversion): Copy the Float_Truncate
+ flag when rewriting a floating-point to fixed-point conversion as
+ a floating-point to integer conversion.
+ * exp_fixd.adb: Add with and use clauses for Debug.
+ (Expand_Convert_Fixed_To_Fixed): Generate a truncation in all cases
+ except if the result is explicitly rounded.
+ (Expand_Convert_Integer_To_Fixed): Likewise.
+ (Expand_Convert_Float_To_Fixed): Generate a truncation for all kind
+ of fixed-point types, except if the result is explicitly rounded, or
+ -gnatd.N is specified and the type is an ordinary fixed-point type.
+ * sinfo.ads (Float_Truncate): Document usage for floating-point to
+ fixed-point conversions.
+
+2023-05-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb
+ (Expand_N_Allocator): If an allocator with constraints is called
+ in the return statement of a function returning a general access
+ type, then propagate to the itype the master of the general
+ access type (since it is the master associated with the
+ returned object).
+
+2023-05-26 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Add dummy initialization and
+ assertion that clarifies when we reassigned to a useful value.
+
+2023-05-26 Yannick Moy <moy@adacore.com>
+
+ * doc/gnat_rm/gnat_language_extensions.rst: Be more explicit on
+ pattern matching limitation.
+ * gnat_rm.texi: Regenerate.
+ * gnat_ugn.texi: Regenerate.
+
+2023-05-26 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-calend.ads: Mark with SPARK_Mode=>Off the functions which may
+ raise Time_Error.
+ * libgnat/a-ngelfu.ads: Mark with SPARK_Mode=>Off the functions which may
+ lead to an overflow (which is not the case of Tan with one parameter for
+ example, or Arctanh or Arcoth, despite their mathematical range covering
+ the reals).
+ * libgnat/a-textio.ads: Remove Always_Return annotation from functions, as
+ this is now compulsory for functions to always return in SPARK.
+ * libgnat/i-cstrin.ads: Add Might_Not_Return annotation to Update procedure
+ which may not return.
+
+2023-05-26 Bob Duff <duff@adacore.com>
+
+ * exp_put_image.adb (Build_Image_Call): Treat 'Img the same as
+ 'Image.
+ * exp_imgv.adb (Expand_Image_Attribute): If Discard_Names, expand
+ to 'Image instead of 'Img.
+ * snames.ads-tmpl, par-ch4.adb, sem_attr.adb, sem_attr.ads:
+ Cleanups: Rename Attribute_Class_Array to be Attribute_Set. Remove
+ unnecessary qualifications. DRY: Don't repeat "True".
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present.
+ * sem_util.adb (Find_Untagged_Type_Of): Likewise.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Initialize_Array_Component): Remove obsolete code.
+ (Expand_Array_Aggregate): In the case where a temporary is created
+ and the parent is an assignment statement with No_Ctrl_Actions set,
+ set Is_Ignored_Transient on the temporary.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to
+ that of the instance only after loading the generic's parent.
+ (Instantiate_Subprogram_Body): Likewise.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch4.adb (Expand_Set_Membership): Simplify by using Evolve_Or_Else.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch4.adb (Is_OK_Object_Reference): Replace loop with a call to
+ Unqual_Conv; consequently, change object from variable to constant;
+ replace an IF statement with an AND THEN expression.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch9.adb
+ (Build_Entry_Count_Expression): Remove loop over component declaration;
+ consequently remove a parameter that is no longer used; adapt callers.
+ (Make_Task_Create_Call): Refine type of a local variable.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_cat.adb (Check_Non_Static_Default_Expr): Detect components inside
+ loop, not in the loop condition itself.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/a-cbdlli.ads (List): Move Nodes component to the end.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * libgnat/a-crdlli.ads (List): Move Nodes component to the end.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate.
+ (Resolve_Attribute): Apply the static matching legality rule to an
+ Unrestricted_Access attribute applied to an aliased prefix if the
+ type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the
+ aliasing legality rule as well.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Is_Null_Record_Definition): Use First_Non_Pragma and
+ Next_Non_Pragma to ignore pragmas within component list.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_prag.adb (Get_Argument): Improve detection of generic units.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch4.adb (Check_Action_OK): Replace low-level test with a
+ high-level routine.
+ * sem_ch13.adb (Is_Predicate_Static): Likewise.
+
+2023-05-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb
+ (Expand_N_Conditional_Entry_Call): Factorize code to avoid
+ duplicating subtrees; required to avoid problems when the copied
+ code has implicit labels.
+ * sem_util.ads (New_Copy_Separate_List): Removed.
+ (New_Copy_Separate_Tree): Removed.
+ * sem_util.adb (New_Copy_Separate_List): Removed.
+ (New_Copy_Separate_Tree): Removed.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Check_Component_List): Local variable Compl is now
+ a constant; a nested block is no longer needed.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aggr.adb
+ (Resolve_Record_Aggregate): Remove useless assignment.
+ * sem_aux.adb
+ (Has_Variant_Part): Remove useless guard; this routine is only called
+ on type entities (and now will crash in other cases).
+ * sem_ch3.adb
+ (Create_Constrained_Components): Only assign Assoc_List when necessary;
+ tune whitespace.
+ (Is_Variant_Record): Refactor repeated calls to Parent.
+ * sem_util.adb
+ (Gather_Components): Assert that discriminant association has just one
+ choice in component_association; refactor repeated calls to Next.
+ * sem_util.ads
+ (Gather_Components): Tune whitespace in comment.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch3.adb (Check_CPP_Type_Has_No_Defaults): Iterate with
+ First_Non_Pragma and Next_Non_Pragma.
+ * exp_dist.adb (Append_Record_Traversal): Likewise.
+
+2023-05-26 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Build_Class_Wide_Master): Remember internal blocks
+ that have a task master entity declaration.
+ (Build_Master_Entity): Code cleanup.
+ * sem_util.ads (Is_Internal_Block): New subprogram.
+ * sem_util.adb (Is_Internal_Block): New subprogram.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_util.adb (Gather_Components): Remove guard for empty list of
+ components.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * back_end.adb (Call_Back_End): Add gigi_standard_address to the
+ signature of the gigi procedure and alphabetize other parameters.
+ Pass Standard_Address as actual parameter for it.
+ * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address
+ on Standard_Address.
+ * gcc-interface/gigi.h (gigi): Add a standard_address parameter and
+ alphabetize others.
+ * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address
+ type and save it as the type for Standard.Address.
+
+2023-05-26 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * exp_disp.adb (Expand_Dispatching_Call): Handle new Controlling_Tag.
+ * sem_scil.adb (Check_SCIL_Node): Treat N_Object_Renaming_Declaration as
+ N_Object_Declaration.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb
+ (Build_Constrained_Type): Remove local constants that were shadowing
+ equivalent global constants; replace a wrapper that calls
+ Make_Integer_Literal with a numeric literal; remove explicit
+ Aliased_Present parameter which is equivalent to the default value.
+ (Check_Bounds): Remove unused initial value.
+ (Expand_Array_Aggregate): Use aggregate type from the context.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Delay_Cleanups): Document new usage.
+ * exp_ch7.ads (Build_Finalizer): New declaration.
+ * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not treat
+ library-level package instantiations specially.
+ (Build_Finalizer): Return early for package bodies and specs that
+ are not compilation units instead of using a more convoluted test.
+ (Expand_N_Package_Body): Do not build a finalizer if Delay_Cleanups
+ is set on the defining entity.
+ (Expand_N_Package_Declaration): Likewise.
+ * inline.ads (Pending_Body_Info): Reorder and add Fin_Scop.
+ (Add_Pending_Instantiation): Add Fin_Scop parameter.
+ * inline.adb (Add_Pending_Instantiation): Likewise and copy it into
+ the Pending_Body_Info appended to Pending_Instantiations.
+ (Add_Scope_To_Clean): Change parameter name to Scop and remove now
+ irrelevant processing.
+ (Cleanup_Scopes): Deal with scopes that are package specs or bodies.
+ (Instantiate_Body): For package instantiations, deal specially with
+ scopes that are package bodies and with scopes that are dynamic.
+ Pass the resulting scope to Add_Scope_To_Clean directly.
+ * sem_ch12.adb (Analyze_Package_Instantiation): In the case where a
+ body is needed, compute the enclosing finalization scope and pass it
+ in the call to Add_Pending_Instantiation.
+ (Inline_Instance_Body): Adjust aggregate passed in the calls to
+ Instantiate_Package_Body.
+ (Load_Parent_Of_Generic): Likewise.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Compile_Time_Constraint_Error): Test the Ekind.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb (Build_Constrained_Type): Use List_Length to count
+ expressions in consecutive subaggregates.
+
+2023-05-26 Doug Rupp <rupp@adacore.com>
+
+ * libgnarl/s-osinte__qnx.ads (sigset_t): Modify
+ declaration to use system.os_constants computed
+ value. Align it.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_sel.adb: Add clauses for Sem_Util, remove them for Opt, Sinfo
+ and Sinfo.Nodes.
+ (Build_K): Always use 'Tag of the object.
+ (Build_S_Assignment): Likewise.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * accessibility.adb
+ (Is_Formal_Of_Current_Function): This routine expects an entity
+ reference and not the entity itself, so its parameter is a Node_Id
+ and not an Entity_Id.
+
+2023-05-26 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_aggr.adb
+ (Build_Array_Aggr_Code): Change variable to constant.
+ (Check_Same_Aggr_Bounds): Fix style; remove unused initial value.
+
+2023-05-26 Ronan Desplanques <desplanques@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Create extra formals
+ in more situations.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.adb (Selected_Range_Checks): Add guards to protect calls
+ to Expr_Value on bounds.
+
+2023-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_eval.ads (Is_Null_Range): Remove requirements of compile-time
+ known bounds and add WARNING line.
+ (Not_Null_Range): Remove requirements of compile-time known bounds.
+ * sem_eval.adb (Is_Null_Range): Fall back to Compile_Time_Compare.
+ (Not_Null_Range): Likewise.
+ * fe.h (Is_Null_Range): New predicate.
+
2023-05-25 Javier Miranda <miranda@adacore.com>
* sem_aggr.adb