+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.
+
+2017-01-20 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Access_Type_Declaration): Protect access to the
+ Entity attribute.
+ * sem_ch10.adb (Install_Siblings): Skip processing malformed trees.
+ * sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing
+ malformed trees.
+
+2017-01-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specification, case
+ Dynamic_Predicate): If the entity E is a subtype that inherits
+ a static predicate for its parent P,, the inherited and the
+ new predicate combine in the generated predicate function,
+ and E only has a dynamic predicate.
+
+2017-01-20 Tristan Gingold <gingold@adacore.com>
+
+ * s-boustr.ads, s-boustr.adb: New package.
+ * Makefile.rtl: Add s-boustr.
+
+2017-01-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * inline.adb (Process_Formals): Qualify the
+ expression of a return statement when it yields a universal type.
+
+2017-01-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * freeze.adb (Freeze_All): Freeze the default
+ expressions of all eligible formal parameters that appear in
+ entries, entry families, and protected subprograms.
+
+2017-01-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check
+ for illegal inherited Implicit_Dereference aspects with renamed
+ discriminants.
+
+2017-01-20 Javier Miranda <miranda@adacore.com>
+
+ * debug.adb (switch d.6): do not avoid declaring unreferenced itypes.
+ * nlists.ads (Lock_Lists, Unlock_Lists): New subprograms.
+ * nlists.adb (Lock_Lists, Unlock_Lists): New subprograms.
+ (Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent,
+ Set_Prev, Tree_Read): Adding assertion.
+ * atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms.
+ * atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms.
+ (Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source,
+ Set_Ekind, Set_Error_Posted, Set_Has_Aspects,
+ Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count,
+ Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN,
+ Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN,
+ Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent,
+ Set_ListN_With_Parent): Adding assertion.
+
+2017-01-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Process_Convention): Diagnose properly a pragma
+ import that applies to several homograph subprograms. when one
+ of them is declared by a subprogram body.
+
+2017-01-20 Justin Squirek <squirek@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Remove optimization
+ that nulls out calls to null procedures.
+
+2017-01-20 Yannick Moy <moy@adacore.com>
+
+ * inline.adb (Expand_Inlined_Call): Keep more
+ precise type of actual for inlining whenever possible. In
+ particular, do not switch to the formal type in GNATprove mode in
+ some case where the GNAT backend might require it for visibility.
+
+2017-01-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited
+ aspect Implicit_Dereference can be inherited by a full view if
+ the partial view has no discriminants, because there is no way
+ to apply the aspect to the partial view.
+ (Build_Derived_Record_Type): If derived type renames discriminants
+ of the parent, the new discriminant inherits the aspect from
+ the old one.
+ * sem_ch4.adb (Analyze_Call): Handle properly a parameterless
+ call through an access discriminant designating a subprogram.
+ * sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle
+ properly a parameterless call through an access discriminant on
+ the left-hand side of an assignment.
+ * sem_res.adb (resolve): If an interpreation involves a
+ discriminant with an implicit dereference and the expression is an
+ entity, resolution takes place later in the appropriate routine.
+ * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize
+ access discriminants that designate a subprogram type.
+
+2017-01-20 Pascal Obry <obry@adacore.com>
+
+ * a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016
+
+2017-01-20 Yannick Moy <moy@adacore.com>
+
+ * sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error
+ on implicitly with'ed units in GNATprove mode.
+ * sinfo.ads (Implicit_With): Document use of flag for implicitly
+ with'ed units in GNATprove mode.
+
+2017-01-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_cat.adb (Validate_Static_Object_Name): In a preelaborated
+ unit Do not report an error on a non-static entity that appears
+ in the context of a spec expression, such as an aspect expression.
+
+2017-01-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Flag298 now denotes Is_Underlying_Full_View.
+ (Is_Underlying_Full_View): New routine.
+ (Set_Is_Underlying_Full_View): New routine.
+ (Write_Entity_Flags): Add an entry for Is_Underlying_Full_View.
+ * einfo.ads Add new attribute Is_Underlying_Full_View.
+ (Is_Underlying_Full_View): New routine along with pragma Inline.
+ (Set_Is_Underlying_Full_View): New routine along with pragma Inline.
+ * exp_util.adb (Build_DIC_Procedure_Body): Do not consider
+ class-wide types and underlying full views. The first subtype
+ is used as the working type for all Itypes, not just array base types.
+ (Build_DIC_Procedure_Declaration): Do not consider
+ class-wide types and underlying full views. The first subtype
+ is used as the working type for all Itypes, not just array
+ base types.
+ * freeze.adb (Freeze_Entity): Inherit the freeze node of a full
+ view or an underlying full view without clobbering the attributes
+ of a previous freeze node.
+ (Inherit_Freeze_Node): New routine.
+ * sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying
+ full view as such.
+ (Build_Underlying_Full_View): Mark an underlying full view as such.
+ * sem_ch7.adb (Install_Private_Declarations): Mark an underlying
+ full view as such.
+
+2017-01-20 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads: Document lack of Do_Division_Check flag
+ on float exponentiation.
+
+2017-01-19 Javier Miranda <miranda@adacore.com>
+
+ * ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the
+ identifier attribute of a block-statement node. Required to avoid
+ assertion failure when building the new containers library.
+
+2017-01-19 Bob Duff <duff@adacore.com>
+
+ * exp_ch3.adb: Update comment.
+
+2017-01-19 Vincent Celier <celier@adacore.com>
+
+ * gprep.adb (Gnatprep): Parse the definition file without
+ "replace in comments" even when switch -C is used.
+
+2017-01-19 Justin Squirek <squirek@adacore.com>
+
+ * exp_ch9.adb (Is_Pure_Barrier): Create function
+ Is_Count_Attribute to identify an expansion of the 'Count
+ attribute.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
+ statements within an element iterator loop are only analyzed
+ agter the loop is rewritten. Within a generic the analysis must
+ be performed in any case to complete name capture.
+
+2017-01-19 Bob Duff <duff@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first,
+ before checking for unrecognized pragmas.
+ Initialize Pname on its declarations; that's always good style.
+
+2017-01-19 Claire Dross <dross@adacore.com>
+
+ * exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the
+ body into the tree for GNATprove by setting its Parent field. The
+ components invariants of composite types are not checked by
+ the composite type's invariant procedure in GNATprove mode.
+ (Build_Invariant_Procedure_Declaration): Semi-insert the
+ declaration into the tree for GNATprove by setting its Parent
+ field.
+ * freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add
+ the component invariants to the array type invariant procedure
+ so that the procedure can be used to check the array type
+ invariants if any.
+ (Freeze_Record_Type): In GNATprove mode, do
+ not add the component invariants to the record type invariant
+ procedure so that the procedure can be used to check the record
+ type invariants if any.
+
+2017-01-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * lib-xref-spark_specific.adb: Minor reformatting.
+ * exp_ch7.adb (Add_Parent_Invariants): Do not process array types.
+
+2017-01-19 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as
+ Build_Back_End_Aggregate.
+ (Generate_Aggregate_For_Derived_Type): Code cleanup.
+ (Prepend_Stored_Values): Code cleanup.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): Check for an
+ incomplete return type after attempting to freeze it, so that
+ other freeze actiona are generated in the proper order.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): If the type is a string
+ type, ie. a type whose component is a character type, and the
+ aggregate is positional, do not convert into a string literal
+ if the index type is not an integer type, because the original
+ type may be required in an enclosing operation.
+
+2017-01-19 Bob Duff <duff@adacore.com>
+
+ * binde.adb, debug.adb: Enable new elaboration order algorithm
+ by default. -dp switch reverts to the old algorithm.
+
+2017-01-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb Add with and use clauses for Exp_Ch7.
+ (Analyze_Declarations): Create the DIC and Invariant
+ procedure bodies s after all freezing has taken place.
+ (Build_Assertion_Bodies): New routine.
+ * sem_ch7.adb Remove the with and use clauses for Exp_Ch7
+ and Exp_Util.
+ (Analyze_Package_Specification): Remove the
+ generation of the DIC and Invariant procedure bodies. This is
+ now done by Analyze_Declarations.
+ * sem_disp.adb (Check_Dispatching_Operation): DIC and Invariant
+ procedures are never treated as primitives.
+
+2017-01-19 Yannick Moy <moy@adacore.com>
+
+ * frontend.adb: Analyze inlined bodies and check elaboration
+ rules in GNATprove mode too.
+ * sem_elab.adb (Delay_Element): Add Boolean component to save
+ indication that call is in SPARK code. (Check_Elab_Calls):
+ Check elaboration rules in GNATprove mode, and correctly set
+ the current value of SPARK_Mode.
+ * lib-xref-spark_specific.adb
+ (Add_SPARK_Xrefs): Simplify iteration over dereferences.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Do no enable overflow
+ checks on the expression for the high bound of concatenation
+ when checks are disabled, to suppress warnings about potential
+ constraint errors in restricted runtimes.
+
+2017-01-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the
+ representation-to-position function as inlined.
+ * sem_cat.adb (Set_Categorization_From_Scope): Do not modify
+ the purity of an internally generated entity if it has been
+ explicitly marked as pure for optimization purposes.
+ * exp_aggr.adb: Minor reformatting.
+
+2017-01-19 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Remove side effects on
+ actuals that are allocators with qualified expression since the
+ initialization of the object is performed by means of individual
+ statements (and hence it must be done before the call).
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Declarations): Minor reformatting.
+ (Build_Derived_Enumeration_Type): If the derived type inherits a
+ dynamic predicate from its parent, the bounds of the type must
+ freeze because an explicit constraint is constructed for the
+ type and the corresponding range is elaborated now.
+
+2017-01-19 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_attr.ads: minor fix of inconsistent casing in comment
+ * lib-writ.ads: minor align comments in columns
+ * sem_ch3.adb: Minor reformatting.
+ * spark_xrefs.ads: minor fix typo in SPARK-related comment
+ * table.ads: minor style fix in comment
+ * lib-xref-spark_specific.adb
+ (Add_SPARK_Xrefs): simplify processing of SPARK cross-references.
+ * sem_ch12.adb: minor whitespace fix
+ * freeze.adb: Add comment.
+ * sem_util.adb (Unique_Name): for instances of
+ generic subprograms ignore the name of the wrapper package.
+
+2017-01-19 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Resolve_Record_Aggregate):
+ Factorize code needed for aggregates of limited and unlimited
+ types in a new routine.
+ (Pass_Aggregate_To_Back_End): New subprogram.
+
+2017-01-19 Yannick Moy <moy@adacore.com>
+
+ * sinfo.adb (Pragma_Name): Only access up to Last_Pair of Pragma_Map.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.ads, sem_ch4.adb (Try_Object_Operation): Make subprogram
+ public, for use elsewhere.
+ * sem_ch6.adb (Analyze_Procedure_Call): In SPARK_Mode and within
+ an Inlined_body, recognize a call that uses object notation
+ and has not been rewritten as a regular call because regular
+ expansion has not taken place.
+
+2017-01-19 Bob Duff <duff@adacore.com>
+
+ * checks.adb (Apply_Type_Conversion_Checks): Disable small optimization
+ in case of generic formal discrete types, because it causes crashes in
+ the compiler when built with assertions on.
+
+2017-01-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads,
+ sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting.
+
+2017-01-19 Bob Duff <duff@adacore.com>
+
+ * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking):
+ Increment Warnings_Detected. It was decrementing, which is
+ wrong since we just issued a warning message.
+ * binderr.ads (Errors_Detected, Warnings_Detected): Declare
+ these variables to be of subtype Nat instead of Int, because
+ they should never be negative.
+
+2017-01-19 Javier Miranda <miranda@adacore.com>
+
+ * contracts.adb (Build_Postconditions_Procedure): Replace
+ Generate_C_Code by Modify_Tree_For_C.
+ * exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate):
+ Replace Generate_C_Code by Modify_Tree_For_C.
+ * exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by
+ Modify_Tree_For_C.
+ * exp_ch11.adb (Expand_N_Exception_Declaration): Replace
+ Generate_C_Code by Modify_Tree_For_C.
+ * exp_ch4.adb (Expand_Allocator_Expression): Replace
+ Generate_C_Code by Modify_Tree_For_C.
+ * exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code
+ by Modify_Tree_For_C.
+ * exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace
+ Generate_C_Code by Modify_Tree_For_C.
+ * sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code
+ by Modify_Tree_For_C.
+ * sinfo.ads (Modify_Tree_For_C): Adding documentation.
+
+2017-01-19 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Expression_Of_Expression_Function): New
+ subprogram.
+ (Is_Inlinable_Expression_Function): New subprogram.
+ * exp_ch6.ads, exp_ch6.adb (Expression_Of_Expression_Function): Moved
+ to Sem_Util.
+ (Is_Inlinable_Expression_Function): Moved to Sem_Util.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Diagnose_Call): Improve error message when a
+ selected component has a prefix that might be interpreted
+ as a parameterless function call, but none of the candidate
+ interpretations is parameterless, and there is a hidden homonym
+ of the prefix that is a package.
+ * sem_ch8.adb (Find_Selected_Component): If the prefix might be
+ interpreted as a parameterless function call and its analysis
+ fails, do not call Analyze_Selected_Component.
+
+2017-01-19 Steve Baird <baird@adacore.com>
+
+ * sem_util.ads: Add new Use_Full_View Boolean parameter to
+ Get_Index_Bounds.
+ * sem_util.adb (Get_Index_Bounds): replace calls to Scalar_Range with
+ calls to a newly-defined Scalar_Range_Of_Right_View function.
+
+2017-01-19 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb: minor fix of unbalanced parens in comment
+ * lib-xref.ads (Traverse_Compilation_Unit): declaration moved
+ to visible part of the package to allow re-use in GNATprove.
+ * lib-xref-spark_specific.adb (Traverse_Stub): routine refactored
+ from repeated code of Traverse_Compilation_Unit.
+ (Traverse_Declaration_Or_Statement): fixed detection of
+ generic subprograms and packages; also, iteration over case
+ statement alternatives rewritten to avoid testing if the first
+ alternative is present (since it must be present due to Ada
+ syntax restrictions).
+
+2017-01-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as
+ returning by reference not just for subprogram body stubs,
+ but for all subprogram cases.
+ * sem_util.adb: Code reformatting.
+ (Requires_Transient_Scope): Update the call to Results_Differ.
+ (Results_Differ): Update the parameter profile and the associated
+ comment on usage.
+
+2017-01-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_dim.adb (Analyze_Dimension): Analyze object declaration and
+ identifier nodes that do not come from source, to handle properly
+ dimensionality check within an inlined body which inclddes both
+ original operands and rewritten operands. This removes spurious
+ dimensionality errors in the presence of front-end inlining,
+ as well as in SPARK mode.
+
+2017-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/49726
+ * gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag.
+
+2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (SPARC/Solaris): Fix typo.
+
2017-01-13 Arnaud Charlet <charlet@adacore.com>
* doc/gnat_ugn/getting_started_with_gnat.rst,