exp_spark.adb (Expand_SPARK_Attribute_Reference): For attributes which return Univers...
[gcc.git] / gcc / ada / ChangeLog
index 07c08e95761099b462e721dc7c7034da9830fcc0..cc26c9f3793db8fa8fa982b6e60665f8902198e1 100644 (file)
@@ -1,3 +1,194 @@
+2017-01-23  Claire Dross  <dross@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Attribute_Reference): For attributes
+       which return Universal_Integer, force the overflow check flag for
+       Length and Range_Length for types as big as Long_Long_Integer.
+
+2017-01-23  Claire Dross  <dross@adacore.com>
+
+       * exp_spark.adb (Expand_SPARK_Attribute_Reference):  For
+       attributes which return Universal_Integer, introduce a conversion
+       to the expected type with the appropriate check flags set.
+       * sem_res.adb (Resolve_Range): The higher bound can be in Typ's
+       base type if the range is null. It may still be invalid if it
+       is higher than the lower bound. This is checked later in the
+       context in which the range appears.
+
+2017-01-23  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * scos.ads: Introduce a constant to represent ignored
+       dependencies in SCO_Unit_Table_Entry.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove extra
+       spaces from error messages.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Check_Large_Modular_Array): New procedure,
+       subsidiary to Expand_N_Object_ Declaration, to compute a guard on
+       an object declaration for an array type with a modular index type
+       with the size of Long_Long_Integer. Special processing is needed
+       in this case to compute reliably the size of the object, and
+       eventually  to raise Storage_Error, when wrap-around arithmetic
+       might compute a meangingless size for the object.
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+       * a-wtenau.adb, par-endh.adb, sem_prag.adb,
+       sem_type.adb: Code cleanups.
+
+2017-01-23  Bob Duff  <duff@adacore.com>
+
+       * sem_res.adb (Resolve_Call): In the part of the code where
+       it is deciding whether to turn the call into an indexed
+       component, avoid doing so if the call is to an instance of
+       Unchecked_Conversion. Otherwise, the compiler turns it into an
+       indexed component, and resolution of that turns it back into a
+       function call, and so on, resulting in infinite recursion.
+       * sem_util.adb (Needs_One_Actual): If the first formal has a
+       default, then return False.
+
+2017-01-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc)
+       optimizations when the type is modular and the offsets are equal.
+
+2017-01-20  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning
+       message.
+
+2017-01-20  Nicolas Roche  <roche@adacore.com>
+
+       * terminals.c: Ignore failures on setpgid and tcsetpgrp commands.
+
+2017-01-20  Bob Duff  <duff@adacore.com>
+
+       * sem_eval.adb (Compile_Time_Compare): Disable the expr+literal
+       (etc) optimizations when the type is modular.
+
+2017-01-20  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch6.adb (Move_Pragmas): move some pragmas,
+       but copy the SPARK_Mode pragma instead of moving it.
+       (Build_Subprogram_Declaration): Ensure that the generated spec
+       and original body share the same SPARK_Pragma aspect/pragma.
+       * sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New
+       procedure to copy SPARK_Mode aspect.
+
+2017-01-20  Bob Duff  <duff@adacore.com>
+
+       * sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects
+       even in ASIS mode.
+       * sem_ch13.adb (Resolve_Name): Enable setting the entity to
+       Empty even in ASIS mode.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb: minor style fixes in comments.
+       * sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay
+       relative statement introduces an implicit dependency on
+       Ada.Real_Time.Clock_Time.
+       * sem_util.adb: Minor reformatting.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment
+       must be treated as delayed aspect even if the expression is
+       a literal, because the aspect affects the freezing and the
+       elaboration of the object to which it applies.
+
+2017-01-20  Tristan Gingold  <gingold@adacore.com>
+
+       * s-osinte-vxworks.ads (Interrup_Range): New subtype.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * lib-xref.adb (Generate_Reference): Do not warn about the
+       presence of a pragma Unreferenced if the entity appears as the
+       actual in a procedure call that does not come from source.
+
+2017-01-20  Pascal Obry  <obry@adacore.com>
+
+       * expect.c, terminals.c: Fix some warnings about unused variables.
+       * gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part
+       of the runtime.
+
+2017-01-20  Bob Duff  <duff@adacore.com>
+
+       * exp_attr.adb (Constrained): Apply an access check (check that
+       the prefix is not null) when the prefix denotes an object of an
+       access type; that is, when there is an implicit dereference.
+
+2017-01-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * s-rident.ads (constant Profile_Info): Remove
+       No_Calendar from GNAT_Extended_Ravenscar restrictions.
+
+2017-01-20  Tristan Gingold  <gingold@adacore.com>
+
+       *  s-maccod.ads: Add pragma No_Elaboration_Code_All
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * ghost.adb (Mark_Ghost_Clause): New routine.
+       (Prune_Node): Do not prune compilation unit nodes.
+       (Remove_Ignored_Ghost_Code): Prune the compilation unit node directly.
+       This does not touch the node itself, but does prune all its fields.
+       * ghost.ads (Mark_Ghost_Clause): New routine.
+       * sem_ch8.adb (Analyze_Use_Package): Emit an error when a use
+       package clause mentions Ghost and non-Ghost packages. Mark a
+       use package clause as Ghost when it mentions a Ghost package.
+       (Analyze_Use_Type): Emit an error when a use type clause mentions
+       Ghost and non-Ghost types. Mark a use type clause as Ghost when
+       it mentions a Ghost type.
+       * sem_ch10.adb (Analyze_With_Clause): Mark a with clause as
+       Ghost when it withs a Ghost unit.
+
+2017-01-20  Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.adb (Resolve_Call): If a function call
+       returns a limited view of a type and at the point of the call the
+       function is not declared in the extended main unit then replace
+       it with the non-limited view, which must be available. If the
+       called function is in the extended main unit then no action is
+       needed since the back-end handles this case.
+
+2017-01-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into...
+       (Contains_Subprograms_Refs): ...this.  Adjust comment
+       for constants.  (Is_Subp_Or_Const_Ref): Rename into...
+       (Is_Subprogram_Ref): ...this.
+       (Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into
+       Has_Non_Subprograms_Referencer and adjust comment.  Remove
+       incorrect shortcut for package declarations and bodies.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Complete_Private_Subtype): If the scope of the
+       base type differs from that of the completion and the private
+       subtype is an itype (created for a constraint on an access
+       type e.g.), set Delayed_Freeze on both to prevent out-of-scope
+       anomalies in gigi.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+       When inheriting the SPARK_Mode of a prior expression function,
+       look at the properly resolved entity rather than the initial
+       candidate which may denote a homonym.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Rewrite_Assertion_Kind): If the name is
+       Precondition or Postcondition, and the context is pragma
+       Check_Policy, indicate that this Pre-Ada2012 usage is deprecated
+       and suggest the standard names Assertion_Policy /Pre /Post
+       instead.
+
 2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
 
        * sem_ch10.adb, sem_cat.adb: Minor reformatting.
        Is_Count_Attribute to identify an expansion of the 'Count
        attribute.
 
-2017-01-19  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
-       Emit GNAT encodings for object renamings involving record components
-       whose normalized bit offset is not null.
-       * uintp.h (UI_No_Uint): Declare.
-
 2017-01-19  Ed Schonberg  <schonberg@adacore.com>
 
        * sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
        * lib-xref-spark_specific.adb: Minor reformatting.
        * exp_ch7.adb (Add_Parent_Invariants): Do not process array types.
 
-2017-01-19  Tristan Gingold  <gingold@adacore.com>
-
-       * fe.h (Constant_Value): Export.
-
 2017-01-19  Javier Miranda  <miranda@adacore.com>
 
        * exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as