aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r--gcc/ada/ChangeLog293
1 files changed, 293 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index f45cc81..42a12ab 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,296 @@
+2022-01-06 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Resolve_Range): Warn on null range, unless we are
+ inside a generic unit or an instance thereof.
+ * sem_ch3.adb (Analyze_Subtype_Indication): Minor: avoid double
+ negative.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (Adjust_Name_Case): Remove unnecessary declare
+ block.
+
+2022-01-06 Yannick Moy <moy@adacore.com>
+
+ * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
+ instance.
+ * libgnat/a-ngrear.adb: Likewise.
+ * libgnat/s-gearop.adb: Prove implementation is free of runtime
+ errors.
+ * libgnat/s-gearop.ads: Add contracts to protect against runtime
+ errors in the generic part.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (Remove_Warning_Messages): Use traversal procedure
+ instead of traversal function, since we discard status of each
+ step anyway.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): There is no reason for using
+ declaring, raising and catching an exception; a simple return
+ statement is enough.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_eval.adb (Eval_Arithmetic_Op): Add Loc parameter to all
+ calls to Apply_Compile_Time_Constraint_Error related to division
+ by zero.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (Remove_Warning_Messages): Remove unnecessary guard.
+ * exp_util.adb (Kill_Dead_Code): Likewise.
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Likewise.
+ * sem_ch3.adb (Build_Derived_Record_Type): Likewise.
+ * sem_ch4.adb (Traverse_Interfaces): Likewise.
+ * sem_eval.adb (Traverse_Interfaces): Likewise.
+ * sem_util.adb (Collect_Interfaces): Likewise.
+ (Has_Non_Null_Statements, Side_Effect_Free_Statements):
+ Likewise; turn into WHILE loops, for consistency.
+
+2022-01-06 Etienne Servais <servais@adacore.com>
+
+ * sem_type.adb (Full_View_Covers): Fix typo.
+
+2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Insert_Freeze_Node_For_Instance): When going to
+ the outer level, do not jump over following instantiations in
+ the list.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * err_vars.ads (Warn_On_Instance): Remove; it was a relic from
+ the previous handling of warning in instances that was removed
+ decades ago.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * errout.adb (Error_Msg_Internal): Reorder words.
+ * erroutc.ads (Is_Warning_Msg): Add closing paren.
+ * sem_util.adb (Compile_Time_Constraint_Error): Fix casing.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_String_Literal): Simplify pointer
+ arithmetic.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_res.adb (Resolve_String_Literal): Avoid unnecessary
+ conversions inside "<" and ">" bodies.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks,
+ Selected_Range_Checks): Fix style.
+
+2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch8.adb (Analyze_Package_Renaming): Do not check for Text_IO
+ special units when the name of the renaming is a generic instance,
+ which is the case for package instantiations in the GNAT model.
+
+2022-01-06 Steve Baird <baird@adacore.com>
+
+ * sem_util.adb (Build_Discriminant_Reference): In the unexpected
+ case where we previously would fail an assertion, we instead
+ revert to the old behavior.
+
+2022-01-06 Steve Baird <baird@adacore.com>
+
+ * sem_util.adb (Build_Actual_Subtype_Of_Component): Define a new
+ local function, Build_Discriminant_Reference, and call it in
+ each of the three cases where Make_Selected_Component was
+ previously being called to construct a discriminant reference (2
+ in Build_Actual_Array_Constraint and 1 in
+ Build_Actual_Record_Constraint). Instead of unconditionally
+ using the passed-in object name as the prefix for the new
+ selected component node, this new function checks to see if
+ perhaps a prefix of that name should be used instead.
+
+2022-01-06 Etienne Servais <servais@adacore.com>
+
+ * atree.adb: Fix typo.
+ * einfo.ads: Likewise.
+ * exp_aggr.adb: Likewise.
+ * exp_ch6.adb: Likewise.
+ * exp_ch7.adb: Likewise.
+ * exp_ch9.adb: Likewise.
+ * exp_prag.adb: Likewise.
+ * exp_unst.adb: Likewise.
+ * exp_unst.ads: Likewise.
+ * exp_util.adb: Likewise.
+ * par-endh.adb: Likewise.
+ * par.adb: Likewise.
+ * restrict.adb: Likewise.
+ * sem.ads: Likewise.
+ * sem_ch4.adb: Likewise.
+ * sem_ch5.adb: Likewise.
+ * sem_ch6.adb: Likewise.
+ * sem_ch8.adb: Likewise.
+ * sem_ch12.adb: Likewise.
+ * sem_ch13.adb: Likewise.
+ * sem_dim.adb: Likewise.
+ * sem_elab.adb: Likewise.
+ * sem_prag.adb: Likewise.
+ * sem_res.adb: Likewise.
+ * sem_util.adb: Likewise.
+ * sem_util.ads: Likewise.
+ * sinfo.ads: Likewise.
+ * sprint.adb: Likewise.
+ * urealp.adb: Likewise.
+
+2022-01-06 Justin Squirek <squirek@adacore.com>
+
+ * exp_ch3.adb (Build_Assignment): Replace current instance of
+ type with Init_Proc formal.
+ * sem_attr.adb (OK_Self_Reference): Handle recognition of
+ Current_Instance to detect certain expansion.
+ * sem_ch4.adb (Analyze_One_Call): Set actual's type when the
+ actual in question is a current instance and its corresponding
+ formal is an incomplete type.
+ * sem_util.adb (Is_Current_Instance): Add check for incomplete
+ views and add comment.
+
+2022-01-06 Bob Duff <duff@adacore.com>
+
+ * libgnat/s-rident.ads (No_Tagged_Type_Registration): New
+ restriction identifier.
+ * restrict.ads (Implementation_Restriction): Add restriction.
+ * exp_ch7.adb (Process_Declarations): Suppress
+ tagged-type-related finalization actions if the restriction is
+ active. Call RTE_Available last.
+ * exp_disp.adb (Make_DT): Likewise.
+ * exp_util.adb (Requires_Cleanup_Actions): Return False for a
+ tagged type declaration if No_Tagged_Type_Registration is
+ active.
+ * sem_attr.adb (Check_Stream_Attribute): Check restriction
+ No_Tagged_Type_Registration.
+ * libgnat/a-except.ads (Null_Occurrence): Minor: Initialize, to
+ avoid stopping at a warning in gdb.
+ * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+ Document new restriction.
+ * gnat_rm.texi: Regenerate.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * par-ch4.adb (P_Simple_Expression): Reuse Null_String_Id.
+ * prep.adb (Parse_Def_File): Likewise; remove Empty_String.
+
+2022-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stand.ads (Any_Access): Delete.
+ (Universal_Access): New entity.
+ * einfo.ads: Remove obsolete reference to Any_Access.
+ * gen_il-gen-gen_entities.adb: Likewise.
+ * cstand.adb (Create_Standard): Do not create Any_Access and create
+ Universal_Access as a full type instead.
+ * errout.adb (Set_Msg_Insertion_Type_Reference): Do not deal with
+ Any_Access and deal with Universal_Access instead.
+ * sem_ch3.adb (Analyze_Object_Declaration): Replace Any_Access with
+ Universal_Access.
+ * sem_ch4.adb (Analyze_Null): Likewise.
+ (Find_Non_Universal_Interpretations): Likewise.
+ (Find_Equality_Types.Try_One_Interp): Likewise and avoid shadowing
+ by renaming a local variable of the same name.
+ * sem_res.adb (Make_Call_Into_Operato): Likewise.
+ (Resolve_Equality_Op): Likewise.
+ * sem_type.adb (Covers): Likewise.
+ (Specific_Type): Likewise.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * treepr.adb (Destroy): Prevent spurious check from CodePeer.
+
+2022-01-06 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-exponu.adb (Exponu): Add annotation.
+
+2022-01-06 Justin Squirek <squirek@adacore.com>
+
+ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments
+ regarding special handling of components which depend on
+ discriminants.
+ * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual
+ for calls to Has_Stream_Attribute_Definition.
+ (Build_To_Any_Function): Likewise.
+ (Build_TypeCode_Function): Likewise.
+ * freeze.adb (Freeze_Entity): Add missing comment for Test_E.
+ * libgnat/s-utf_32.adb: Remove disabled warning comments and
+ temporarily inserted pragma warnings. Remove very old (2006 and
+ 2012) comments about bootstrapping older versions.
+ * par.adb (P_Identifier): Add new parameter Force_Msg.
+ * par-ch2.adb (P_Identifier): Restructure and clean up function.
+ * par-ch3.adb (P_Defining_Identifier): Remove code duplication
+ for parsing identifiers.
+ * sem_attr.adb (Stream_Attribute_Available): Add missing
+ comments and add Real_Rep actual for calls to
+ Has_Stream_Attribute_Definition.
+ * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual
+ for calls to Has_Stream_Attribute_Definition.
+ (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix
+ recursive calls. Add default value for Real_Rep.
+ * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out
+ parameter "Real_Rep".
+ * sem_type.adb (Add_Entry): Add condition to avoid passing
+ non-function calls to Function_Interp_Has_Abstract_Op.
+ (Function_Interp_Has_Abstract_Op): Add missing comments and
+ remove check for Is_Overloadable.
+ * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove
+ duplicated code.
+
+2022-01-06 Javier Miranda <miranda@adacore.com>
+
+ * contracts.adb (Restore_Original_Selected_Component): New
+ subprogram that traverses a preanalyzed expression searching for
+ dispatching calls to functions whose original node was a
+ selected component, and replacing them with their original node.
+ This functionality is required because the preanalyis of
+ dispatching calls using the Object.Operation notation transforms
+ such calls, and we need the original condition to properly
+ inherit and extend the condition expression on tagged type
+ derivations. This functionality was previously provided by the
+ routine Install_Original_Selected_Component (as part of
+ inheriting conditions); now it is performed as part of the
+ preanalysis of the condition, thus avoiding repeatedly
+ installing and restoring such nodes.
+ (Install_Original_Selected_Component): Removed.
+ (Restore_Dispatching_Calls): Removed.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * treepr.adb (Visit_Node): Simplify repeated call to
+ Next_Entity.
+
+2022-01-06 Piotr Trojanek <trojanek@adacore.com>
+
+ * treepr.ads (Treepr, Print_Tree_List, Print_Tree_Elist): Fix
+ style in comments.
+ * treepr.adb (Serial_Numbers): Hash table instance.
+ (Hash): Hashing routine.
+ (Print_Field): Fix style.
+ (Print_Init): Adapt to simple hash table.
+ (Print_Term): Likewise.
+ (Serial_Numbers): Likewise.
+ (Set_Serial_Number): Likewise.
+
+2022-01-06 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-expmod.adb: Mark in SPARK. Add ghost code for proof.
+ * libgnat/s-expmod.ads: Mark in SPARK. Add ghost specifications.
+
+2022-01-06 Yannick Moy <moy@adacore.com>
+
+ * libgnat/s-explllu.ads: Mark in SPARK.
+ * libgnat/s-expllu.ads: Mark in SPARK.
+ * libgnat/s-exponu.adb: Add loop invariants and needed
+ assertions.
+ * libgnat/s-exponu.ads: Add functional contract.
+ * libgnat/s-expuns.ads: Mark in SPARK.
+
2022-01-05 Steve Baird <baird@adacore.com>
* exp_ch5.adb (Finish_Binding_Object_Declaration): Fix a bug