summaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r--gcc/ada/ChangeLog2428
1 files changed, 2428 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6b0ba092134..cc462e9c4a7 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,2431 @@
+2013-10-19 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in: Use canonical absolute path to refer to
+ the top source directory and to the libgcc subidrectories.
+
+2013-10-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (scale_by_factor_of): New function.
+ (rest_of_record_type_compilation): Use scale_by_factor_of in order to
+ scale the original offset for both rounding cases; in the second case,
+ take into accout the addend to compute the alignment. Tidy up.
+
+2013-10-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/cuintp.c: Remove useless include directives.
+ (build_cst_from_int): Use standard predicate.
+ (UI_To_gnu): Simplify.
+ (UI_From_gnu): Fix formatting.
+ * gcc-interface/trans.c (post_error): Likewise.
+ (post_error_ne): Likewise.
+
+2013-10-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_set_type_context): New function.
+ (gnat_pushdecl): Use it to set the context of the type.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Dependency_Clause):
+ Recognize the scenario where successful clause matching has
+ depleted the available refinement items and the clause to match
+ technically refines to null => null.
+
+2013-10-17 Tristan Gingold <gingold@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
+ External_Name instead of Link_Name for the RTTI declaration.
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Record_Possible_Body_Reference): Fix test for
+ being in body.
+ (Add_Constituent): Merged into Check_Refined_Global_Item.
+ (Check_Matching_Constituent): A constituent that has the proper Part_Of
+ option and comes from a private child or a sibling is now collected.
+ (Check_Matching_Modes): Merged into Check_Refined_Global_Item.
+ (Check_Refined_Global_Item): Code cleanup.
+ (Collect_Constituent): New routine.
+ (Inconsistent_Mode_Error): Moved out from Check_Matching_Modes.
+
+2013-10-17 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Check_Current_Instance, Process): Add RM reference
+ and mention immutably limited types, when the current instance
+ is illegal in Ada 2012.
+
+2013-10-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Check_Unused_Withs): If the main unit is a
+ subunit, apply the check to the units mentioned in its context
+ only. This provides additional warnings on with_clauses that
+ are superfluous.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb (Analyze_Declarations): Emit an
+ error message concerning state refinement when the spec defines at
+ least one non-null abstract state and the body's SPARK mode is On.
+ (Requires_State_Refinement): New routine.
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch7.ads: Comment fixes.
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch7.adb (Analyze_Package_Specification): Remove circuit
+ for ensuring that a package spec requires a body for some other
+ reason than that it contains the declaration of an abstract state.
+
+2013-10-17 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Raise_Expression): Fix call of
+ Possible_Local_Raise.
+
+2013-10-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Unchecked
+ conversion of Or_Rhs to Etype of New_Rhs is required only when
+ the latter is the result of a byte swap operation.
+
+2013-10-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_To_Any_Function): For a type with opaque
+ representation that is not transmitted as an unconstrained value,
+ use 'Write, not 'Output, to generate the opaque representation.
+
+2013-10-17 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Short_Circuit): Only
+ generate expression-with-action when full expansion is set.
+
+2013-10-17 Yannick Moy <moy@adacore.com>
+
+ * debug.adb Remove obsolete comment.
+
+2013-10-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Process_Transient_Object.Find_Enclosing_Contexts):
+ Avoid late insertion when expanding an expression with action
+ nested within a transient block; Do not inconditionally generate
+ a finalization call if the generated object is from a specific
+ branch of a conditional expression.
+
+2013-10-17 Pascal Obry <obry@adacore.com>
+
+ * g-arrspl.adb: Ensure Finalize call is idempotent.
+ * g-arrspl.adb (Finalize): Makes the call idempotent.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Is_Matching_Input): Account
+ for the case where a state with a null refinement appears as
+ the last input of a refinement clause.
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_aux.ads, sem_aux.adb: Minor reformatting.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb, aspects.ads, sem_prag.ads: Remove all entries
+ for Refined_Pre from the various tables.
+ * par-prag.adb: Remove the entry for Refined_Pre from the list
+ of pragmas not needing special processing by the parser.
+ * sem_ch13.adb (Analyze_Aspect_Specifications):
+ Remove the processing for aspect Refined_Pre.
+ (Check_Aspect_At_Freeze_Point): Remove the entry for aspect
+ Refined_Pre.
+ * sem_prag.adb (Analyze_Pragma): Refined_Pre is no longer a
+ valid assertion kind. Remove the analysis of pragma Refined_Pre.
+ (Analyze_Refined_Pragma): Update the comment on usage.
+ (Find_Related_Subprogram_Or_Body): Update the comment on
+ usage. Pragma Refined_Pre is no longer processed by this routine.
+ (Is_Valid_Assertion_Kind): Refined_Pre is no longer a valid
+ assertion kind.
+ * snames.ads-tmpl: Remove predefined name Refined_Pre. Remove
+ the pragma id for Refined_Pre.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb, exp_util.ads (Entity_Of): Moved to Sem_Util.
+ * sem_prag.adb (Analyze_Global_In_Decl_List): Mark a null
+ item list as being analyzed.
+ (Analyze_Global_List): Mark a
+ null global list and multiple global items as being analyzed.
+ (Analyze_Input_Item): Check the unit that defines the input
+ variable or state, not the reference to it.
+ * sem_util.ads, sem_util.adb (Entity_Of): Moved from Exp_Util. Ensure
+ that the input has an entity.
+
+2013-10-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.adb (Get_Current_Value_Condition,
+ Set_Current_Value_Condition): Handle the case of expressions
+ with actions * exp_util.adb (Insert_Actions): Handle the case
+ of an expression with actions whose Actions list is empty.
+ * exp_util.adb (Remove_Side_Effects.Side_Effect_Free): An
+ expression with actions that has no Actions and whose Expression
+ is side effect free is itself side effect free.
+ * exp_util.adb (Remove_Side_Effects): Do not set an incorrect etype on
+ temporary 'R' (Def_Id), which is in general an access to Exp_Type, not
+ an Exp_Type.
+ * sem_res.adb (Resolve): For an expression with
+ actions, resolve the expression early. * sem_res.adb
+ (Resolve_Expression_With_Actions): Rewrite an expression with
+ actions whose value is compile time known and which has no
+ actions into just its expression, so that its constant value is
+ available downstream.
+ * sem_res.adb (Resolve_Short_Circuit):
+ Wrap the left operand in an expression with actions to contain
+ any required finalization actions.
+ * exp_ch4.adb (Expand_Expression_With_Actions): For an
+ expression with actions returning a Boolean expression, ensure
+ any finalization action is kept within the Actions list.
+ * sem_warn.adb (Check_References, Check_Unset_Reference): add
+ missing circuitry to handle expressions with actions.
+ * checks.adb (Ensure_Valid): For an expression with actions,
+ insert the validity check on the Expression.
+ * sem_ch13.adb (Build_Static_Predicate.Get_RList): An expression
+ with actions that has a non-empty Actions list is not static. An
+ expression with actions that has an empty Actions list has the
+ static ranges of its Expression.
+ * sem_util.adb (Has_No_Obvious_Side_Effects): An expression with
+ actions with an empty Actions list has no obvious side effects
+ if its Expression itsekf has no obvious side effects.
+
+2013-10-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.ads, sem_aux.adb (Is_Immutably_Limited_Type): Make
+ predicate compatible with Ada 2012 definition
+ (Is_Limited_View): New name for previous version of
+ Is_Immutably_Limited_Type. Predicate is true for an untagged
+ record type with a limited component.
+ * exp_ch7.adb, exp_ch6.adb, exp_ch4.adb, exp_ch3.adb, exp_aggr.adb,
+ sem_util.adb, sem_res.adb, sem_prag.adb, sem_attr.adb, sem_ch8.adb,
+ sem_ch6.adb, sem_ch3.adb, exp_util.adb: Use Is_Limited_View
+ * freeze.adb Use Is_Immutably_Limited_Type to check the legality
+ of references to the current instance, Is_Limited_View otherwise.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect
+ Refined_Pre as not supported.
+ * sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre.
+
+2013-10-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validated_Access_Subprogram_Instance): According
+ to AI05-288, actuals for access_to_subprograms must be subtype
+ conformant with the generic formal. Previous to AI05-288
+ only mode conformance was required, but the AI is a binding
+ interpretation that applies to previous versions of the language,
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Minor text correction.
+ * ug_words: Add entry for -gnateu /IGNORE_UNRECOGNIZED.
+ * vms_data.ads: Add /IGNORE_UNRECOGNIZED for -gnateu.
+
+2013-10-17 Tristan Gingold <gingold@adacore.com>
+
+ * impunit.adb (Non_Imp_File_Names_95): Add g-cppexc.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Constituent): Move the check
+ concerning option Part_Of to routine Check_Matching_Constituent.
+ (Check_Matching_Constituent): Verify that an abstract state
+ that acts as a constituent has the proper Part_Of option in
+ its aspect/pragma Abstract_State. Account for the case when a
+ constituent comes from a private child or private sibling.
+ * sem_util.ads, sem_util.adb (Is_Child_Or_Sibling): New routine.
+
+2013-10-17 Tristan Gingold <gingold@adacore.com>
+
+ * g-cppexc.adb, g-cppexc.ads: New files.
+ * gcc-interface/Makefile.in: Add g-cppexc when building zcx runtimes.
+
+2013-10-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb: Minor reformatting.
+
+2013-10-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_dim.adb (Process_Minus, Process_Divide): Label dimension
+ expression with standard operator and type, for pretty-printing
+ use.
+
+2013-10-17 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Document --pp-new and --pp-old switches.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Flag 159 is now known as From_Limited_With. Replace
+ all references to attribute From_With_Type with From_Limited_With.
+ (From_With_Type): Renamed to From_Limited_With.
+ (Set_From_With_Type): Renamd to Set_From_Limited_With.
+ * einfo.ads: Remove attribute From_With_Type and occurrences in
+ nodes. Add attribute From_Limited_With along with occurrences
+ in nodes.
+ (From_With_Type): Renamed to From_Limited_With along with pragma Inline.
+ (Set_From_With_Type): Renamed to
+ Set_From_Limited_With along with pragma Inline.
+ * sem_ch7.adb, sem_ch8.adb, sem_ch12.adb, sem_ch13.adb, sem_disp.adb,
+ sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb,
+ exp_attr.adb, exp_disp.adb, freeze.adb, itypes.adb, layout.adb,
+ lib-writ.adb, rtsfind.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
+ sem_ch4.adb: Replace all references to attribute From_With_Type
+ with From_Limited_With.
+ * sem_ch6.adb: Replace all references to attribute From_With_Type
+ with From_Limited_With.
+ (Designates_From_With_Type): Renamed to Designates_From_Limited_With.
+ (Process_Formals): Update the call to Designates_From_With_Type.
+ * sem_ch10.adb: Replace all references to attribute From_With_Type
+ with From_Limited_With.
+ (Build_Limited_Views): Reimplemented.
+ * gcc-interface/decl.c Replace all references to attribute
+ From_With_Type with From_Limited_With.
+ (finalize_from_with_types): Renamed to finalize_from_limited_with.
+ * gcc-interface/gigi.h (finalize_from_with_types): Renamed to
+ finalize_from_limited_with.
+ * gcc-interface/trans.c: Replace all references to attribute
+ From_With_Type with From_Limited_With.
+ (Compilation_Unit_to_gnu): Update the call to finalize_from_with_types.
+
+2013-10-17 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Update VCS_Kind documentation.
+
+2013-10-17 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb, a-cobove.adb (Insert, Insert_Space):
+ Inspect value range before converting type.
+
+2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Flag the use of pragma Refined_Pre as
+ illegal.
+
+2013-10-17 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Remove VMS conversion of -gnatet and -gnateT,
+ now that they are both in ug_words.
+ * ug_words: Update qualifier for -gnatet Add qualifier for -gnateT
+ * vms_data.ads: Update qualifier for -gnatet Add qualifier
+ for -gnateT
+ * projects.texi: Continue to update the project documentation
+ for VMS.
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Has_Body_References): New flag.
+ (Body_References): New field.
+ * sem_prag.adb (Record_Possible_Body_Reference): New procedure
+ (Analyze_Input_Output): Call Record_Possible_Body_Reference
+ (Analyze_Global_Item): Call Record_Possible_Body_Reference
+ (Analyze_Refinement_Clause): Output messages if illegal global refs.
+
+2013-10-17 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Check_Component_Storage_Order): Reject a record or
+ array type that does not have an explicit Scalar_Storage_Order
+ attribute definition if a component of the record, or the
+ elements of the array, have one.
+ * gnat_rm.texi (attribute Scalar_Storage_Order): Document the above
+ rule.
+
+2013-10-17 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Add examples of switches -gnateD, including
+ one where the value is a string.
+ * projects.texi: Do not convert switches in project files to
+ VMS qualifiers.
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Report_Extra_Clauses): Don't complain about
+ refinements with null input since null should be considered to
+ always match.
+
+2013-10-17 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document -gnatw.y/-gnatw.Y.
+ * opt.ads (List_Body_Required_Info): New flag.
+ * prep.adb: Minor reformatting.
+ * sem_ch7.adb (Unit_Requires_Body_Info): New
+ procedure (Analyze_Package_Specification): Add call to
+ Unit_Requires_Body_Info.
+ * ug_words: Add entries for -gnatw.y and -gnatw.Y.
+ * usage.adb: Add line for new warning switch -gnatw.y/.Y.
+ * vms_data.ads: Add entry for [NO_]WHY_SPEC_NEEDS_BODY warning
+ qualifier.
+ * warnsw.ads, warnsw.adb: Implement new warning switch -gnatw.y/.Y.
+
+2013-10-17 Yannick Moy <moy@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name): Keep track of assignments for
+ renamings in SPARK mode.
+
+2013-10-17 Yannick Moy <moy@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK): Remove special case for NOT IN
+ operation.
+ * sinfo.ads: Add special comment section to describe SPARK mode
+ effect on tree.
+ * exp_spark.ads: Remove comments, moved to sinfo.ads.
+
+2013-10-17 Yannick Moy <moy@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeze_Class_Wide_Type,
+ Expand_Freeze_Class_Wide_Type, Expand_Freeze_Class_Wide_Type):
+ Remove useless special cases.
+ * exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Allocator,
+ Expand_N_Op_Expon): Remove useless special cases.
+ * exp_ch6.adb (Is_Build_In_Place_Function_Call): Disable build-in-place
+ in SPARK mode by testing Full_Expander_Active instead of
+ Expander_Active.
+ (Make_Build_In_Place_Call_In_Allocator): Remove useless special case.
+ * exp_util.adb (Build_Allocate_Deallocate_Proc): Remove
+ useless special case.
+ * sem_eval.adb (Compile_Time_Known_Value): Remove special handling of
+ deferred constant.
+
+2013-10-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Document -gnateT and target file format.
+
+2013-10-17 Vincent Celier <celier@adacore.com>
+
+ * prep.adb (Check_Command_Line_Symbol_Definition): Is_A_String is
+ always False, even when the value starts and ends with double quotes.
+
+2013-10-17 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb: Synchronize declarations of other/all others.
+
+2013-10-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb: Add missing guard protecting Reverse_Storage_Order
+ call.
+ * sem_res.adb: Minor code cleanup: use named parameter association
+ (not positional) for Boolean parameter Sec_Stack in calls to
+ Establish_Transient_Scope.
+
+2013-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb (Expand_Packed_Element_Set,
+ Expand_Packed_Element_Reference): Adjust for the case of packed
+ arrays of reverse-storage-order types.
+
+2013-10-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2013-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute_Specification, case
+ To_Address): If the expression is an identifier, do not modify
+ its type; it will be converted when necessary, and the type of
+ the expression must remain consistent with that of the entity
+ for back-end consistency.
+
+2013-10-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch7.adb (Unit_Requires_Body): Add flag
+ Ignore_Abstract_State (Analyze_Package_Specification): Enforce
+ rule requiring Elaborate_Body if a non-null abstract state is
+ specified for a library-level package.
+ * sem_ch7.ads (Unit_Requires_Body): Add flag Ignore_Abstract_State.
+
+2013-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Constituent): When
+ a state acts as a constituent of another state, ensure that
+ the said state has a Part_Of dependency in its corresponding
+ aspect/pragma Abstract_State.
+
+2013-10-15 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_If_expression): Handle redundant ELSE cleanly.
+
+2013-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * atree.ads (New_Copy, Relocate_Node): Improve documentation
+ (note that these subprograms reset Is_Overloaded).
+
+2013-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Check_Needed): Handle the case where the test in
+ the left operand of the short circuit is wrapped in a qualified
+ expression, type conversion, or expression with actions.
+
+2013-10-15 Thomas Quinot <quinot@adacore.com>
+
+ * sem_type.adb, sem_type.ads (Save_Interps): Also propagate
+ Is_Overloaded to New_N, for consistency.
+
+2013-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * a-tienau.adb (Put): Use file parameter to query values of
+ current column and line length.
+
+2013-10-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, exp_ch11.adb, a-except-2005.adb, a-except-2005.ads:
+ Minor reformatting.
+
+2013-10-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * targparm.ads: Fix minor typo in comment.
+
+2013-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb: handle full views that are derived from private
+ types.
+ * sem_util.adb (Build_Elaboration_Entity): Do nothing in ASIS
+ mode: the elaboration entity is not in the source, and plays no
+ role in semantic analysis. Minor reformatting.
+
+2013-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c (__gnat_get_executable_load_address): Remove AIX
+ specific code.
+
+2013-10-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): Refine criteria to better handle
+ large static aggregates with static record components, to avoid
+ generating a large number of asignments. Conversely, improve
+ handling of aggregates initialized by a single association,
+ which are most efficiently implemented with a loop.
+
+2013-10-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Input_Item): Emit an
+ error when the input item comes from the related package.
+
+2013-10-15 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch11.adb (Expand_Exception_Handlers): Restrict previous
+ change.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/gigi.h (standard_datatypes): Add
+ ADT_set_exception_parameter_decl
+ (set_exception_parameter_decl): New macro.
+ * gcc-interface/trans.c (gigi): Initialize set_exception_parameter_decl.
+ (Exception_Handler_to_gnu_zcx): Initialize the choice parameter.
+ * gcc-interface/trans.c: Synchronize declarations of other/all others
+ between gigi and the runtime.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Find_Stream_Subprogram): Optimize
+ Storage_Array stream handling.
+ (Find_Stream_Subprogram): Optimize Stream_Element_Array stream handling
+ * rtsfind.ads: Add entry for Stream_Element_Array Add
+ entries for RE_Storage_Array subprograms Add entries for
+ RE_Stream_Element_Array subprograms
+ * s-ststop.ads, s-ststop.adb: Add processing for System.Storage_Array.
+ Add processing for Ada.Stream_Element_Array.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * a-except-2005.ads, a-except-2005.adb:
+ (Get_Exception_Machine_Occurrence): New function.
+ * raise-gcc.c (__gnat_unwind_exception_size): New constant.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor fix to error message text.
+ * errout.ads, erroutc.ads: Minor reformatting.
+ * s-ststop.ads, s-stratt.ads: Clean up documentation of block IO
+ mode for streams.
+ * s-stratt-xdr.adb: Minor comment update.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_aux.adb, sem_aux.ads, sem_prag.adb: Minor reformatting.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Add error message for a
+ subprogram with an in-out parameter when used in a predicate,
+ to clarify subsequent error at the point of call.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Is_Matching_Input): Consume a matching null input.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record): Don't give warning about packed
+ and foreign convention.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb, sem_aux.ads (Package_Specification): New function, to
+ replace the less efficient idiom Specification.
+ (Unit_Declaration_Node (Pack_Id)), which handles library units and
+ child units.
+ * sem_ch3.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_ch6.adb,
+ exp_disp.adb, sem_cat.adb, exp_dist.adb: Use Package_Specification.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_Update_Attribute): Update the call to
+ Process_Range_Update.
+ (Process_Range_Update): Add new formal parameter Typ and associated
+ comment on usage. Add local constant Index_Typ. Add a type conversion
+ as part of the indexed component to ensure that the loop variable
+ corresponds to the index type.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb: Adjust comment.
+ (Others_Value, All_Others_Value,
+ Unhandled_Others_Value): Declare as Character to slightly reduce
+ memory footprint.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Size_Known): Size is not known for packed record
+ with aliased components
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor fix to error message.
+ * a-exexpr-gcc.adb, sem_util.adb, sem_case.adb, exp_ch11.adb: Minor
+ reformatting.
+
+2013-10-14 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch11.adb: Fix typo.
+
+2013-10-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.ads: Minor reformatting.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Reject full views
+ with no explicit discriminant constraints, when the parents of
+ the partial view and the full view are constrained subtypes with
+ different constraints.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Array_Type): New procedure, abstracts out
+ this code from Freeze.
+ (Freeze_Array_Type): Detect pragma Pack overriding foreign convention
+ (Freeze_Record_Type): Ditto.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Dependency_Clause): Add new local variable
+ Non_Null_Output_Seen. Update the call to Analyze_Input_Output.
+ (Analyze_Input_Item): Streamline the detection mechanism of null and
+ non-null items.
+ (Analyze_Input_List): Add new local variable
+ Non_Null_Input_Seen. Update all calls to Analyze_Input_Output.
+ (Analyze_Input_Output): Add new formal parameter Non_Null_Seen
+ and update the related comment on usage. Update the
+ recursive call to itself. Attribute 'Result is now treated
+ as a non-null item. Detect mixes of null and non-null items.
+ (Analyze_Initialization_Item): Streamline the detection mechanism
+ of null and non-null items.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add documentation for the new project level
+ attribute Library_Rpath_Options.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (Set_Exception_Parameter): New procedure.
+ (Set_Foreign_Occurrence): New procedure, extracted from
+ Setup_Current_Excep.
+ * exp_ch11.adb (Expand_Exception_Handlers): Do not expand choice
+ parameter in case of zcx.
+ * sem_ch11.adb (Analyze_Exception_Handlers): Need debug info
+ for the choice parameter.
+ * raise-gcc.c: Add comments.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add an entry in table Canonical_Aspect for
+ Initial_Condition.
+ * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
+ Aspect_Names and Aspect_Delay for Initial_Condition.
+ * einfo.adb (Get_Pragma): Include pragma Initial_Condition to
+ categorization pragmas.
+ * einfo.ads (Get_Pragma): Update comment on usage.
+ * exp_ch7.adb (Expand_N_Package_Body): Add a runtime check to
+ verify the assertion introduced by pragma Initial_Condition.
+ (Expand_N_Package_Declaration): Add a runtime check to
+ verify the assertion introduced by pragma Initial_Condition.
+ (Expand_Pragma_Initial_Condition): New routine.
+ * par-prag: Include pragma Initial_Condition to the list of
+ pragmas that do not require special processing by the parser.
+ * sem_ch3.adb (Analyze_Declarations): Analyze pragma
+ Initial_Condition at the end of the visible declarations.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
+ for aspect Initial_Condition.
+ (Check_Aspect_At_Freeze_Point):
+ Aspect Initial_Condition does not need inspection at freezing.
+ * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part):
+ New routine.
+ (Analyze_Pragma): Update all calls
+ to Check_Declaration_Order. Add processing for pragma
+ Initial_Condition. Initial_Condition is now a valid assertion
+ kind. Add an entry in table Sig_Flags for Initial_Condition.
+ (Check_Declaration_Order): Reimplemented to handle arbitrary
+ pragmas.
+ (Is_Valid_Assertion_Kind): Add an entry for
+ Initial_Condition.
+ * sem_pag.ads (Analyze_Initial_Condition_In_Decl_Part):
+ New routine.
+ * sem_util.adb (Add_Contract_Item): Pragma Initial_Condition
+ can now be associated with a package spec.
+ * sem_util.ads (Add_Contract_Item): Update comment on usage.
+ * sinfo.ads: Update the documentation of node N_Contract
+ * snames.ads-tmpl: Add new predefined name Initial_Condition. Add
+ new pragma id for Initial_Condition.
+
+2013-10-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb: Minor reformatting.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb: Minor reformatting.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Check_Against_Predicate): Handle properly an
+ others clause in various cases.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Matching_Constituent): Do
+ not inspect the hidden states if there are no hidden states. This
+ case arises when the constituents are states coming from a
+ private child.
+
+2013-10-14 Doug Rupp <rupp@adacore.com>
+
+ * init.c [ARMEL and VxWorks] (__gnat_map_signal): Re-arm guard
+ page by clearing VALID bit vice setting page protection.
+
+2013-10-14 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi, adaint.c: Fix typo.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Variable, In_Protected_Function): In the
+ body of a protected function, the protected object itself is a
+ constant (not just its components).
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * snames.ads-tmpl: Add new standard name Library_Rpath_Options.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * sem_prag.adb (Process_Import_Or_Interface): Allow importing
+ of exception using convention Cpp.
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Expand cpp
+ imported exceptions.
+ * raise-gcc.c (is_handled_by): Filter C++ exception occurrences.
+ * gnat_rm.texi: Document how to import C++ exceptions.
+
+2013-10-14 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_ch13.adb (Sem_Ch13.Analyze_Aspect_Specification): For
+ Priority and CPU aspects, when checking, issue a warning only
+ if it is obviously not a main program.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c: Fix condition for AIX. Minor reformatting.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_prag.adb, prj.ads: Minor reformatting.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Depends_In_Decl_Part):
+ Rename Outputs_Seen to All_Outputs_Seen and update all occurrences
+ of the variable.
+ (Analyze_Input_Output): Add an item to
+ All_Inputs_Seen when it is an input or a self-referential output.
+ (Check_Mode): Comment reformatting.
+ (Analyze_Abstract_State): Remove the restriction that an Export state
+ must also have mode Input_Only or Output_Only.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Flag 263 is now known as Has_Visible_Refinement.
+ (Has_Non_Null_Refinement): New routine.
+ (Has_Null_Refinement): The routine is now synthesized.
+ (Has_Visible_Refinement): New routine.
+ (Set_Has_Visible_Refinement): New routine.
+ (Write_Entity_Flags): Remove the output for
+ Has_Null_Refinement. Add output for Has_Visible_Refinement.
+ * einfo.ads: Update the occurrences of Has_Non_Null_Refinement,
+ Has_Null_Refinement and Has_Visible_Refinement in entities.
+ (Has_Non_Null_Refinement): New synthesized attribute.
+ (Has_Null_Refinement): This attribute is now synthesized.
+ (Has_Visible_Refinement): New routine with corresponding
+ pragma Inline.
+ (Set_Has_Visible_Refinement): New routine with corresponding pragma
+ Inline.
+ * sem_ch3.adb (Analyze_Declarations): Add new local
+ variable In_Package_Body. Remove state refinements from
+ visibility at the end of the package body declarations.
+ (Remove_Visible_Refinements): New routine.
+ * sem_prag.adb (Analyze_Constituent): Collect a null
+ constituent and mark the state as having visible refinement.
+ (Analyze_Global_Item): Use attribute Has_Visible_Refinement to
+ detect a state with visible refinement.
+ (Analyze_Input_Output): Use attribute Has_Visible_Refinement to detect
+ a state with visible refinement.
+ (Check_Dependency_Clause): Use attribute Has_Non_Null_Refinement rather
+ than checking the contents of list Refinement_Constituents.
+ (Check_In_Out_States): Use attribute Has_Non_Null_Refinement rather
+ than checking the contents of list Refinement_Constituents.
+ (Check_Input_States): Use attribute Has_Non_Null_Refinement rather
+ than checking the contents of list Refinement_Constituents.
+ (Check_Matching_Constituent): Mark a state as having visible refinement.
+ (Check_Output_States): Use attribute Has_Non_Null_Refinement rather than
+ checking the contents of list Refinement_Constituents.
+ (Check_Refined_Global_Item): Use attribute Has_Visible_Refinement
+ to detect a state with visible refinement.
+ (Is_Matching_Input): Use attribute Has_Non_Null_Refinement rather than
+ checking the contents of list Refinement_Constituents.
+ * sem_util.adb (Is_Refined_State): Use attribute
+ Has_Visible_Refinement to detect a state with visible refinement.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Mode): Do not emit an
+ error when inspecting a self referencial output item of an
+ unconstrained type.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Fix
+ target type for code of VMS imported exception.
+ * init.c: Replace Exception_Code by void *.
+ * s-vmexta.adb (Hash, Base_Code_In): Adjust code after changing
+ the type of Exception_Code.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * prj.ads: Minor comment updates.
+ * prj-attr.adb: New attribute Library_Rpath_Options.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Library_Level attribute now applies to an
+ entity name.
+ * sem_attr.adb (Analyze_Attribute, case Library_Level): Prefix
+ is now an entity name.
+
+2013-10-14 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specification): For
+ Priority and CPU aspects in subprograms, the expression in the
+ aspect is analyzed and exported.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * s-valuti.adb, prep.adb, scng.adb, errout.adb: Minor reformatting.
+
+2013-10-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * adaint.c: Further disable __gnat_get_executable_load_address
+ for Linux.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for comparing symbols to
+ integers in preprocessing expressions.
+
+2013-10-14 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_prag.adb (Analyze_Aspect_Specification): For
+ Priority and CPU aspects in subprograms, the expression in the
+ aspect is analyzed and exported.
+ (Analyze_Pragma): When having a Priority pragma in the
+ main subprogram, load a unit that will force the initialization
+ of the tasking run time, which is needed for setting the required
+ priority.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Interfaces): Put in Other_Interfaces all
+ non Ada interface files.
+ * prj.ads (Project_Data): New component Other_Interfaces.
+
+2013-10-14 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in: Target pairs clean ups.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * errout.adb (Write_Error_Summary): Do not output the number
+ of lines when Main_Source_File is unknown.
+ (Output_Messages): Do not write the header when Main_Source_File is
+ unknown.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * prep.adb (Expression): Accept terms of the form 'symbol <relop>
+ integer", where relop is =, <, <=, > or >=.
+ (Parse_Def_File): Accept literal integer values.
+ * gcc-interface/Make-lang.in: Add s-valint.o, s-valuns.o and
+ s-valuti.o to the compiler object files.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, exp_ch11.adb, s-exctab.adb: Minor reformatting.
+ * usage.adb: Add line for -gnateu switch.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * lib-writ.ads: Add comments to indicate that a path name in
+ D lines may be quoted if the path name includes directories
+ with spaces.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Document -gnatd.E.
+ * gnat1drv.adb (Adjust_Global_Switches): Set Error_To_Warning
+ if -gnatd.E set.
+ * opt.ads (Error_To_Warning): New switch.
+ * osint.adb: Minor reformatting.
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): Overlap is error
+ in some cases in Ada 2012 mode (unless Error_To_Warning) is set.
+ * sem_warn.ads (Warn_On_Overlapping_Actuals): Document error
+ in Ada 2012 mode.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * cstand.adb: Add a comment for Standard_Exception_Type.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Process_Transient_Object): If a transient scope
+ has already been created, use the corresponding Node_To_Be_Wrapped
+ as the insertion point for the controlled actions.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * cstand.adb (Create_Standard): Change Import_Code component
+ of Standard_Exception_Type to Foreign_Data. Its type is now
+ Standard_A_Char (access to character).
+ * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust
+ definition of Code to match the type of Foreign_Data.
+ * s-stalib.ads (Exception_Data): Replace Import_Code by Foreign_Data
+ Change the definition of standard predefined exceptions.
+ (Exception_Code): Remove.
+ * raise.h (Exception_Code): Remove (Exception_Data): Replace
+ Import_Code field by Foreign_Data.
+ * rtsfind.ads (RE_Exception_Code): Remove
+ (RE_Import_Address): Add.
+ * a-exexpr-gcc.adb (Import_Code_For): Replaced by Foreign_Data_For.
+ * exp_ch11.adb (Expand_N_Exception_Declaration): Associate null
+ to Foreign_Data component.
+ * raise-gcc.c (Import_Code_For): Replaced by Foreign_Data_For.
+ (is_handled_by): Add comments. Use replaced function. Change
+ condition so that an Ada occurrence is never handled by
+ Foreign_Exception.
+ * s-exctab.adb (Internal_Exception): Associate Null_Address to
+ Foreign_Data component.
+ * s-vmexta.adb, s-vmexta.ads (Exception_Code): Declare Replace
+ SSL.Exception_Code by Exception_Code.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document -gnateu switch.
+ * opt.ads (Ignore_Unrecognized_VWY_Switches): New switch.
+ * stylesw.adb: Ignore unrecognized switch if
+ Ignore_Unrecognized_VWY_Switches set.
+ * switch-c.adb: Implement -gnateu (sets
+ Ignore_Unrecognized_VWY_Switches).
+ * validsw.adb: Ignore unrecognized switch if
+ Ignore_Unrecognized_VWY_Switches set.
+ * warnsw.adb: Ignore unrecognized switch if
+ Ignore_Unrecognized_VWY_Switches set.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, sem_prag.adb, a-exexda.adb, s-vmexta.ads: Minor
+ reformatting.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * ali.adb (Get_File_Name): New Boolean parameter May_Be_Quoted,
+ defaulted to False. Calls Get_Name with May_Be_Quoted.
+ (Get_Name): New Boolean parameter May_Be_Quoted, defaulted to
+ False. If May_Be_Quoted is True and first non blank charater is
+ '"', unquote the name.
+ (Scan_ALI): For the file/path name on the D line, call Get_File_Name
+ with May_Be_Quoted = True, as it may have been quoted.
+ * lib-util.adb, lib-util.ads (Write_Info_Name_May_Be_Quoted): New
+ procedure to write file/path names that may contain spaces and if they
+ do are quoted.
+ * lib-writ.adb (Write_ALI): Use new procedure
+ Write_Info_Name_May_Be_Quoted to write file/path names on D lines.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Depends_In_Decl_Part,
+ Analyze_Global_In_Decl_Part,
+ Analyze_Pre_Post_Condition_In_Decl_Part): Install the subprogram
+ and its formals only when it is not already installed.
+ * sem_util.adb (Is_Refined_State): A state is refined when it
+ has a non-empty list of constituents.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c: Disable __gnat_get_executable_load_address for linux.
+ * exp_prag.adb: Add comment in Expand_Pragma_Import_Export_Exception.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * s-vmexta.ads: Add comments.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
+ for pragma Refined_State.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
+ for aspect Refined_Depends.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+ Use Find_Related_Subprogram_Or_Body to find the related
+ context. Use the current scope when determining whether to
+ ensure proper visibility.
+ (Analyze_Depends_In_Decl_Part):
+ Add local variable Spec_Id. Update the comment on usage of
+ Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
+ related context. Extract the corresponding spec of the body
+ (if any). Use the current scope when determining when to
+ ensure proper visibility.
+ (Analyze_Global_In_Decl_Part):
+ Add local variable Spec_Id. Update the comment on usage of
+ Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
+ related context. Extract the corresponding spec of the body
+ (if any). Use the current scope when determining when to
+ ensure proper visibility.
+ (Analyze_Global_Item): Use the
+ entity of the subprogram spec when performing formal parameter
+ checks. Perform state-related checks.
+ (Analyze_Input_Output):
+ Use Is_Attribute_Result to detect 'Result. Query the
+ entity of a subprogram spec when verifying the prefix of
+ 'Result. Perform state-related checks. (Analyze_Pragma):
+ Merge the analysis of Refined_Depends and Refined_Global.
+ (Analyze_Refined_Depends_In_Decl_Part): Provide implemenation.
+ (Analyze_Refined_Global_In_Decl_Part): Move state-related checks
+ to the body of Analyze_Global_In_Decl_Part. Rename local constant
+ List to Items. (Analyze_Refined_Pragma): Remove circuitry to
+ find the proper context, use Find_Related_Subprogram_Or_Body
+ instead.
+ (Check_Function_Return): Query the entity of
+ the subprogram spec when verifying the use of 'Result.
+ (Check_In_Out_States, Check_Input_States, Check_Output_States):
+ Avoid using Has_Null_Refinement to detect a state with
+ a non-null refinement, use the Refinement_Constituents
+ list instead.
+ (Check_Matching_Constituent): Remove initialization code.
+ (Check_Mode_Restriction_In_Function): Use the entity of the subprogram
+ spec when verifying mode usage in functions.
+ (Collect_Global_Items): New routine.
+ (Collect_Subprogram_Inputs_Outputs): Add local
+ variable Spec_Id. Add circuitry for bodies-as-specs. Use
+ pragma Refined_Global when collecting for a body.
+ (Create_Or_Modify_Clause): Use the location of the
+ clause. Rename local variable Clause to New_Clause to avoid
+ confusion and update all occurrences. Use Is_Attribute_Result
+ to detect 'Result.
+ (Find_Related_Subprogram): Removed.
+ (Find_Related_Subprogram_Or_Body): New routine.
+ (Is_Part_Of): Move routine to top level.
+ (Normalize_Clause): Update the
+ comment on usage. The routine can now normalize a clause with
+ multiple outputs by splitting it.
+ (Collect_Global_Items):
+ Rename local constant List to Items. Remove the check for
+ a null list.
+ (Requires_Profile_Installation): Removed.
+ (Split_Multiple_Outputs): New routine.
+ * sem_prag.ads: Update the comments on usage of various
+ pragma-related analysis routines.
+ * sem_util.adb (Contains_Refined_State): The routine can now
+ process pragma [Refined_]Depends.
+ (Has_Refined_State): Removed.
+ (Has_State_In_Dependency): New routine.
+ (Has_State_In_Global): New routine.
+ (Is_Attribute_Result): New routine.
+ * sem_util.ads (Is_Attribute_Result): New routine.
+
+2013-10-14 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb (Compile): Fix finalization of the automaton
+ when its size was automatically computed to be exactly 1000 bytes.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): If the full view of
+ the base type is constrained, the full view of the subtype is
+ known to be constrained as well.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add documentation for new attributes of package
+ Clean: Artifacts_In_Object_Dir and Artifacts_In_Exec_Dir.
+
+2013-10-14 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c, adaint.h (__gnat_get_executable_load_address):
+ New function.
+ * a-exexda.adb (Append_Info_Basic_Exception_Traceback): Add
+ executable load address (Basic_Exception_Tback_Maxlength): Adjust.
+
+2013-10-14 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New attributes in package Clean:
+ Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir.
+ * prj-nmsc.adb (Process_Clean (Attributes)): New
+ procedure to process attributes Artifacts_In_Exec_Dir and
+ Artifacts_In_Object_Dir in package Clean.
+ * prj.ads (Project_Configuration): New components
+ Artifacts_In_Exec_Dir and Artifacts_In_Object_Dir.
+ * snames.ads-tmpl: New standard names Artifacts_In_Exec_Dir and
+ Artifacts_In_Object_Dir used only by gprclean.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add error
+ entry for Library_Level attribute (which should not survive
+ to expansion)
+ * gnat_rm.texi: Document attribute Library_Level
+ * sem_attr.adb (Analyze_Attribute, case Library_Level): Implement
+ this new attribute (Set_Boolean_Result): Replaces Set_Result
+ (Check_Standard_Prefix): Document that Check_E0 is called
+ (Check_System_Prefix): New procedure
+ * snames.ads-tmpl: Add entry for Library_Level attribute
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb, sinfo.ads: Minor reformatting.
+ * checks.adb (Overlap_Check): Use identifier casing in messages.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type
+ only.
+ * exp_aggr.adb (Expand_Array_Aggregate): Handle proper
+ initialization of <> component.
+ * exp_ch3.adb, exp_tss.adb: Minor reformatting
+ * sem_ch13.adb (Default_Aspect_Component_Value, Default_Aspect_Value):
+ Is on base type only.
+ * sinfo.ads: Minor comment revision.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * g-decstr.adb (Decode_Wide_Wide_Character): Fix failure
+ to detect invalid sequences where longer than necessary
+ sequences are used for encoding.
+ (Validate_Wide_Character):
+ Call Decode_Wide_Character to get the above validations.
+ (Validate_Wide_Wide_Character): Same fix
+ * g-decstr.ads: Add documentation making it clear that the UTF-8
+ implementation here recognizes all valid UTF-8 sequences, rather
+ than the well-formed subset corresponding to characters defined
+ in Unicode.
+ (Next_Wide_Character): Remove comment about this
+ being more efficient than Decode_Wide_Character (because this
+ no longer the case).
+ (Prev_Wide_Character): Add note that valid encoding is assumed.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * a-wichha.adb (Character_Set_Version): New function.
+ * a-wichha.ads: Remove comments for pragma Pure (final RM has
+ this).
+ (Character_Set_Version): New function.
+ * gnat_rm.texi: Update doc.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Flag263 is now known as Has_Null_Refinement.
+ (Has_Null_Refinement): New routine.
+ (Set_Has_Null_Refinement): New routine.
+ (Write_Entity_Flags): Output the status of flag
+ Has_Null_Refinement.
+ * einfo.ads: Add new flag Has_Null_Refinement along with
+ comment on usage and update all nodes subject to the flag.
+ (Has_Null_Refinement): New routine along with pragma Inline.
+ (Set_Has_Null_Refinement): New rouitine along with pragma Inline.
+ * sem_prag.adb (Analyze_Constituent): Mark a state as having
+ a null refinement when the sole constituent is "null".
+ (Analyze_Global_List): Handle null input/output items.
+ (Analyze_Refined_Global_In_Decl_Part): Add local variable
+ Has_Null_State. Add logic to handle combinations of states
+ with null refinements and null global lists and/or items.
+ (Check_In_Out_States, Check_Input_States, Check_Output_States):
+ Use attribute Has_Null_Refinement to detect states with
+ constituents.
+ (Check_Refined_Global_List): Handle null input/output items.
+ (Process_Global_Item): Handle states with null refinements.
+ (Process_Global_List): Handle null input/output items.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Reset Is_True_Constant for
+ aliased object
+ * gnat_ugn.texi: Update doc on aliased variables and constants.
+
+2013-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Expand_Packed_Element_Reference): If the
+ reference is an actual in a call, the prefix has not been fully
+ expanded, to account for the additional expansion for parameter
+ passing. the prefix itself is a packed reference as well,
+ recurse to complete the transformation of the prefix.
+
+2013-10-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Do not
+ materialize the entity when the renamed object contains an
+ N_Explicit_Dereference.
+ * sem_ch8.adb (Analyze_Object_Renaming):
+ If the renaming comes from source and the renamed object is a
+ dereference, mark the prefix as needing debug information.
+
+2013-10-14 Doug Rupp <rupp@adacore.com>
+
+ * system-vxworks-arm.ads (Stack_Check_Probes, Stack_Check_Limits):
+ Enable Stack Probes, Disable Stack Limit Checking.
+ * init.c [VxWorks] (__gnat_inum_to_ivec): Caste return value.
+ (__gnat_map_signal): Fix signature.
+ (__gnat_error_handler): Make
+ static, fix signature, remove prototype, fix prototype warning.
+ [ARMEL and VxWorks6] (__gnat_map_signal): Check and re-arm guard
+ page for storage_error.
+ * exp_pakd.adb: Minor reformatting.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local
+ variable Contract_Seen. Add local variable Proof_Seen.
+ (Analyze_Global_List): Remove the processing for mode
+ Contract_In. Add support for mode Proof_In.
+ (Analyze_Pragma): Update the grammar of pragmas Global and
+ Refined_Global.
+ * snames.ads-tmpl: Remove predefined name Contract_In. Add
+ predefined name Proof_In.
+
+2013-10-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): Generate proper string
+ for invariant
+ * gnat_rm.texi: Add documentation for pragmas
+ Type_Invariant[_Class]
+ * par-prag.adb: Add entries for pragmas Type_Invariant[_Class]
+ * sem_ch13.adb: Minor reformatting
+ * sem_prag.adb: Implement pragmas Type_Invariant[_Class]
+ * snames.ads-tmpl: Add entries for pragmas Type_Invariant[_Class]
+
+2013-10-14 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: Release now unused debug switches that were only
+ relevant for gnat2why backend, not the frontend
+ * frontend.adb (Frontend) Do not stop when -gnatd.H is present,
+ was unused
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Global_Item): Allow
+ references to enclosing formal parameters.
+
+2013-10-14 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb (Equivalent_Type): Add missing case
+ E_Access_Subprogram_Type in guard (for remote access to
+ subprograms) * sem_ch8.adb (Find_Direct_Name, Find_Expanded_Name):
+ Add missing guards to account for the presence of RAS types
+ that have already been replaced with the corresponding fat
+ pointer type.
+
+2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add an entry in table Canonical_Aspect for
+ Initializes.
+ * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
+ Aspect_Names and Aspect_Delay for Initializes.
+ * atree.ads, atree.adb (Ekind_In): New seven argument versions of the
+ routines.
+ * einfo.adb: Remove Refined_State_Pragma from the list of node
+ usage. Finalizer is now at position 28.
+ (Contract): Package
+ and package bodies now have a contract.
+ (Finalizer): Update
+ the assertion and node usage.
+ (Get_Pragma): Update the Is_CDG
+ flag to include Abstract_State, Initializes and Refined_State.
+ (Refined_State_Pragma): Removed.
+ (Set_Contract): Package and
+ package bodies now have a contract.
+ (Set_Finalizer): Update the
+ assertion and node usage.
+ (Set_Refined_State_Pragma): Removed.
+ (Write_Field8_Name): Remove the output for Refined_State_Pragma.
+ (Write_Field24_Name): Remove the output for Finalizer. Package
+ and package bodies now have a contract.
+ (Write_Field28_Name):
+ Add output for Finalizer.
+ * einfo.ads: Update the documentation and usage in entities
+ of attribute Contract. Update the node position and usage in
+ entities of attribute Finalizer. Remove the documentation
+ and usage in entities for attribute Refined_State_Pragma.
+ (Refined_State_Pragma): Removed along with pragma Inline.
+ (Set_Refined_State_Pragma): Removed along with pragma Inline.
+ * par-prag.adb: Add Initializes to the pragmas that do not
+ require special processing by the parser.
+ * sem_ch3.adb (Analyze_Declarations): Add local variable
+ Prag. Update the retrieval of pragma Refined_State. Analyze
+ aspect/pragma Initializes at the end of the visible declarations
+ of the related package.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Contract):
+ Add local variables Ref_Depends and Ref_Global. Analyze
+ pragmas Refined_Global and Refined_Depends in that order.
+ (Analyze_Subprogram_Contract): Add local variables Depends and
+ Global. Analyze pragmas Global and Depends in that order.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Package
+ bodies now have a contract. Move the analysis of the aspect
+ specifications after the defining entity has been decorated.
+ (Analyze_Package_Declaration): Packages now have a contract. Move
+ the analysis of the aspect specifications after the defining
+ entity has been decorated.
+ * sem_ch12.adb (Analyze_Generic_Package_Declaration): Packages
+ now have contracts.
+ * sem_ch13.adb (Analyze_Pragma): Code cleanup for aspect
+ Abstract_State. Add processing for aspect Initializes.
+ (Check_Aspect_At_Freeze_Point): Add an entry for Initializes.
+ * sem_prag.adb: Use Get_Pragma_Arg to extract the expression
+ of a pragma argument. Add an entry in table Sig_Flags for
+ Initializes.
+ (Analyze_Initializes_In_Decl_Part): New routine.
+ (Analyze_Pragma): Check the declaration order of pragmas
+ Abstract_State and Initializes. Abstract_State is now part of
+ the package contract. Analyze pragma Initializes. Check for
+ duplicate Refined_State pragma. Refined_State is now part of
+ the package contract.
+ (Check_Declaration_Order): New routine.
+ (Check_Test_Case): Alphabetized.
+ * sem_prag.ads (Analyze_Initializes_In_Decl_Part): New routine.
+ * sem_util.adb (Add_Contract_Item): Rename formal Subp_Id
+ to Id. This routine can now support contracts on packages and
+ package bodies.
+ * sem_util.ads (Add_Contract_Item): Rename formal Subp_Id to
+ Id. Update comment on usage.
+ * sinfo.ads: Update the usage of N_Contract nodes.
+ * snames.ads-tmpl: Add predefined name Initializes. Add new
+ pragma id for Initializes.
+
+2013-10-13 Nicolas Roche <roche@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (ada/%.o): Replace individual rules with
+ generic rule and add $(POSTCOMPILE).
+ (ADA_DEPS): New.
+ (.adb.o): Add @$(ADA_DEPS).
+ (.ads.o): Likewise.
+ (ada/a-except.o): Likewise.
+ (ada/s-excdeb.): Likewise.
+ (ada/s-assert.o): Likewise.
+ (ada/a-tags.o): Likewise.
+ (ada_generated_files): New variable.
+ Use them as dependency order for GNAT1_ADA_OBJS and GNATBIND_OBJS.
+ (ADA_DEPFILES): New variable.
+ Include them.
+ (ada_OBJS): Define.
+
+2013-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force all local
+ variables with aggregate types in memory if not optimizing.
+
+2013-10-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Mode): Do
+ not emit an error when we are looking at inputs and
+ the item is an unconstrained or tagged out parameter.
+ (Check_Mode_Restriction_In_Enclosing_Context): Use Get_Pragma
+ to find whether the context is subject to aspect/pragma Global.
+ (Collect_Subprogram_Inputs_Outputs): Unconstrained or tagged
+ out parameters are now considered inputs. Use Get_Pragma to
+ find wheher the subprogram is subject to aspect/pragma Global.
+ (Is_Unconstrained_Or_Tagged_Item): New routine.
+
+2013-10-13 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-10-13 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add documentation for pragmas Pre[_Class]
+ Post[_Class].
+ * par-ch2.adb (Skip_Pragma_Semicolon): Handle extra semicolon nicely.
+ * par-prag.adb: Add entries for pragmas Pre[_Class] and
+ Post[_Class].
+ * sem_prag.adb: Add handling of pragmas Pre[_Class] and
+ Post[_Class].
+ * sem_util.adb (Original_Aspect_Name): Moved here from
+ Sem_Prag.Original_Name, and modified to handle pragmas
+ Pre/Post/Pre_Class/Post_Class.
+ * sem_util.ads (Original_Aspect_Name): Moved here from
+ Sem_Prag.Original_Name.
+ * snames.ads-tmpl: Add entries for pragmas Pre[_Class] and
+ Post[_Class].
+
+2013-10-13 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, sem_ch6.adb: Minor reformatting.
+
+2013-10-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Add node/list usage for Refined_State
+ and Refinement_Constituents.
+ (Get_Pragma): Update the
+ initialization of Is_CDG to include Refined_Global and
+ Refined_Depends. Rename constant Delayed to In_Contract and update
+ all of its occurrences.
+ (Is_Non_Volatile_State): New routine.
+ (Is_Volatile_State): Removed.
+ (Refined_State): New routine.
+ (Refinement_Constituents): New routine.
+ (Set_Refined_State): New routine.
+ (Set_Refinement_Constituents): New routine.
+ (Write_Field8_Name): Add output for Refinement_Constituents.
+ (Write_Field10_Name): Add output for Refined_State.
+ * einfo.ads: Add new synthesized attribute Is_Non_Volatile_State.
+ Remove synthesized attribute Is_Volatile_State. Add new
+ attributes Refined_State and Refinement_Constituents along with
+ usage in nodes.
+ (Get_Pragma): Update the comment on usage.
+ (Is_Non_Volatile_State): New routine.
+ (Is_Volatile_State): Removed.
+ (Refined_State): New routine and pragma Inline.
+ (Refinement_Constituents): New routine and pragma Inline.
+ (Set_Refined_State): New routine and pragma Inline.
+ (Set_Refinement_Constituents): New routine and pragma Inline.
+ * elists.ads, elists.adb (Clone): Removed.
+ (New_Copy_Elist): New routine.
+ (Remove): New routine.
+ * sem_ch3.adb (Analyze_Declarations): Use Defining_Entity
+ to get the entity of the subprogram [body].
+ (Analyze_Object_Declaration): Add initialization for
+ Refined_State.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
+ for Refined_Global and Refined_Depends. Emit an error when
+ the body requires Refined_Global, but the aspect/pragma is
+ not present.
+ * sem_ch6.ads (Analyze_Subprogram_Body_Contract): Change
+ procedure signature and add comment on usage.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
+ for aspect Refined_Global.
+ * sem_prag.adb (Analyze_Abstract_State): Add initialization
+ of attributes Refined_State and Refinement_Constituents.
+ (Analyze_Depends_In_Decl_Part, Analyze_Global_In_Decl_Part,
+ Analyze_Contract_Cases_In_Decl_Part): Remove local
+ constant Arg1.
+ (Analyze_Pragma): Add processing for pragma
+ Refined_Global. The analysis of Refined_Post and Refined_Pre
+ has been merged. Update an error message in the processing of
+ pragma Refined_State.
+ (Analyze_Refined_Global_In_Decl_Part): Provide implementation.
+ (Analyze_Refined_Pragma): New routine.
+ (Analyze_Refined_Pre_Post_Condition): Removed.
+ (Analyze_Refined_State_In_Decl_Part): Update the call to Clone.
+ (Analyze_Refinement_Clause): Make State_Id visible to all
+ nested subprogram.
+ (Check_Matching_Constituent): Establish
+ a relation between a refined state and its constituent.
+ (Collect_Hidden_States_In_Decls): Remove ??? comment. Look at
+ the entity of the object declaration to establish its kind.
+ * sem_util.adb: Alphabetize with and use clauses.
+ (Contains_Refined_State): New routine.
+ * sem_util.ads (Contains_Refined_State): New routine.
+
+2013-10-13 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Minor documentation clarification.
+
+2013-10-13 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC when
+ building on AIX 5.3 or later, and to CLOCK_REALTIME on older
+ versions of AIX.
+ * init.c (pthread_condattr_setclock): Remove now useless weak symbol.
+ * thread.c(__gnat_pthread_condattr_setup): Remove bogus AIX 5.2
+ compatibility shim.
+ * s-osinte-aix.ads(clock_id_t): Fix C mapping (this is a 64-bit
+ type).
+ (clock_gettime): Import from C runtime library.
+ * s-osinte-aix.adb (clock_gettime): Remove bogus emulation body,
+ this routine is provided by the system in current supported
+ versions of AIX.
+
+2013-10-13 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2013-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For a function whose return type
+ is incomplete, do not replace the type with the full view if the
+ type is a limited view. In that case the full view appears in a
+ different unit, and the back-end will retrieve it at the proper
+ elaboration point.
+
+2013-10-13 Yannick Moy <moy@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK_Call): Do not introduce temporaries for
+ actuals.
+
+2013-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: in Ada 2012 access_to_function types can have
+ in-out parameters.
+ (Derived_Type_Declaration): SPARK restriction
+ must be flagged on the original node, since it may have been
+ written as a subtype declaration.
+ (Analyze_Subtype_Declaration): Do not enter name of
+ entity in declaration if it is the current entity, because it may
+ have been inserted in a previous analysis and it appears in the
+ else_part of an if-statement that is rewritten during expansion.
+
+2013-10-13 Yannick Moy <moy@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove procedure.
+ (Expand_SPARK): Remove call to Expand_SPARK_N_Attribute_Reference and
+ Expand_SPARK_N_Simple_Return_Statement.
+ (Expand_SPARK_N_Simple_Return_Statement,
+ Expand_SPARK_Simple_Function_Return): Remove procedures.
+
+2013-10-13 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Minor editing.
+
+2013-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Check_Abstract_Overriding): If a synchronized
+ operation implements an interface primitive, mark the operation
+ as referenced, to prevent usually spurious messages about unused
+ entities: such operations are called in dispatching select
+ statements that are not visible to the compiler.
+
+2013-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Remove obsolete comment.
+
+2013-10-11 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/utils.c (DEF_FUNCTION_TYPE_8): Define.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb (Check_Junk_Semicolon_Before_Return): Remove
+ junk code.
+
+2013-10-10 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch13.adb (Freeze_Entity_Checks): Avoid
+ loosing errors on CPP entities in -gnatc mode.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Analyze_If_Statement): Only diagnose redundant
+ if from source.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb (Check_SPARK_Restriction): Refine test (don't
+ automatically go to the original node).
+ * sem_ch11.adb (Analyze_Raise_Statement): Only raise
+ statements that come from source violate SPARK restrictions.
+ (Analyze_Raise_xxx_Error): Same fix.
+ * sem_ch3.adb (Analyze_Object_Declaration): Check OK SPARK
+ initialization on original node, not on possibly rewritten
+ expression.
+ * sem_ch4.adb (Analyze_If_Expression): Only if expressions that
+ come from source violate SPARK mode restrictions.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Fix confusing documentation for -gnatyM.
+
+2013-10-10 Yannick Moy <moy@adacore.com>
+
+ * errout.adb (Compilation_Errors): In formal verification mode,
+ always return False.
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Collect_Hidden_States_In_Decls): Only consider source
+ non-constant objects.
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add an entry in table Canonical_Aspect for
+ Refined_State.
+ * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
+ Aspect_Names and Aspect_Delay for Refined_State.
+ * einfo.adb: Add with and use clauses for Elists.
+ Remove Refined_State from the list of node usage.
+ Add Refined_State_Pragma to the list of node usage.
+ (Has_Null_Abstract_State): New routine.
+ (Refined_State): Removed.
+ (Refined_State_Pragma): New routine.
+ (Set_Refined_State): Removed.
+ (Set_Refined_State_Pragma): New routine.
+ (Write_Field8_Name): Add output for Refined_State_Pragma.
+ (Write_Field9_Name): Remove the output for Refined_State.
+ * einfo.ads: Add new synthesized attribute Has_Null_Abstract_State
+ along with usage in nodes. Remove attribute Refined_State along
+ with usage in nodes. Add new attribute Refined_State_Pragma along
+ with usage in nodes.
+ (Has_Null_Abstract_State): New routine.
+ (Refined_State): Removed.
+ (Refined_State_Pragma): New routine.
+ (Set_Refined_State): Removed.
+ (Set_Refined_State_Pragma): New routine.
+ * elists.adb (Clone): New routine.
+ * elists.ads (Clone): New routine.
+ * par-prag.adb: Add Refined_State to the pragmas that do not
+ require special processing by the parser.
+ * sem_ch3.adb: Add with and use clause for Sem_Prag.
+ (Analyze_Declarations): Add local variables Body_Id, Context and
+ Spec_Id. Add processing for delayed aspect/pragma Refined_State.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Update the
+ handling of aspect Abstract_State. Add processing for aspect
+ Refined_State. Remove the bizzare insertion policy for aspect
+ Abstract_State.
+ (Check_Aspect_At_Freeze_Point): Add an entry for Refined_State.
+ * sem_prag.adb: Add an entry to table Sig_Flags
+ for pragma Refined_State.
+ (Add_Item): Update the
+ comment on usage. The inserted items need not be unique.
+ (Analyze_Contract_Cases_In_Decl_Part): Rename variable Restore to
+ Restore_Scope and update all its occurrences.
+ (Analyze_Pragma):
+ Update the handling of pragma Abstract_State. Add processing for
+ pragma Refined_State.
+ (Analyze_Pre_Post_Condition_In_Decl_Part):
+ Rename variable Restore to Restore_Scope and update all its
+ occurrences.
+ (Analyze_Refined_State_In_Decl_Part): New routine.
+ * sem_prag.ads (Analyze_Refined_State_In_Decl_Part): New routine.
+ * snames.ads-tmpl: Add new predefined name for Refined_State. Add
+ new Pragma_Id for Refined_State.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Install_Limited_Withed_Unit): handle properly the
+ case of a record declaration in a limited view, when the record
+ contains a self-referential component of an anonymous access type.
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Process_Transient_Object): For any context other
+ than a simple return statement, insert the finalization action
+ after the context, not as an action on the context (which will
+ get evaluated before it).
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Write_Field19_Name): Correct the
+ string name of attribute Default_Aspect_Value.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Interface_Present_In_Ancestor): The progenitor
+ in a type declaration may be an interface subtype.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads (Do_Range_Check): Add special note on handling of
+ range checks for Succ and Pred.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.adb (Output_Msg_Text): Remove VMS special handling.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * a-chahan.ads, a-chahan.adb (Is_Line_Terminator): New function
+ (Is_Mark): New function.
+ (Is_Other_Format): New function.
+ (Is_Punctuation_Connector): New function.
+ (Is_Space): New function.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Redo duplicate/missing
+ choice circuit. Was not quite right in some cases, which showed
+ up in ACATS test B43201C.
+ * sem_attr.adb (Address_Checks): Make sure name is set right
+ for some messages issued.
+ * mlib-prj.adb: Minor code reorganization.
+ * gnat_ugn.texi: Remove special VMS doc for tagging of warning msgs.
+ * exp_ch9.adb: Minor reformatting.
+
+2013-10-10 Tristan Gingold <gingold@adacore.com>
+
+ * lib-writ.adb (Write_Unit_Information): Adjust previous patch.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Analyze_If_Statement): Warn on redundant if
+ statement.
+ * sem_util.ads, sem_util.adb (Has_No_Obvious_Side_Effects): New
+ function.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Timed_Entry_Call): Simplify expansion
+ for the case of a dispatching trigger: there is no need to
+ duplicate the code or create a subprogram to encapsulate the
+ triggering statements. This allows exit statements in the
+ triggering statements, that refer to enclosing loops.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+ * sem_ch13.adb (Freeze_Entity_Checks): New procedure
+ (Analyze_Freeze_Entity): Call Freeze_Entity_Checks
+ (Analyze_Freeze_Generic_Entity): Call Freeze_Entity_Checks.
+ * sinfo.ads: Add syntax for sprint for Freeze_Generic_Entity.
+ * sprint.ads: Add syntax for freeze generic entity node.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, einfo.ads: Minor comment updates.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * lib-writ.adb (Write_Unit_Information): Fatal error if linker
+ options are detected in a predefined generic unit.
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c (CLOCK_REALTIME): Always define, possibly using
+ a dummy placeholder value.
+ (NEED_PTHREAD_CONDATTR_SETCLOCK): Remove, not needed anymore.
+ * thread.c: Adjust #if test accordingly.
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Consequence_Error): Generate an
+ implicit if statement.
+ (Expand_Contract_Cases): Generate an implicit if statement.
+ (Process_Contract_Cases): Do not expand Contract_Cases when no code
+ is being generated.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Address_Checks): New procedure.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb: New Node Freeze_Generic_Entity, to trigger
+ semantic actions at the proper point for entities that previously
+ had no explicit freeze point.
+ * freeze.adb (Freeze_Generic_Entities): generate new nodes to
+ indicate the point at which semantic checks can be performed on
+ entities declared in generic packages.
+ * sem_ch13.ads, sem_ch13.adb: New procedure
+ Analyze_Freeze_Generic_Entity.
+ * exp_util.adb (Insert_Actions): Treat new node like Freeze_Entity.
+ * sem.adb (Analyze): Call Analyze_Freeze_Generic_Entity.
+ * sprint.adb (Sprint_Node): display Analyze_Freeze_Generic_Entity.
+ * gcc-interface/trans.c: Ignore Analyze_Freeze_Generic_Entity.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Identify duplicated
+ cases.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb (Analyze_Task_Body): Aspects are illegal
+ (Analyze_Protected_Body): Aspects are illegal.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb, sem_ch13.adb: Minor reformatting.
+ * sem_case.adb (Check_Choices): Fix bad listing of missing
+ values from predicated subtype case (Check_Choices): List
+ duplicated values.
+ * errout.adb (Set_Msg_Text): Process warning tags in VMS mode
+ * erroutc.adb (Output_Msg_Text): Handle VMS warning tags
+ * gnat_ugn.texi: Document /WARNINGS=TAG_WARNINGS for VMS
+ * ug_words: Add entries for -gnatw.d and -gnatw.D
+ * vms_data.ads: Add [NO]TAG_WARNINGS for -gnatw.D/-gnatw.d
+ * lib-writ.ads: Documentation fixes
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads
+ (Is_Other_Format): New name for Is_Other.
+ (Is_Punctuation_Connector): New name for Is_Punctuation
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add entries in table Canonical_Aspects for aspects
+ Refined_Depends and Refined_Global.
+ * aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
+ Aspect_Names, Aspect_Declay, Aspect_On_Body_Or_Stub_OK for
+ aspects Refined_Depends and Refined_Global.
+ * einfo.adb (Contract): Subprogram bodies are now valid owners
+ of contracts.
+ (Set_Contract): Subprogram bodies are now valid
+ owners of contracts.
+ (Write_Field24_Name): Output the contract
+ attribute for subprogram bodies.
+ * exp_ch6.adb (Expand_Subprogram_Contract): New routine.
+ * exp_ch6.ads (Expand_Subprogram_Contract): New routine.
+ * par-prag.adb: Pragmas Refined_Depends and Refined_Global do
+ not require any special processing by the parser.
+ * sem_ch3.adb (Adjust_D): Renamed to Adjust_Decl.
+ (Analyze_Declarations): Code reformatting. Analyze the contract
+ of a subprogram body at the end of the declarative region.
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
+ Subprogram bodies can now have contracts. Use
+ Expand_Subprogram_Contract to handle the various contract
+ assertions.
+ (Analyze_Subprogram_Body_Contract): New null routine.
+ (Analyze_Subprogram_Body_Helper): Subprogram bodies can now have
+ contracts. Use Expand_Subprogram_Contract to handle the various
+ contract assertions.
+ (Analyze_Subprogram_Contract): Add local
+ variable Nam. Update the call to Analyze_PPC_In_Decl_Part. Capture
+ the pragma name in Nam.
+ (Process_PPCs): Removed.
+ * sem_ch6.ads (Analyze_Subprogram_Body_Contract): New routine.
+ (Analyze_Subprogram_Contract): Update the comment on usage.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add null
+ implementations for aspects Refined_Depends and Refined_Global.
+ (Check_Aspect_At_Freeze_Point): Aspects Refined_Depends and
+ Refined_Global do not need to be checked at the freeze point.
+ * sem_prag.adb: Add entries in table Sig_Flags
+ for pragmas Refined_Depends and Refined_Global.
+ (Analyze_Contract_Cases_In_Decl_Part): Add local
+ variable Restore. Use Restore to pop the scope.
+ (Analyze_Depends_In_Decl_Part): Add local variable Restore. Use
+ Restore to pop the scope.
+ (Analyze_Global_In_Decl_List): Add local variable Restore. Use Restore
+ to pop the scope.
+ (Analyze_PPC_In_Decl_Part): Renamed to
+ Analyze_Pre_Post_Condition_In_Decl_Part.
+ (Analyze_Pragma):
+ Add null implementations for pragmas Refined_Depends and
+ Refined_Global. Refined_Pre and Refined_Post are now
+ handled by routine Analyze_Refined_Pre_Post_Condition
+ exclusively.
+ (Analyze_Refined_Depends_In_Decl_Part): New
+ null routine.
+ (Analyze_Refined_Global_In_Decl_Part):
+ New null routine.
+ (Analyze_Refined_Pre_Post):
+ Renamed to Analyze_Refined_Pre_Post_Condition.
+ (Analyze_Refined_Pre_Post_Condition): Analyze the boolean
+ expression.
+ (Check_Precondition_Postcondition): Update the call
+ to Analyze_PPC_In_Decl_Part.
+ * sem_prag.ads: Add entries in table
+ Pragma_On_Body_Or_Stub_OK for pragmas Refined_Depends
+ and Refined_Global.
+ (Analyze_PPC_In_Decl_Part): Renamed
+ to Analyze_Pre_Post_Condition_In_Decl_Part. Update the
+ comment on usage.
+ (Analyze_Refined_Depends_In_Decl_Part): New routine.
+ (Analyze_Refined_Global_In_Decl_Part): New routine.
+ (Analyze_Test_Case_In_Decl_Part): Update the comment on usage.
+ * sem_util.adb (Add_Contract_Item): Rename formal Item to Prag
+ and update all occurrences. Subprogram body contracts can now
+ contain pragmas Refined_Depends and Refined_Global.
+ * sem_util.ads (Add_Contract_Item): Rename formal Item to
+ Prag. Update the comment on usage.
+ * sinfo.ads: Update the comment on structure and usage of
+ N_Contract.
+ * snames.ads-tmpl: Add new predefined names for Refined_Depends
+ and Refined_Global. Add entries in table Pragma_Id for
+ Refined_Depends and Refined_Global.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * types.ads: Minor reformatting.
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * s-taprop-posix.adb: Add missing comment.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Move choice checking to
+ Analyze_Freeze_Entity (Freeze_Record_Type): Make sure all choices
+ are properly frozen
+ * sem_case.adb (Check_Choices): Remove misguided attempt to
+ freeze choices (this is now done in Freeze_Record_Type where
+ it belongs).
+ (Check_Choices): Remove some analyze/resolve calls
+ that are redundant since they are done in Analyze_Choices.
+ * sem_ch13.adb (Analyze_Freeze_Entity): Do the error
+ checking for choices in variant records here (moved here from
+ Freeze.Freeze_Record_Type)
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, s-taprop-posix.adb (CLOCK_REALTIME): Always define,
+ possibly using a dummy placeholder value.
+ (Compute_Deadline): For the case of an
+ Absolute_Calendar deadline, if the target uses another clock
+ than CLOCK_REALTIME as CLOCK_RT_Ada, compensate for possible
+ different epoch.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
+ qualified reference to a generic child unit within itself,
+ in an instantiation.
+
+2013-10-10 Pascal Obry <obry@adacore.com>
+
+ * prj-conf.adb: Minor typo fixes in comment.
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * s-taprop-posix.adb (Compute_Deadline): New local subprogram,
+ factors common code between Timed_Sleep and Timed_Delay.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Don't replace others if
+ expander inactive. This avoids clobbering the ASIS tree in
+ -gnatct mode.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Op_Expon): Avoid crash testing for
+ fixed-point case in preanalysis mode (error will be caught during
+ full analysis).
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Refined_Pre and Refined_Post are now allowed as
+ assertion identifiers for pragma Assertion_Policy.
+ * sem_prag.adb (Is_Valid_Assertion_Kind): Add Refined_Pre/Refined_Post
+ * sem_ch13.adb: Minor reformatting.
+
+2013-10-10 Pascal Obry <obry@adacore.com>
+
+ * prj-conf.adb: Code refactoring.
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Remove Integrity_Level from the node usage list.
+ (Has_Option): Update the implementation to match
+ the new terminology.
+ (Has_Property): Renamed to Has_Option.
+ (Integrity_Level): Removed.
+ (Is_External_State): New routine.
+ (Is_Input_Only_State): Use Has_Option to determine whether a state
+ is Input_Only. (Is_Input_State): Renamed to Is_Input_Only_State.
+ (Is_Output_Only_State): Use Has_Option to determine whether
+ a state is Output_Only.
+ (Is_Output_State): Renamed to
+ Is_Output_Only_State.
+ (Is_Volatile_State): Use Has_Option to determine whether a state is
+ volatile.
+ (Set_Integrity_Level): Removed.
+ (Write_Field8): Remove the entry for Integrity_Level.
+ * einfo.ads: Remove Integrity_Level along with its documentation
+ and usage in nodes. Rename Is_Input_State to Is_Input_Only_State.
+ Rename Is_Output_State to Is_Output_Only_State. Update the
+ documentation of Is_Volatile_State. Update the node structure of
+ E_Abstract_Entity.
+ (Integrity_Level): Removed along with pragma Inline.
+ (Is_External_State): New routine.
+ (Is_Input_State): Renamed to Is_Input_Only_State.
+ (Is_Output_State): Renamed to Is_Output_Only_State.
+ (Set_Integrity_Level): Removed along with pragma Inline.
+ * sem_prag.adb (Analyze_Pragma): Update the checks regarding
+ global items and abstract state modes. Update the implementation
+ of pragma Abstract_State to reflect the new rules and terminology.
+ * snames.ads-tmpl: Remove the predefined name for Integrity
+ level. Add new predefined names for Input_Only, Non_Volatile,
+ Output_Only and Part_Of.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): Do not generate a reference
+ within a _postcondition procedure: a proper source reference has
+ already been generated when pre- analyzing the original aspect
+ specification, and the use of a formal in a pre/postcondition
+ should not count as a proper use in a subprogram body.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Why_Non_Static): Fix bomb for deferred constant
+ case
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add an entry for Aspect_Refined_Post in table
+ Canonical_Aspect.
+ * aspects.ads: Add an entry for Aspect_Refined_Post in tables
+ Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
+ Aspect_On_Body_Or_Stub_OK. Update the comment on the use of
+ table Aspect_On_Body_Or_Stub_OK.
+ * par-prag.adb: Add pragma Refined_Post to the list of pragmas
+ that do not require special processing by the parser.
+ * sem_attr.adb (Analyze_Attribute): Add special analysis for
+ attributes 'Old and 'Result when code generation is disabled and
+ they appear in aspect/pragma Refined_Post.
+ (In_Refined_Post): New routine.
+ * sem_ch6.adb (Analyze_Expression_Function): Move various
+ aspects and/or pragmas that apply to an expression function to the
+ corresponding spec or body.
+ (Collect_Body_Postconditions): New routine.
+ (Process_PPCs): Use routine Collect_Body_Postconditions
+ to gather all postcondition pragmas.
+ * sem_ch10.adb (Analyze_Proper_Body): Use routine
+ Relocate_Pragmas_To_Body to move all source pragmas that follow
+ a body stub to the proper body.
+ (Move_Stub_Pragmas_To_Body): Removed.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
+ for aspect Refined_Post.
+ (Check_Aspect_At_Freeze_Point): Aspect
+ Refined_Post does not need delayed processing at the freeze point.
+ * sem_prag.adb: Add an entry for pragma Refined_Post in
+ table Sig_Flags.
+ (Analyze_Pragma): Add processing for pragma
+ Refined_Post. Update the processing of pragma Refined_Pre
+ to use common routine Analyze_Refined_Pre_Post.
+ (Analyze_Refined_Pre_Post): New routine.
+ (Relocate_Pragmas_To_Body): New routine.
+ * sem_prag.ads: Table Pragma_On_Stub_OK is now known as
+ Pragma_On_Body_Or_Stub_OK. Update the comment on usage of
+ table Pragma_On_Body_Or_Stub_OK.
+ (Relocate_Pragmas_To_Body): New routine.
+ * snames.ads-tmpl: Add new predefined name for Refined_Post. Add
+ new Pragma_Id for Refined_Post.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Variant_Part): Now null, expansion of
+ last choice to others is moved to Freeze_Record_Type.
+ * freeze.adb (Freeze_Record_Type): Expand last variant to others
+ if necessary (moved here from Expand_N_Variant_Part
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref-spark_specific.adb, par-ch13.adb, sem_prag.adb, sem_prag.ads,
+ sem_ch12.adb, sem_attr.adb, sem_ch6.adb, sem_ch13.adb, a-sequio.adb,
+ s-atocou-builtin.adb: Minor reformatting.
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c (NEED_PTHREAD_CONDATTR_SETCLOCK): This
+ constant needs to be output to s-oscons.h, as it is tested
+ by init.c.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Variant_Part): Don't expand choices, too early
+ * exp_ch5.adb (Expand_N_Case_Statement): Use new Has_SP_Choice
+ flag to avoid expanding choices when not necessary.
+ * exp_util.adb: Minor reformatting
+ * freeze.adb (Freeze_Record_Type): Redo expansion of variants
+ * sem_aggr.adb: Minor reformatting
+ * sem_case.ads, sem_case.adb: Major rewrite, separating Analysis and
+ Checking of choices.
+ * sem_ch3.adb (Analyze_Variant_Part): Rewrite to call new
+ Analyze_Choices.
+ * sem_ch4.adb (Analyze_Case_Expression): Call Analyze_Choices
+ and Check_Choices
+ * sem_ch5.adb (Analyze_Case_Statement): Call Analyze_Choices
+ and Check_Choices
+ * sem_util.adb: Minor reformatting
+ * sinfo.ads, sinfo.adb (Has_SP_Choice): New flag.
+
+2013-10-10 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Build_Library): Do not issue link dynamic
+ libraries with an Rpath, if switch -R was used.
+
+2013-10-10 Tristan Gingold <gingold@adacore.com>
+
+ * s-stalib.ads (Image_Index_Table_8, Image_Index_Table_16,
+ Image_Index_Table_32): Remove as not used.
+ * s-imgint.adb (Image_Integer): Call Set_Image_Integer and
+ remove duplicated code.
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Provide a
+ more precise error message when pragma Refined_Pre applies to
+ an expression function that is not a completion.
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * sem_attr.adb (Analyse_Attribute, case
+ Attribute_Scalar_Storage_Order): a 'Scalar_Storage_Order attribute
+ reference for a generic type is permitted in GNAT runtime mode.
+ * a-sequio.adb (Read, Write): Use the endianness of the actual
+ type to encode length information written to the file.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present)): In earlier than
+ Ada2012 mode, assume that a legal aspect name following "with"
+ keyword is an older gnat switch and not a misplaced with_clause.
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add an entry for Aspect_Refined_Pre in
+ table Canonical_Aspect.
+ (Aspects_On_Body_OK): Renamed to
+ Aspects_On_Body_Or_Stub_OK.
+ (Aspects_On_Body_Or_Stub_OK):
+ Update the query in table Aspect_On_Body_OK.
+ * aspects.ads: Add an entry for Aspect_Refined_Pre in tables
+ Aspect_Id, Aspect_Argument, Aspect_Names, Aspect_Delay,
+ Aspect_On_Body_Or_Stub_OK. Table Aspect_On_Body_OK is now known as
+ Aspect_On_Body_Or_Stub_OK. Add a section of aspect specifications
+ that apply to body stubs.
+ (Aspects_On_Body_OK): Renamed to Aspects_On_Body_Or_Stub_OK.
+ (Aspects_On_Body_Or_Stub_OK): Update the comment on usage.
+ * par-prag.adb: Add pragma Refined_Pre to the list of pragmas
+ that do not require special processing by the parser.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Delay the
+ analysis of aspect specifications that apply to a body stub
+ until the proper body is analyzed.
+ * sem_ch10.adb: Add with and use clause for Sem_Ch13.
+ (Analyze_Package_Body_Stub): Set the corresponding spec of the stub.
+ (Analyze_Proper_Body): Relocate all pragmas that apply
+ to a subprogram body stub to the declarations of the proper
+ body. Analyze the aspect specifications of the stub when the
+ proper body is not present.
+ (Analyze_Protected_Body_Stub): Set the corresponding spec of the stub.
+ (Analyze_Task_Body_Stub): Set the corresponding spec of the stub.
+ (Move_Stub_Pragmas_To_Body): New routine.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
+ for aspect Refined_Pre.
+ (Check_Aspect_At_Freeze_Point): Aspect
+ Refined_Pre does not need delayed processing at the freeze point.
+ * sem_prag.adb: Remove with and use clause for Snames. Add
+ an entry for Pragma_Refined_Pre in table Sig_Flags.
+ (Analyze_Pragma): Add processing for pragma Refined_Pre.
+ * sem_prag.ads: Add with and use clause for Snames. Add table
+ Pragma_On_Stub_OK.
+ * sinfo.adb (Corresponding_Spec_Of_Stub): New routine.
+ (Set_Corresponding_Spec_Of_Stub): New routine.
+ * sinfo.ads: Add new attribute Corresponding_Spec_Of_Stub
+ along with comment on usage and occurrences in nodes.
+ (Corresponding_Spec_Of_Stub): New routine along with pragma
+ Inline.
+ (Set_Corresponding_Spec_Of_Stub): New routine along
+ with pragma Inline.
+ * snames.ads-tmpl: Add new predefined name for Refined_Pre. Add
+ new Pragma_Id for Refined_Pre.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation,
+ Analyze_Subprogram_Instantiation): Improve error message when
+ name in instantiation does not designate a generic unit of the
+ right kind.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Variant_Part): Expand statically
+ predicated subtype which appears in Discrete_Choices list.
+ * exp_ch5.adb (Expand_N_Case_Statement): Expand statically
+ predicated subtype which appears in Discrete_Choices list of
+ case statement alternative.
+ * exp_util.ads, exp_util.adb (Expand_Static_Predicates_In_Choices): New
+ procedure.
+ * sem_case.adb: Minor reformatting (Analyze_Choices): Don't
+ expand out Discrete_Choices that are names of subtypes with
+ static predicates. This is now done in the analyzer so that the
+ -gnatct tree is properly formed for ASIS.
+ * sem_case.ads (Generic_Choices_Processing): Does not apply
+ to aggregates any more, so change doc accordingly, and remove
+ unneeded Get_Choices argument.
+ * sem_ch3.adb (Analyze_Variant_Part): Remove no
+ longer used Get_Choices argument in instantiation of
+ Generic_Choices_Processing.
+ * sem_ch4.adb (Analyze_Case_Expression): Remove no
+ longer used Get_Choices argument in instantiation of
+ Generic_Choices_Processing.
+ * sem_ch5.adb (Analyze_Case_Statement): Remove no
+ longer used Get_Choices argument in instantiation of
+ Generic_Choices_Processing.
+ * sinfo.ads: For N_Variant_Part, and N_Case_Statement_Alternative,
+ document that choices that are names of statically predicated
+ subtypes are expanded in the code generation tree passed to the
+ back end, but not in the ASIS tree generated for -gnatct.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb: Revert previous change.
+
+2013-10-10 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the case where
+ the Storage_Pool aspect is specified by an aspect clause and a
+ renaming is used to capture the evaluation of the pool name,
+ insert the renaming in front of the aspect's associated entity
+ declaration rather than in front of the corresponding attribute
+ definition (which hasn't been appended to the declaration
+ list yet).
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Interface_Conformant): The controlling type
+ of the interface operation is obtained from the ultimate alias
+ of the interface primitive parameter, because that may be in
+ fact an implicit inherited operation whose signature involves
+ the type extension and not the desired interface.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present): In Ada 2012,
+ recognize an aspect specification with a misspelled name if it
+ is followed by a a comma or semicolon.
+
+2013-10-10 Vadim Godunko <godunko@adacore.com>
+
+ * s-atocou.adb, s-atocou.ads, s-atocou-x86.adb, s-atocou-builtin.adb:
+ Fix copyright notice.
+
+2013-10-10 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package): Get
+ enclosing subprogram for precondition/postcondition/contract cases.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor fix.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ Address): Remove the Comes_From_Source test for the overlap
+ warning.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor code reorganization (use Nkind_In).
+ * sem_warn.adb: Minor code reorganization (optimization in
+ Check_Unset_Reference).
+ * exp_ch9.adb, exp_ch4.adb, sinfo.ads: Minor reformatting.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Install_Parent_Private_Declarations): When
+ instantiating a child unit, do not install private declaration of
+ a non-generic ancestor of the generic that is also an ancestor
+ of the current unit: its private part will be installed when
+ private part of ancestor itself is analyzed.
+
+2013-10-10 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Check_Component_Storage_Order): Retrieve component
+ aliased status from type entities directly instead of going back
+ to original component definition.
+ * sem_ch7.adb: Minor reformatting.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For Address
+ attribute, consider it to be set in source, because of aliasing
+ considerations.
+ (Analyze_Attribute_Definition_Clause): For the
+ purpose of warning on overlays, take into account the aspect case.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
+ a-cofove.ads: Minor reformatting.
+
+2013-10-10 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Remove obsolete mention to -laddr2line.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Case_Expression): Indicate that the
+ generated variable used as a target of the expression needs
+ no initialization.
+
+2013-10-10 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_util.adb (Corresponding_Runtime_Package): Remove the condition
+ related to No_Dynamic_Attachment which was wrong. Protected types
+ with interrupt handlers (when not using a restricted profile)
+ are always treated as protected types with entries, regardless
+ of the No_Dynamic_Attachment restriction.
+ * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Simplify the code
+ using the result of Corresponding_Runtime_Package.
+ (Install_Private_Data_Declarations): When having
+ static handlers and a non restricted profile, we use the
+ type Static_Interrupt_Protection always, so we removed an
+ extra wrong condition looking at the No_Dynamic_Attachment
+ restriction. Simplify the code using the result of
+ Corresponding_Runtime_Package.
+ (Make_Initialize_Protection): Simplify the code using
+ the result of Corresponding_Runtime_Package.
+ (Install_Private_Data_Declaration): The No_Dynamic_Attachment
+ restriction has nothing to do with static handlers. Remove the extra
+ erroneous condition that was creating the wrong data type.
+
+2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_util.adb (Is_Object_Reference): Attribute
+ 'Old produces an object reference.
+ * gnat_rm.texi: Define accessibility level of
+ X'Update(...) result.
+
+2013-10-10 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads, a-cofove.ads: Update comment and doc of formal containers
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post
+ conditions that apply to a subprogram body, preserve the placement
+ and order of the generated pragmas, which must appear before
+ other declarations in the body.
+
+2013-10-10 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Add gnat2xml doc.
+
+2013-10-10 Doug Rupp <rupp@adacore.com>
+
+ * s-vxwork-arm.ads: Fix interface to FP_CONTEXT.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specification): An aspect Import
+ on a variable need not have a convention specified, as long as
+ the implicit convention of the object, obtained from its type,
+ is Ada or Ada-related.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb (Standard_Unsigned_64): New internal type.
+ * gnat_rm.texi: Update documentation on To_Address.
+ * sem_attr.adb (Analyze_Attribute, case To_Address): Fix
+ problem with out of range static values given as literals or
+ named numbers.
+ * stand.ads (Standard_Unsigned_64): New internal type.
+ * stand.adb: Minor reformatting.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component,
+ Has_Mode_Conformant_Spec): If selected component may be an
+ indexing of a parameterless call to a protected function, and
+ expansion is disabled, this is a valid candidate interpretation.
+
+2013-10-10 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Minor editing.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * gnatlink.adb: Minor reformatting.
+
+2013-10-10 Yannick Moy <moy@adacore.com>
+
+ * debug.adb: Free flag d.E and change doc for flag d.K.
+
+2013-10-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Check_Precondition_Postcondition): If the
+ pragma comes from an aspect spec, and the subprogram is a
+ library unit, treat as a ppc in a declarative part in ASIS mode,
+ so that expression in aspect is properly analyzed. In this case
+ there is no later point at which the aspect specification would
+ be examined.
+
+2013-10-10 Bob Duff <duff@adacore.com>
+
+ * opt.ads: Minor comment fix.
+
+2013-10-10 Vadim Godunko <godunko@adacore.com>
+
+ * a-coinho-shared.ads, a-coinho-shared.adb: New file.
+ * s-atocou.ads: Add procedure to initialize counter.
+ * s-atocou.adb: Likewise.
+ * s-atocou-builtin.adb: Likewise.
+ * s-atocou-x86.adb: Likewise.
+ * gcc-interface/Makefile.in: Select special version of
+ Indefinite_Holders package on platforms where atomic built-ins
+ are supported. Update tools target pairs for PikeOS.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sinput-c.adb (Load_File): Ensure Source_Align alignment.
+ * sinput-d.adb (Create_Debug_Source): Ensure Source_Align alignment.
+ * sinput-l.adb (Create_Instantiation_Source): Ensure Source_Align
+ alignment.
+ (Load_File): Ditto.
+ * sinput.ads, sinput.adb (Get_Source_File_Index): New optimized (single
+ line) version.
+ * types.ads (Source_Align): New definition.
+ (Source_Buffer): Document new alignment requirement.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Linker_Section): Allow
+ this for types.
+
+2013-10-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor adjustment to doc for To_Address attribute.
+
+2013-10-10 Vadim Godunko <godunko@adacore.com>
+
+ * s-stopoo.ads (Root_Storage_Pool): Add pragma
+ Preelaborable_Initialization.
+
+2013-09-25 Tom Tromey <tromey@redhat.com>
+
+ * gcc-interface/Makefile.in (OUTPUT_OPTION): Define as "-o $@".
+
2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
PR ada/58264