summaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog-2013
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ChangeLog-2013')
-rw-r--r--gcc/ada/ChangeLog-20138294
1 files changed, 8294 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog-2013 b/gcc/ada/ChangeLog-2013
new file mode 100644
index 00000000000..8c5ee48dbf7
--- /dev/null
+++ b/gcc/ada/ChangeLog-2013
@@ -0,0 +1,8294 @@
+2013-12-20 Trevor saunders <tsaunders@mozilla.com>
+
+ * gcc-interface/decl.c (components_to_record): Replace stack_vec with
+ auto_vec.
+
+2013-12-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (ARM linux, GNU eabi): Tweak regexp.
+
+2013-12-12 Eric Botcazou <ebotcazou@adacore.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR ada/55946
+ * gcc-interface/Make-lang.in (ada/doctools/xgnatugn): Use gnatmake.
+ * gcc-interface/Makefile.in (GCC_LINK): Add LDFLAGS.
+ (../../gnatmake): Remove LDFLAGS.
+ (../../gnatlink): Likewise.
+
+2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/59382
+ * indepsw-darwin.adb: New file.
+
+2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (components_to_record): Add specific handling
+ for fields with zero size and no representation clause.
+
+2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Case_Statement_to_gnu): Do not push a binding
+ level for each branch if this is a case expression in Ada 2012.
+ (gnat_to_gnu) <case N_Expression_With_Actions>: Adjust comment.
+
+2013-11-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/54040
+ PR ada/59346
+ * s-osinte-hpux.ads (timespec): Change type of tv_nsec field to time_t.
+ * s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
+ * s-osinte-solaris-posix.ads (timespec): Likewise.
+
+2013-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Set TREE_SIDE_EFFECTS
+ on the conditional expression directly.
+
+2013-11-22 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/trans.c: Add required include files from gimple.h.
+
+2013-11-22 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/utils2.c (build_call_raise): Remove use of
+ input_line macro.
+ (build_call_raise_range): Likewise.
+ (build_call_raise_column): Likewise.
+
+2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
+ Mike Stump <mikestump@comcast.net>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_to_uhwi.
+ * gcc-interface/utils.c (make_packable_type): Likewise.
+
+2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi rather than
+ tree_low_cst.
+
+2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc-interface/decl.c, gcc-interface/utils.c, gcc-interface/utils2.c:
+ Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.
+
+2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc-interface/cuintp.c: Update comments to refer to
+ tree_fits_shwi_p rather than host_integerp.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_fits_uhwi_p
+ rather than host_integerp.
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Likewise.
+
+2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc-interface/decl.c, gcc-interface/misc.c, gcc-interface/utils.c:
+ Replace host_integerp (..., 1) with tree_fits_uhwi_p throughout.
+
+2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc-interface/cuintp.c: Replace host_integerp (..., 0) with
+ tree_fits_shwi_p throughout.
+
+2013-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (TARGET_ABI_OPEN_VMS): Delete as redundant.
+
+2013-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Call_to_gnu): For an Out parameter passed by
+ copy and that don't need to be copied in, only evaluate its address.
+
+2013-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Deal with an
+ error mark as renamed object in type annotating mode.
+
+2013-11-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ada/54040
+ * s-linux-x32.ads: New file.
+ * s-osprim-x32.adb: Likewise.
+ * s-linux.ads (time_t): New type.
+ * s-linux-alpha.ads (time_t): Likewise.
+ * s-linux-hppa.ads (time_t): Likewise.
+ * s-linux-mipsel.ads (time_t): Likewise.
+ * s-linux-sparc.ads (time_t): Likewise.
+ * s-osinte-linux.ads (time_t): Mark it private. Replace long
+ with System.Linux.time_t.
+ (timespec): Replace long with time_t.
+ * s-osinte-posix.adb (To_Timespec): Likewise.
+ * s-taprop-linux.adb (timeval): Replace C.long with
+ System.OS_Interface.time_t.
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Replace
+ s-linux.ads with s-linux-x32.ads, s-osprim-posix.adb with
+ s-osprim-x32.adb for x32.
+
+2013-11-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc-interface/trans.c: Include gimple.h and pointer-set.h.
+
+2013-11-14 Diego Novillo <dnovillo@google.com>
+
+ * gcc-interface/decl.c: Include stringpool.h
+ Include stor-layout.h
+ * gcc-interface/misc.c: Include stor-layout.h
+ Include print-tree.h
+ * gcc-interface/trans.c: Include stringpool.h
+ Include stor-layout.h
+ Include stmt.h
+ Include varasm.h
+ * gcc-interface/utils.c: Include stringpool.h
+ Include stor-layout.h
+ Include attribs.h
+ Include varasm.h
+ * gcc-interface/utils2.c: Include stringpool.h
+ Include stor-layout.h
+ Include attribs.h
+ Include varasm.h
+
+2013-11-12 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc-interface/trans.c: Include gimplify.h.
+
+2013-11-11 Tristan Gingold <gingold@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_build_constructor): Also set the flag
+ CONSTRUCTOR_NO_CLEARING on the constructor.
+
+2013-10-30 Sharad Singhai <singhai@google.com>
+
+ * gnat_ugn.texi: Remove option description for PR middle-end/58134.
+
+2013-10-29 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/trans.c (finalize_nrv): Update for conversion of
+ symtab types to a true class hierarchy.
+ * gcc-interface/utils.c (gnat_write_global_declarations): Likewise.
+
+2013-10-28 Trevor Saunders <tsaunders@mozilla.com>
+
+ * gcc-interface/decl.c (components_to_record): Adjust stack vector.
+
+2013-10-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Make-lang.in (ADA_DEPS): Fix quoting.
+
+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
+ * gcc-interface/trans.c (Attribute_to_gnu): Define GNAT_PREFIX local
+ variable and use it throughout.
+ <Attr_Length>: Note whether the prefix is the dereference of a pointer
+ to unconstrained array and, in this case, capture the result for both
+ Attr_First and Attr_Last.
+
+2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New.
+
+2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Remove dead code.
+
+2013-09-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of
+ return variables for subprograms using the CICO mechanism.
+
+2013-09-13 Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ * gcc-interface/Makefile.in: Fix darwin Filter to match on $target_os,
+ not $target_cpu.
+
+2013-09-11 Thomas Schwinge <thomas@codesourcery.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/Makefile.in: Import target_cpu, target_vendor,
+ target_os and their host_ counterparts. Remove host_canonical and
+ target_cpu_default, unused. Remove local ad-hoc computations of
+ "host", "targ", "arch", "osys" and "manu". Replace uses of these by
+ uses of the now imported family, hence back to filters against
+ canonical values. Remove filters on e500 for target_cpu, expected to
+ be canonicalized into powerpc. Invert the logic filtering on 64bit
+ sparc for VxWorks. Simplify the filtering logic for bareboard tools
+ target pairs, now using straight elf/eabi filters on the target_os
+ part only.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Replace_Anonymoous_Access_To_Protected_Subprogram): If
+ the return type is itself an access to function, recurse to emit
+ another anonymous type.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
+ * errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
+ * errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
+ * inline.ads (Warnings): New component in Pending_Body_Info.
+ * sem_ch12.adb (Pending_Body_Info): Save and restore warnings
+ at instantiation point.
+ * warnsw.adb (Save_Warnings): New function (Restore_Warnings):
+ New procedure Remove special handling of Warning_Doc_Switch,
+ cleaner to handle the VMS case in errout, than to introduce
+ undocumented oddities here.
+ * warnsw.ads (Warning_Record) : New type.
+ (Save_Warnings): New function.
+ (Restore_Warnings): New procedure.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sinput.adb (Check_For_BOM): Avoid reading past end of file.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Error_Msg_Ada_2012_Feature): New procedure.
+ * errout.ads (Error_Msg_Ada_2012_Feature): New procedure.
+ * inline.ads: Save/Restore Ada_Version_Pragma.
+ * opt.adb: Save/Restore Ada_Version_Pragma.
+ * opt.ads (Ada_Version_Pragma): New variable.
+ * par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb,
+ par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature.
+ * prj.adb: Initialize Ada_Version_Pragma.
+ * sem_attr.adb: Use Error_Msg_Ada_2012_Feature.
+ * sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma.
+ * sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma.
+ * switch-c.adb: Initialize Ada_Version_Pragma.
+ * sem_ch12.adb: Minor reformatting.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process_Subtype): Discard constraint on access
+ to class-wide type. Such constraints are not supported and are
+ considered a language pathology.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * gnatbind.adb: Correct starting date in --version string.
+ * gnatdll.adb: Use Check_Version_And_Help_G to implement --help
+ and --version.
+ * gnatkr.adb: Use Check_Version_And_Help_G to implement --help
+ and --version.
+ * gnatlink.adb: Correct starting date in --version string.
+ * gnatls.adb: Correct starting date in --version string.
+ * make.adb: Correct starting date in --version string.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb: Minor reformatting.
+ * atree.ads (Original_Nodes): Add documentation on ASIS usage.
+ * sinfo.ads: Add section on ASIS mode (documentation only).
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Warnings): Don't allow
+ REASON parameter in compiler units (bootstrap issues).
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Output warning if
+ -gnateE specified for a target that does not support it.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Handle properly
+ a subprogram body without previous spec.
+
+2013-09-10 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb: Minor typo fixes.
+
+2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb (Aspects_On_Body_OK): New routine.
+ * aspects.ads: Modify type Aspect_Expression to include
+ the Optional_XXX variants. Update the contents of
+ table Aspect_Argument. Add table Aspect_On_Body_OK.
+ (Aspects_On_Body_OK): New routine.
+ * par-ch13.adb (Get_Aspect_Specifications): Account for optional
+ names and expressions when parsing an aspect.
+ * sem_ch6.adb: Add with and use clause for Aspects.
+ (Analyze_Subprogram_Body_Helper): Do not emit an error when
+ analyzing a body with aspects that can be applied simultaneously
+ to both spec and body.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
+ corresponding pragma of an aspect that applies to a subprogram
+ body in the declarative part.
+ (Make_Aitem_Pragma): Do not generate a pragma with an empty argument
+ list.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb: Diagnose -gnatc given after -gnatRm.
+ * gnat_ugn.texi: Add documentation for -gnatRm.
+ * usage.adb: Minor reorganization (put style entries in proper
+ order) Document -gnatRm switch.
+ * sinfo.ads: Minor comment fix.
+
+2013-09-10 Sergey Rybin <rybin@adacore.com frybin>
+
+ * tree_io.ads: Update ASIS_Version_Number.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): Check whether the
+ designated type can appear in a parameterless call.
+ * sem_ch4.adb (Analyze_Call): Do not insert an explicit dereference
+ in the case of an indirect call through an access function that
+ returns an array type.
+ (Analyze_One_Call): Handle properly legal parameterless calls
+ whose result is indexed, in constructs of the for F.all (I)
+ * sem_ch6.ads (May_Need_Actuals): Make public, for use on access
+ to subprogram types.
+ * sem_res.adb (Resolve_Call): If the call is indirect, there is
+ no entity to set on the name in the call.
+
+2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add entries in the Has_Aspect_Specifications_Flag
+ table for package body and body stubs.
+ (Move_Or_Merge_Aspects): New routine.
+ (Remove_Aspects): New routine.
+ * aspects.ads (Move_Aspects): Update comment on usage.
+ (Move_Or_Merge_Aspects): New routine.
+ (Remove_Aspects): New routine.
+ * par-ch3.adb: Update the grammar of private_type_declaration,
+ private_extension_declaration, object_renaming_declaration,
+ and exception_renaming_declaration.
+ (P_Subprogram): Parse the
+ aspect specifications that apply to a body stub.
+ * par-ch6.adb: Update the grammar of subprogram_body_stub and
+ generic_instantiation.
+ * par-ch7.adb: Update the grammar of package_declaration,
+ package_specification, package_body, package_renaming_declaration,
+ package_body_stub.
+ (P_Package): Parse the aspect specifications
+ that apply to a body, a body stub and package renaming.
+ * par-ch9.adb: Update the grammar of entry_declaration,
+ protected_body, protected_body_stub, task_body,
+ and task_body_stub.
+ (P_Protected): Add local variable
+ Aspect_Sloc. Add local constant Dummy_Node. Parse the aspect
+ specifications that apply to a protected body and a protected
+ body stub.
+ (P_Task): Add local variable Aspect_Sloc. Add local
+ constant Dummy_Node. Parse the aspect specifications that apply
+ to a task body and a task body stub.
+ * par-ch12.adb: Update the grammar of
+ generic_renaming_declaration.
+ (P_Generic): Parse the aspect
+ specifications that apply to a generic renaming.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not emit
+ an error when analyzing aspects that apply to a body stub. Such
+ aspects are relocated to the proper body.
+ * sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the aspect
+ specifications that apply to a body.
+ * sem_ch9.adb (Analyze_Protected_Body): Warn about user-defined
+ aspects not being supported on protected bodies. Remove the
+ aspect specifications. (Analyze_Single_Protected_Declaration):
+ Analyze the aspects that apply to a single protected declaration.
+ (Analyze_Task_Body): Warn about user-defined aspects not being
+ supported on task bodies. Remove the aspect specifications.
+ * sem_ch10.adb: Add with and use clause for Aspects.
+ (Analyze_Package_Body_Stub): Propagate the aspect specifications
+ from the stub to the proper body.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
+ corresponding pragma of an aspect that applies to a body in the
+ declarations of the body.
+ * sinfo.ads: Update the gramma of expression_function,
+ private_type_declaration, private_extension_declaration,
+ object_renaming_declaration, exception_renaming_declaration,
+ package_renaming_declaration, subprogram_renaming_declaration,
+ generic_renaming_declaration, entry_declaration,
+ subprogram_body_stub, package_body_stub, task_body_stub,
+ generic_subprogram_declaration.
+
+2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Add processing
+ for aspect/pragma SPARK_Mode when it applies to a [library-level]
+ subprogram or package [body].
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document that -gnatc and -gnatR cannot be
+ given together.
+ * switch-c.adb (Scan_Front_End_Switches): Give error if both
+ -gnatR and -gnatc given.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * g-table.ads, g-table.adb (For_Each): New generic procedure
+ (Sort_Table): New generic procedure.
+
+2013-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c (__gnat_is_executable_file_attr): Should be true
+ for an executable regular file only only (not for a directory
+ that has the executable permission).
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Further work on operator calls in ASIS.
+
+2013-09-10 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment
+ update.
+
+2013-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * aspects.ads, sem_ch13.adb: Minor reformatting.
+ * adaint.c (__gnat_set_close_on_exec): Add comment documenting
+ that this routine is shared between OS_Lib and Sockets.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): Ignore pragma if Is_Ignored set.
+ * sem_ch13.adb (Make_Aitem_Pragma): Set Is_Checked if needed.
+ * sem_prag.adb (Check_Kind): Moved from spec (Analyze_Pragma):
+ Make sure Is_Ignored/Is_Checked are set right (Analyze_Pragma,
+ case Check): Ditto (Check_Applicable_Policy): Handle
+ Statement_Assertion case Throughout, set and check the Is_Checked
+ flag as appropriate.
+ * sem_prag.ads (Check_Kind): Moved to body.
+ * sinfo.ads, sinfo.adb (Is_Checked): New flag.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads (Delay_Type): New type (Aspect_Delay): New table.
+ * einfo.adb (Has_Delayed_Rep_Aspects): New flag
+ (May_Inherit_Delayed_Rep_Aspects): New flag (Rep_Clause): Removed
+ (use Get_Attribute_Representation_Clause).
+ * einfo.ads (Has_Delayed_Rep_Aspects): New flag
+ (May_Inherit_Delayed_Rep_Aspects): New flag
+ * freeze.adb: Minor reformatting
+ * sem_ch13.adb (Analyze_Aspect_Speficifications): Redo
+ handling of delayed evaluation, including optimizing some cases
+ and avoiding delays.
+ (Analyze_Aspects_At_Freeze_Point): Now
+ handled inheriting delayed rep aspects for type derivation case.
+ (Inherit_Delayed_Rep_Aspects): New procedure
+ * sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Now handled
+ inheriting delayed rep aspects for type derivation case.
+ * sem_ch3.adb (Build_Derived_Type): Set
+ May_Inherit_Derived_Rep_Aspects if parent type flag
+ Has_Delayed_Rep_Aspects is set
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Finalize): Don't delete real errors with specific
+ warning control.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Timed_Entry_Call,
+ Expand_N_Conditional_Entry_Call, Expand_N_Asynchronous_Select):
+ Handle properly a trigger that is a call to a primitive operation
+ of a type that implements a limited interface, if the type itself
+ is not limited.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sinfo.ads, exp_ch9.adb, sem_prag.adb, sem_ch12.adb,
+ exp_ch4.adb, sprint.adb: Minor reformatting.
+
+2013-09-10 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads: Document splitting of pre/post in N_Contract description.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Multiply): If the operation is of the
+ form X * 2 ** N and it has been marked Is_Power_Of_2_For_Shift,
+ add a mod operation if the result type is a binary modular type.
+
+2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Add local
+ variable Context. Remove local variable Subp_Id. Start the
+ context traversal from the current subprogram rather than the
+ current scope. Update the scope traversal and error reporting.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Timed_Entry_Call): New procedure
+ Rewrite_Triggering_Statements, to encapsulate the statements that
+ follow the trigger of the entry call. This procedure is needed
+ when the trigger is a dispatching call, because the expansion
+ requires several copies of those statements. The procedure is
+ more efficient, and preserves non-local references when the
+ construct is within an instance.
+
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): If the
+ instantiation is a compilation unit, analyze aspects before
+ analyzing the package declaration for the instance.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): If the
+ corresponding node is a package instantiation, insert generated
+ pragmas at the head of visible declarations.
+ * sem_prag.adb (Analyze_Pragma, case Preelaborate): In an instance
+ do not ignore the pragma if it comes from an aspect specification
+ in the instance, and not from the generic unit.
+ * sprint.adb (Sprint_Node_Actual): For a package declaration that
+ is an instantiation, print aspects after declaration.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, sem_prag.adb, rtsfind.ads: Minor reformatting.
+
+2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Get_SPARK_Mode_Id): Handle the
+ case where the pragma may appear without an argument.
+ (Analyze_Global_List): Add expanded_name to the list of constructs
+ that denote a single item.
+ (Collect_Global_List): Add expanded_name to the list of constructs
+ that denote a single item.
+
+2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Apply_Accessibility_Check): Add local constant
+ Pool_Id and local variables Fin_Call and Free_Stmt. Finalize
+ and deallocate a heap-allocated class-wide object after it
+ has been determined that it violates the accessibility rules.
+ * rtsfind.ads: Add new RTU_Id for System.Memory. Add new RE_Id
+ and entry in RE_Unit_Table for RE_Free.
+
+2013-09-01 Eric Botcazou <ebotcazou@adacore.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR ada/58239
+ * gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++.
+ (GCC_LINK): Use CXX instead of CC.
+ * gcc-interface/Make-lang.in (CXX_LFLAGS): New.
+ (ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native.
+
+2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
+ sets of derived types in ASIS mode.
+
+2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace True with true.
+ (is_cplusplus_method): Likewise, and False with false.
+ (components_need_strict_alignment): Likewise.
+ * gcc-interface/misc.c (gnat_init_gcc_fp): Likewise.
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Likewise.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (add_cleanup): Likewise.
+ (Sloc_to_locus1): Likewise.
+ (Sloc_to_locus): Likewise.
+ (set_expr_location_from_node): Likewise.
+ * gcc-interface/utils.c (potential_alignment_gap): Likewise.
+
+2013-08-13 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/trans.c (set_end_locus_from_node): Clear column info
+ for the end_locus of a block if it does not come from an End_Label.
+
+2013-08-13 Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
+ there is no End_Label, attach cleanup actions to the sloc of the HSS
+ node instead.
+ (Exception_Handler_to_gnu_zcx): Associate cleanup actions with the sloc
+ of the handler itself.
+ (add_cleanup): Clear column information in sloc of cleanup actions.
+ (Sloc_to_locus1): New static function.
+ (Sloc_to_locus): Call it.
+ (set_expr_location_from_node1): New static function.
+ (set_expr_location_from_node): Call it.
+
+2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Call_to_gnu): Deal with specific conditional
+ expressions for misaligned actual parameters.
+
+2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (can_equal_min_or_max_val_p): Be prepared for
+ values outside of the range of the type.
+
+2013-08-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_atomic_load): Do a mere view-conversion
+ to the original type before converting to the result type.
+ (build_atomic_store): First do a conversion to the original type before
+ view-converting to the effective type, but deal with a padded type
+ specially.
+
+2013-08-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (TOOLS_LIBS): Pick C object files from the
+ compiler build and use standard library variables.
+ (../../vxaddr2line$(exeext): Do not depend on targext.o and adjust.
+ (gnatmake-re): Do not depend on targext.o.
+ (gnatlink-re): Do not depend on link.o and targext.o.
+ (../../gnatmake$(exeext): Likewise.
+ (../../gnatlink$(exeext): Likewise.
+
+2013-07-21 Ondřej Bílka <neleai@seznam.cz>
+
+ * gcc-interface/gigi.h: Fix typos.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+ * gnat_rm.texi: Likewise.
+ * gnat_ugn.texi: Likewise.
+ * raise-gcc.c: Likewise.
+ * sigtramp-ppcvxw.c: Likewise.
+ * sysdep.c: Likewise.
+ * terminals.c: Likewise.
+
+2013-07-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/57934
+ * gcc-interface/ada.h (CAT): Fix typo.
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Get_Pragma): Handle the retrieval of delayed
+ pragmas stored in N_Contract nodes.
+ * einfo.ads (Get_Pragma): Update the comment on usage.
+ * sem_prag.adb (Check_Precondition_Postcondition): Retain a copy
+ of the pragma when it applies to a body that acts as a spec. The
+ copy is preanalyzed and chained on the contract of the body.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.adb: Minor comment fix.
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Check_Ghost_Subprogram_Call): Do not check the placement
+ of a Ghost function call when the enclosing context is being
+ preanalyzed.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call, Process_Formals): If the
+ expression in a return statement is a numeric literal, qualify
+ it with the return type for proper resolution.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * sem.ads: Minor comment updates.
+ * s-restri.ads, exp_ch6.adb, lib-load.ads, exp_ch3.adb, sem_ch10.adb:
+ Minor reformatting.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
+ for Restriction_Set.
+ * gnat_rm.texi: Add missing menu entry for Attribute Ref Add
+ documentation for attribute Restriction_Set.
+ * lib-writ.adb (Write_With_Lines): Generate special W lines
+ for Restriction_Set.
+ * lib-writ.ads: Document special use of W lines for
+ Restriction_Set.
+ * lib.ads (Restriction_Set_Dependences): New table.
+ * par-ch4.adb (Is_Parameterless_Attribute): Add Loop_Entry to
+ list (Scan_Name_Extension_Apostrophe): Remove kludge test for
+ Loop_Entry (Scan_Name_Extension_Apostrophe): Handle No_Dependence
+ for Restricton_Set.
+ * restrict.adb (Check_SPARK_Restriction): Put in Alfa order
+ (OK_No_Dependence_Unit_Name): New function.
+ * restrict.ads (OK_No_Dependence_Unit_Name): New function.
+ * rtsfind.adb: Minor reformatting Minor code reorganization.
+ * sem_attr.adb (Analyze_Attribute): Add processing for
+ Restriction_Set.
+ * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+ Remove Check_Unit_Name and use new function
+ OK_No_Dependence_Unit_Name instead.
+ * sinfo.ads: Minor comment updates.
+ * snames.ads-tmpl: Add entry for Restriction_Set attribute.
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Apply_Accessibility_Check): Remove local constant
+ Pool_Id and local variable Free_Stmt. Do not deallocate the faulty
+ object as "free" is not available on all targets/profiles.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Handle
+ Storage_Size aspect for task type in case discriminant is
+ referenced.
+ (Analyze_Attribute_Definition_Clause): Do not flag Storage_Size
+ attribute definition clause as obsolescent if from aspect.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add documentation for Img returning a function.
+ * par-prag.adb: Minor reformatting.
+ * restrict.adb: Minor reformatting and code reorganization.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: add guard to ASIS transform.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Asynchronous_Select): If the trigger
+ of the asynchronous select is a dispatching call, transform the
+ abortable part into a procedure, to avoid duplication of local
+ loop variables that may appear within.
+
+2013-07-08 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Update the documentation of suffixes in package
+ Naming.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Conforming_Types): Anonymous_access_to_subprograsm
+ types are type conformant if the designated type of one is
+ protected and the other is not. Convention only matters when
+ checking subtype conformance.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate
+ back the fully resolved operands to the original function call
+ so that all semantic information remains available to ASIS.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb: minor reformatting (remove obsolete comment).
+ * sem_ch9.adb: improve error message on illegal trigger.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb: Minor reformatting.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * targparm.adb (Get_Target_Parameters): Recognize pragma
+ Partition_Elaboration_Policy.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Minor update to mention partition elaboration policy.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Comple_Object_Operation): Revert previous change.
+ (Analyze_Indexed_Component_Form): In ASIS mode, if node has been
+ transformed but not rewritten as a function call (as is the case
+ in a generic), analyze it as such.
+
+2013-07-08 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Minor rewording: add missing word "operators"
+ in documentation for restriction No_Direct_Boolean_Operator.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Set_Msg_Txt): No longer sets Is_Style_Msg,
+ Is_Warning_Msg, or Is_Unconditional_Msg (all are set elsewhere
+ now).
+ * errout.ads: Insertions ! and !! no longer have to be at the
+ end of the message, they can be anywhere in the message.
+ * erroutc.adb (Test_Style_Warning_Serious_Unconditional_Msg):
+ Replaces Test_Style_Warning_Serious_Msg
+ * erroutc.ads (Has_Double_Exclam): New flag New comments for
+ existing flags (Test_Style_Warning_Serious_Unconditional_Msg):
+ Replaces Test_Style_Warning_Serious_Msg
+ * errutil.adb (Test_Style_Warning_Serious_Unconditional_Msg):
+ Replaces Test_Style_Warning_Serious_Msg
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+ Recognize SPARK_05 as synonym for SPARK in restrictions pragma.
+ * restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only
+ referenced there.
+ * scng.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb,
+ sem_res.adb, sem_util.adb: Use restriction SPARK_05 instead of SPARK.
+ * snames.ads-tmpl (Name_No_Obsolescent_Features): New entry.
+
+2013-07-08 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Check_Files): Use a response file for gnatls
+ when possible.
+
+2013-07-08 Gary Dismukes <dismukes@adacore.com>
+
+ * freeze.adb: Minor typo fixes.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document
+ obsolete recognition of SPARK Document all other obsolete synonyms
+ for old restrictions.
+ * restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces
+ SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym
+ for SPARK_05.
+ * restrict.ads: Restriction SPARK_05 replaces SPARK.
+ * s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK
+ as synonym for SPARK_05.
+ * sem_prag.adb: Minor reformatting.
+ * snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_dim.adb: Minor error message change.
+ * freeze.adb (Freeze_Entity, array type case): Extend handling
+ of Implicit_Packing to handle multi-dimensional array case.
+ * gnat_rm.texi: Update doc on Implicit_Packing.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Complete_Object_Operation): In ASIS mode, if
+ the parent node is a selected component and the analysis as a
+ call is successful, set the type of the selector in the parent
+ node for subsequent checks, because the rewriting of the node
+ does not take place during pre-analysis.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb, exp_ch3.adb: Minor reformatting.
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): When comparing two
+ Bounded_Strings, use the predefined equality function of the
+ root Super_String type.
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Create_Alternative): Removed.
+ (Expand_N_If_Expression): Remove constant
+ In_Case_Or_If_Expression. Add local variable
+ Ptr_Typ. Inspect the "then" and "else" action lists
+ for transient controlled objects and generate code to
+ finalize them. (Is_Controlled_Function_Call): Removed.
+ (Process_Action): Update the comment on usage. Update the call
+ to Process_Transient_Object. There is no need to continue the
+ traversal of the object itself.
+ (Process_Actions): New routine.
+ (Process_Transient_Object): Moved to the top level of Exp_Ch4. Add
+ a new formal and update the related comment on usage.
+ * exp_util.adb (Within_Case_Or_If_Expression): Start the search
+ from the parent of the node.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * a-cusyqu.ads, a-cbprqu.ads, s-interr.ads, a-cuprqu.ads,
+ a-cbsyqu.ads: Minor reformatting (proper formatting of overriding).
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Attribute_Renaming): Treat 'Img as an attribute
+ that can be renamed as a function.
+
+2013-07-08 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads: Document target dependency: FIONBIO may or may not
+ be inherited from listening socket by accepted socket.
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Apply_Accessibility_Check): Do not deallocate the object
+ on targets that can't deallocate.
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Freeze_Type): Generate a
+ subpools-related accessibility check only on profiles that
+ include the corresponding library unit.
+
+2013-07-08 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch8.adb: Minor typo fixes.
+
+2013-07-08 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Save_Scope_Stack): Adding documentation.
+ (Restore_Scope_Stack): Remove the elements of the list when the
+ visibility of each entity is restored.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, sem.ads, sem_util.adb: Minor reformatting.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb, sem_ch8.ads: Minor reformatting.
+
+2013-07-08 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat_rm.texi: Minor reformatting and rewording for consistency.
+
+2013-07-08 Bob Duff <duff@adacore.com>
+
+ * exp_ch3.adb (Build_Master): If Desig_Type is an incomplete
+ view coming from a limited-with'ed package, use the nonlimited
+ view in case it has tasks.
+
+2013-07-08 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.ad[sb] (Save_Scope_Stack): Modified to return the list
+ of entities which have been temporarily removed from immediate
+ visibility.
+ (Restore_Scope_Stack): Modified to receive an
+ additional parameter with the list of entities whose immediate
+ visibility must be restored.
+ * sem.adb (Do_Analyze): Use new version of
+ Save_Scope_Stack/Restore_Scope_Stack
+ * sem_ch12.adb (Inline_Instance_Body): Use new version of
+ Save_Scope_Stack and Restore_Scope_Stack
+
+2013-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Remove
+ variable Unit_Prag. Remove the check on duplicate mode for the
+ configuration form of the pragma.
+ (Redefinition_Error): Removed.
+
+2013-07-08 Robert Dewar <dewar@adacore.com>
+
+ * lib.ads, gnat_rm.texi, einfo.ads, sem_ch13.adb: Minor reformatting
+ and editing.
+
+2013-07-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): In ASIS mode,
+ pre-analyze only the original expression attached to the source
+ aspect, not the relocated expression of the pragma, to prevent
+ malformed trees in ASIS mode.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Revert previous
+ patch: the expression in the aspect for pre/post must be relocated
+ to the pragma for proper analysis.
+
+2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add an entry for SPARK_Mode in table Canonical_Aspect.
+ * aspects.ads: Add an entry for SPARK_Mode in tables Aspect_Id,
+ Aspect_Argument, Aspect_Names.
+ * atree.adb (Node32): New routine.
+ (Set_Node32): New routine.
+ * atree.ads (Node32): New routine.
+ (Set_Node32): New routine.
+ * einfo.adb: Node32 is now used as SPARK_Mode_Pragmas.
+ (Set_SPARK_Mode_Pragmas): New routine.
+ (SPARK_Mode_Pragmas): New routine.
+ (Write_Field32_Name): Add and entry for SPARK_Modes.
+ * einfo.ads: Add attribute SPARK_Mode_Pragmas along with usage
+ in various entities.
+ (Set_SPARK_Mode_Pragmas): New routine and
+ pragma Inline.
+ (SPARK_Mode_Pragmas): New routine and pragma Inline.
+ * gnat_rm.texi: Add sections explaining the syntax and semantics
+ of aspect/pragma SPARK_Mode.
+ * gnat_ugn.texi: Add pragma SPARK_Mode to the list of
+ configuration pragmas.
+ * lib.adb (Set_SPARK_Mode_Pragma): New routine.
+ (SPARK_Mode_Pragma): New routine.
+ * lib.ads: Alphabetize the comments on fields of record
+ Unit_Record. Add new field SPARK_Mode_Pragma along with
+ comment on its usage. Update the layout of record Unit_Record.
+ (Set_SPARK_Mode_Pragma): New routine and pragma Inline.
+ (SPARK_Mode_Pragma): New routine and pragma Inline.
+ * lib-load.adb (Create_Dummy_Package_Unit): Initialize
+ field SPARK_Mode_Pragma.
+ (Load_Main_Source): Initialize field SPARK_Mode_Pragma.
+ (Load_Unit): Initialize field SPARK_Mode_Pragma.
+ * lib-writ.adb (Add_Preprocessing_Dependency): Initialize field
+ SPARK_Mode_Pragma.
+ (Ensure_System_Dependency): Initialize field SPARK_Mode_Pragma.
+ * opt.ads: Alphabetize verification flags. Store the
+ compilation-wide SPARK mode in variable Global_SPARK_Mode.
+ * par-prag.adb: Pragma SPARK_Mode does not need special processing
+ by the parser.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
+ SPARK_Mode into a pragma.
+ (Check_Aspect_At_Freeze_Point): Aspect SPARK_Mode does not need
+ delayed processing.
+ * sem_prag.adb: Add an entry for SPARK_Mode in table Sig_Flags.
+ (Analyze_Pragma): Add processing for pragma SPARK_Mode.
+ (Get_SPARK_Mode_Id): New routine.
+ (Is_Elaboration_SPARK_Mode): New routine.
+ (Is_Private_SPARK_Mode): New routine.
+ * sem_prag.ads (Get_SPARK_Mode_Id): New routine.
+ (Is_Elaboration_SPARK_Mode): New routine.
+ (Is_Private_SPARK_Mode): New routine.
+ * sinfo.ads: Update the comment on the usage of field Next_Pragma.
+ * snames.ads-tmpl: Add new predefined name for SPARK_Mode and
+ Auto. Add new pragma Id for SPARK_Mode.
+ * types.ads: Add new type SPARK_Mode_Id.
+
+2013-07-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For
+ pre/postconditions copy the expression to the generated pragma,
+ to avoid sharing between the original aspect and the pragma node,
+ because in ASIS_Mode both will be independently analyzed.
+
+2013-07-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Variant_Record_Equality): Add pairs of
+ formals for each discriminant of an unchecked union.
+ (Make_Eq_Case): Suprogram accepts a list of discriminants. Nested
+ variants are supported. New helper function Corresponding_Formal.
+ * exp_ch4.adb (Build_Equality_Call): For unchecked unions,
+ loop through discriminants to create list of inferred values,
+ and modify call to equality routine accordingly.
+
+2013-07-05 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
+ a-cforse.ads, a-cofove.ads: Add preconditions when needed +
+ container types are not tagged any more.
+
+2013-07-05 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For an object with captured
+ initialization statements, do not remove Init_Stmts from the
+ enclosing list, as Freeze_All might rely on it to know where to
+ stop freezing.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb, a-cfdlli.ads, a-ngelfu.ads, s-bignum.adb: Minor
+ reformatting.
+
+2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): Use the full view
+ when the base type is private.
+
+2013-07-05 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads: Add preconditions when needed.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting.
+
+2013-07-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): Use
+ Generate_Reference_To_Formals.
+ * lib-xref.adb (Generate_Reference_To_Formals): In the case of
+ access to subprograms, the formals are found in the designated
+ subprogram type.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document that comments can be lined up with
+ previous non-blank line.
+ * styleg.adb (Check_Comment): Allow indentation to match previous
+ non-blank line (Same_Column_As_Previous_Line): New function
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Update doc on missing pragmas.
+ * sem_ch12.adb: Minor comment additions.
+
+2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Ensure that
+ Contract_Cases, Depends and Global are analyzed when they apply
+ to a subprogram compilation unit. The pragmas are all added
+ unconditionally to the construct's contract. This ensures that
+ proof tools can locate the pragmas.
+
+2013-07-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Freeze_Actual_Profile): An instance within
+ a generic unit does not freeze a generic private type of the
+ enclosing generic. This rule must also apply to a type derived
+ from a generic private type.
+
+2013-07-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi: Add missing documentation for pragmas.
+
+2013-07-05 Yannick Moy <moy@adacore.com>
+
+ * sem_ch12.adb: Minor comment.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document that -gnatR and -gnatD cannot be used
+ together.
+ * switch-c.adb: Do not allow -gnatD and -gnatR to both be
+ specified.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add missing documentation for pragmas.
+ * sem_ch8.adb: Minor reformatting.
+ * gnat_ugn.texi: Document that -gnatR and -gnatD cannot be used
+ together.
+
+2013-07-05 Yannick Moy <moy@adacore.com>
+
+ * sem_ch12.ads, sem_ch12.adb (Need_Subprogram_Instance_Body): Force
+ instance of subprogram body in SPARK mode, by testing Expander_Active
+ (set in SPARK mode) instead of Full_Expander_Active (not set in
+ SPARK mode).
+ * sem_ch8.adb: Minor reformatting.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Remove test of obsolete flag
+ Propagate_Exceptions, and associated useless code that did
+ nothing.
+ * gnat_rm.texi: Add documentation for obsolete pragma
+ Propagate_Exceptions.
+ * opt.ads (Propagate_Exceptions): Obsolete flag removed.
+ * sem_prag.adb (Analyze_Pragma, case Propagate_Exceptions):
+ Remove useless and obsolete setting of Propagate_Exceptions flag.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, sem_prag.adb: Minor comment/text fixes.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add missing doc for various pragmas.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, sem_ch12.adb, par-ch5.adb: Minor reformatting.
+ * gnat_rm.texi: Document pragma Profile_Warnings.
+ * restrict.ads, sem_prag.adb: Minor reformatting.
+
+2013-07-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
+ a formal subprogram that was defaulted in the formal package.
+
+2013-07-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Ignore
+ N_Implicit_Label_Declaration nodes.
+
+2013-07-05 Robert Dewar <dewar@adacore.com>
+
+ * a-cfhase.adb, sem_prag.adb, a-cfhama.adb: Minor reformatting.
+
+2013-07-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): Check that name in function
+ call is a valid entity name before preserving entity in generic
+ copy.
+
+2013-07-05 Thomas Quinot <quinot@adacore.com>
+
+ * par-ch5.adb: Minor reformatting.
+
+2013-07-05 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor clarification to documentation for
+ N_Implicit_Label_Declaration.
+
+2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-except-2005.adb, a-except.adb: Add constant Rmsg_17. Correct the
+ values of all remaining constants.
+ (Rcheck_35): New routine along with pragmas Export and No_Return.
+ (Rcheck_PE_Aliased_Parameters): New routine along with pragmas
+ Export and No_Return.
+ (Rcheck_PE_All_Guards_Closed,
+ Rcheck_PE_Bad_Predicated_Generic_Type,
+ Rcheck_PE_Current_Task_In_Entry_Body,
+ Rcheck_PE_Duplicated_Entry_Address, Rcheck_PE_Explicit_Raise,
+ Rcheck_PE_Implicit_Return, Rcheck_PE_Misaligned_Address_Value,
+ Rcheck_PE_Missing_Return, Rcheck_PE_Overlaid_Controlled_Object,
+ Rcheck_PE_Potentially_Blocking_Operation
+ Rcheck_PE_Stubbed_Subprogram_Called,
+ Rcheck_PE_Unchecked_Union_Restriction,
+ Rcheck_PE_Non_Transportable_Actual, Rcheck_SE_Empty_Storage_Pool,
+ Rcheck_SE_Explicit_Raise, Rcheck_SE_Infinite_Recursion,
+ Rcheck_SE_Object_Too_Large, Rcheck_PE_Finalize_Raised_Exception):
+ Update the use of Rmsg_XX.
+ (Rcheck_17, Rcheck_18, Rcheck_19,
+ Rcheck_20, Rcheck_21, Rcheck_22, Rcheck_23, Rcheck_24, Rcheck_25,
+ Rcheck_26, Rcheck_27, Rcheck_28, Rcheck_29, Rcheck_30, Rcheck_31,
+ Rcheck_32, Rcheck_33, Rcheck_34, Rcheck_35): Update corresponding
+ renamed subprograms.
+ * checks.adb: Add with and use clause for Stringt.
+ (Apply_Parameter_Aliasing_Checks): Make constant Loc visible in
+ all subprograms of Apply_Parameter_Aliasing_Checks. Remove local
+ variable Cond. Initialize Check at the start of the routine. Use
+ routine Overlap_Check to construct a simple or a detailed run-time
+ check. Update the creation of the simple check.
+ (Overlap_Check): New routine.
+ * exp_ch11.adb (Get_RT_Exception_Name): Add a value for
+ PE_Aliased_Parameters.
+ * types.ads: Add new enumeration literal
+ PE_Aliased_Parameters. Update the corresponding integer values
+ of all RT_Exception_Code literals.
+ * types.h: Add new constant PE_Aliased_Parameters. Correct the
+ values of all remaining constants.
+
+2013-07-05 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor renaming of SPARK into SPARK 2005 in
+ documentation.
+
+2013-07-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): For a class-wide
+ condition, when replacing the name of a formal by a conversion
+ to the class-wide type, exempt selector names that appear in
+ parameter associations.
+
+2013-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): Delete.
+ * gcc-interface/gigi.h (annotate_object): Adjust prototype.
+ (convert_vms_descriptor): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_param): Do not pass fat pointer
+ types by double dereference.
+ (annotate_object): Remove BY_DOUBLE_REF parameter and adjust.
+ (gnat_to_gnu_entity): Adjust calls to annotate_object.
+ * gcc-interface/trans.c (Identifier_to_gnu): Do not deal with double
+ dereference.
+ (Call_to_gnu): Likewise.
+ (build_function_stub): Adjust call to convert_vms_descriptor.
+ (Subprogram_Body_to_gnu): Adjust call to annotate_object.
+ * gcc-interface/utils.c (convert_vms_descriptor): Remove BY_REF
+ parameter and adjust.
+
+2013-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (arm% androideabi): Robustify.
+
+2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: (gnat_to_gnu_entity): In ASIS mode, do not
+ check that access types have a set size.
+
+2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (vinfo_t): New type and associated vector.
+ (components_to_record): Change return type to bool.
+ Lay out the variants in two passes. Do not force a specific layout for
+ the variant part if the variants do not have a representation clause.
+ Take the alignment of the variant part into account when laying out
+ variants without rep clause in a record type with a partial rep clause.
+ (create_rep_part): Do not set the position of the field.
+
+2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Last_Bit>: Add kludge
+ to avoid generating an overflow for -1.
+
+2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_type_decl): Adjust prototype.
+ (create_label_decl): Complete prototype.
+ (process_attributes): Declare.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust multiple calls to
+ create_type_decl throughout.
+ <E_Enumeration_Type>: Do the layout of the type manually and call
+ process_attributes on it. Reindent.
+ <E_Enumeration_Subtype>: Minor tweak.
+ <E_Floating_Point_Subtype>: Reindent.
+ <E_Array_Subtype>: Call process_attributes on the array type built
+ for a packed array type.
+ <E_Record_Type>: Call process_attributes on the type.
+ <E_Record_Subtype>: Likewise.
+ <E_Access_Type>: Likewise.
+ <E_Subprogram_Type>: Likewise.
+ Likewise for all types at the end of the processing.
+ * gcc-interface/utils.c (make_aligning_type): Adjust call to
+ create_type_decl.
+ (maybe_pad_type): Likewise.
+ (create_index_type): Likewise.
+ (create_type_decl): Remove attr_list parameter and associated code.
+ (create_var_decl_1): Call process_attributes on the variable.
+ (process_attributes): Take a pointer to the object and add in_place
+ and gnat_node parameters and adjust throughout.
+ <ATTR_MACHINE_ATTRIBUTE>: Pass ATTR_FLAG_TYPE_IN_PLACE only on demand
+ and set the input location.
+ Zap the attribute list at the end.
+ (create_subprog_decl): Call process_attributes on the subprogram.
+ (build_unc_object_type): Adjust call to create_type_decl.
+ (handle_vector_type_attribute): Remove dead code.
+
+2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (make_aligning_type): Adjust prototype.
+ * gcc-interface/utils.c (make_aligning_type): Take GNAT_NODE parameter
+ for the position of the associated TYPE_DECL.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to above.
+ * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
+
+2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not prematurely
+ elaborate the full view of a type with a freeze node.
+ * gcc-interface/trans.c (process_type): Add explicit predicate.
+
+2013-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Always build the
+ UNC variable for aliased objects with unconstrained nominal subtype.
+
+2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (gnat_init_gcc_fp): Declare.
+ * gcc-interface/trans.c (gigi): Call it.
+ * gcc-interface/misc.c (gnat_init_gcc_fp): New function.
+
+2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (enum inline_status_t): New type.
+ (create_subprog_decl): Adjust prototype.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Adjust
+ calls to create_subprog_decl.
+ (get_minimal_subprog_decl): Likewise.
+ * gcc-interface/trans.c (gigi): Likewise.
+ (build_raise_check): Likewise.
+ (establish_gnat_vms_condition_handler): Likewise.
+ (Compilation_Unit_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+ * gcc-interface/utils.c (create_subprog_decl): Change inline_flag
+ parameter to inline_status and implement for suppressed inlining.
+
+2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (LOOP_STMT_NO_UNROLL): New define.
+ (LOOP_STMT_UNROLL): Likewise.
+ (LOOP_STMT_NO_VECTOR): Likewise.
+ (LOOP_STMT_VECTOR): Likewise.
+ * gcc-interface/trans.c (struct loop_info_d): Replace label field
+ with stmt field.
+ (Pragma_to_gnu) <Pragma_Loop_Optimize>: New case.
+ (Loop_Statement_to_gnu): Save the loop statement onto the stack
+ instead of the label.
+ (gnat_to_gnu) <N_Exit_Statement>: Retrieve the loop label.
+
+2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c: Include diagnostic.h and opts.h.
+ (Pragma_to_gnu) <Pragma_Warnings>: New case.
+
+2013-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Constify
+ a handful of local variables.
+ For a derived untagged type that renames discriminants, change the type
+ of the stored discriminants to a subtype with the bounds of the type
+ of the visible discriminants.
+ (build_subst_list): Rename local variable.
+
+2013-05-16 Jason Merrill <jason@redhat.com>
+
+ * gcc-interface/Make-lang.in (gnat1$(exeext)): Use link mutex.
+
+2013-05-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR ada/57188
+ * gcc-interface/Makefile.in: Allow for amd64 solaris2.
+
+2013-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/56474
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
+ int_const_binop to shift bounds by 1 when they are integer constants.
+
+2013-04-25 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Exclude s-init.ad{s,b}
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Update the comment associated
+ with the call to Check_Expression_Against_Static_Predicate.
+ * sem_ch3.adb (Analyze_Object_Declaration): Update the comment
+ associated with the call to Check_Expression_Against_Static_Predicate.
+ * sem_util.adb (Check_Expression_Against_Static_Predicate):
+ Broaden the check from a static expression to an expression with
+ a known value at compile time.
+ * sem_util.ads (Check_Expression_Against_Static_Predicate): Update
+ comment on usage.
+
+2013-04-25 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, cases Position,
+ First_Bit, and Last_Bit): Fix incorrect test in implementation of
+ RM 2005 13.5.2(3/2).
+
+2013-04-25 Claire Dross <dross@adacore.com>
+
+ * a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cfhama.adb,
+ a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads
+ (Query_Element): Removed.
+ (Update_Element): Removed.
+ (Insert): The version with no New_Item specified is removed.
+ (Iterate): Removed.
+ (Write): Removed.
+ (Read): Removed.
+ Every check of fields Busy and Lock has been removed.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Contract_Cases): Remove
+ call to S14_Pragma (Find_Related_Subprogram): Require proper
+ placement in subprogram body (Find_Related_Subprogram): Detect
+ duplicates for all cases (Find_Related_Subprogram): Handle case
+ of spec nested inside body.
+
+2013-04-25 Arnaud Charlet <charlet@adacore.com>
+
+ * par-prag.adb: Fix typo.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): If the type has a static
+ predicate and the expression is also static, check whether the
+ expression satisfies the predicate.
+ * sem_ch3.adb (Analyze_Object_Declaration): If the type has a
+ static predicate and the expression is also static, see if the
+ expression satisfies the predicate.
+ * sem_util.adb: Alphabetize several routines.
+ (Check_Expression_Against_Static_Predicate): New routine.
+ * sem_util.ads (Check_Expression_Against_Static_Predicate): New routine.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document Reason argument for pragma Warnings.
+ * par-prag.adb: Handle Reason parameter for pragma Warnings.
+ * sem_prag.adb (Analyze_Pragma, case Warnings): Allow Reason argument.
+ * snames.ads-tmpl (Name_Reason): New name entry.
+
+2013-04-25 Yannick Moy <moy@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK_N_In): Remove procedure.
+ (Expand_SPARK): Remove special expansion for membership tests.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Update all places
+ that should use constant Base_Typ. When building an invariant
+ check, account for invariants coming from the base type. Prevent
+ the creation of a junk invariant check when the related object
+ is of an array type and it is initialized with an aggregate.
+ * exp_util.adb (Make_Invariant_Call): Typ is now a variable. Use
+ the base type to create an invariant call when the type of the
+ expression is a composite subtype.
+
+2013-04-25 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * a-cborse.adb: Fix minor typo.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Different_Generic_Profile): A spec and body
+ match in an instance if a subtype declaration that renames a
+ generic actual with the same name appears between spec and body.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Expand_N_Aggregate): Use special circuitry to
+ fold strings with a single others choice only if there are no
+ expressions in the aggregate.
+
+2013-04-25 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Update doc on Ada 2012 default mode.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb: Add with and use clause for Stringt.
+ (Expand_Contract_Cases): Moved from sem_ch6. Add formal parameters
+ Decls and Stmts along with comments on their usage.
+ * exp_ch6.ads (Expand_Contract_Cases): Moved from sem_ch6.
+ * sem_ch6.adb (Expand_Contract_Cases): Moved to exp_ch6.
+ (Process_Contract_Cases): Update the call to Expand_Contract_Cases.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat_rm.texi: Minor editing, to clarify use of dimension aspects.
+ * sem_util.adb (Is_OK_Variable_For_Out_Formal): Reject an
+ aggregate for a packed type, which may be converted into an
+ unchecked conversion of an object.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor code reorganization (correct misspelling
+ Restiction).
+ * sem_util.adb, aspects.ads, sem_ch6.adb: Minor reformatting.
+ * gnat_rm.texi: Document impl-defined aspects.
+ * sem_dim.adb, sem_dim.ads, gnat_ugn.texi, s-dimmks.ads: Minor
+ reformatting.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Set_Abstract_States): The attribute now applies
+ to generic packages.
+ * sem_ch4.adb (Referenced): Moved to sem_util.
+ * sem_ch7.adb (Unit_Requires_Body): A [generic] package with
+ a non-null abstract state needs a body.
+ * sem_prag.adb (Analyze_Depends_In_Decl_Part): Update the calls
+ to Collect_Subprogram_Inputs_Outputs.
+ (Analyze_Global_Item): Verify the proper usage of an item with mode
+ In_Out or Output relative to the enclosing context.
+ (Analyze_Pragma): Abstract_State can now be applied to a generic
+ package. Do not reset the Analyzed flag for pragmas Depends and Global
+ as this is not needed.
+ (Appears_In): Moved to library level.
+ (Check_Mode_Restiction_In_Enclosing_Context): New routine.
+ (Collect_Subprogram_Inputs_Outputs): Moved to library level. Add
+ formal parameters Subp_Id, Subp_Inputs, Subp_Outputs and Global
+ seen along with comments on usage.
+ * sem_util.ads, sem_util.adb (Referenced): New routine.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Expand_Contract_Cases): Generate
+ detailed error messages only when switch -gnateE is in effect.
+
+2013-04-25 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Do not issue
+ an error for a possibly misplaced 'Result or 'Old attribute when
+ analyzing the aspect.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb, sem_util.adb, sem_ch4.adb: Minor reformatting.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression):
+ Add local variable Loop_Id. Verify that the loop variable
+ is used within the condition of the quantified expression.
+ (Referenced): New routine.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_case.adb (Analyze_Choices): Enhance the error message
+ given on a bad use of subtype predicate.
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Enhance
+ the error message given on a bad use of subtype predicate.
+ * sem_util.adb (Bad_Predicated_Subtype_Use): Add formal parameter
+ Suggest_Static. Emit an extra error message advising how to
+ remedy the bad use of the predicate if the context warrants it.
+ * sem_util.ads (Bad_Predicated_Subtype_Use): Add formal parameter
+ Suggest_Static along with a comment explaining its usage.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Further refinement
+ to checks for AI05-0125: the check for a hidden primitive that
+ may be overridden by the new declaration only applies if the
+ hidden operation is never declared. This is not the case if the
+ operation is declared in a parent unit.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Remove d.X and d.Y entries and documentation.
+ * exp_ch4.adb (Expand_N_If_Expression): Remove special code used
+ if expression with actions not available (now always available).
+ (Expand_Short_Circuit_Operator): Same change.
+ * gnat1drv.adb (Adjust_Global_Switches) Remove setting
+ Use_Expression_With_Actions flag, since this is now obsolete.
+ * opt.ads (Use_Expression_Actions): Removed (always True now).
+ * sinfo.ads: Minor comment updates.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): If an actual is an array
+ subtype whose base type is currently private, install full view
+ when compiling instance body.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Refine checks for
+ AI05-0125: the check for a hidden primitive that may be overridden
+ by the new declaration is only performed if the declaration comes
+ from source, and it must carry an explicit overriding indicator.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Abstract_States): The attribute now applies to
+ generic packages.
+ * sem_ch3.adb (Analyze_Object_Declaration): Check whether an
+ object declaration introduces an illegal hidden state.
+ * sem_prag.adb (Analyze_Abstract_State): Check whether a state
+ declaration introduces an illegal hidden state.
+ * sem_util.ads, sem_util.adb (Check_No_Hidden_State): New routine.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Is_Build_In_Place_Function_Call): The call may
+ be to a protected function, in which case the name in the call
+ is a selected component.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression):
+ Warn on a suspicious use of quantifier "some" when "all" was meant.
+ (No_Else_Or_Trivial_True): New routine.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb: Put back with/use for Namet.
+ (Get_Pragma): New name (wi new spec) for Find_Pragma.
+ * sem_ch6.adb: Change name Find_Pragma to Get_Pragma with
+ different interface.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Is_Visible_Component): In an instance all
+ components are visible.
+
+2013-04-25 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgbo.adb, a-crbtgo.adb (Generic_Equal): do not test for
+ tampering when container empty.
+ * a-crbtgk.adb (Ceiling, Find, Floor): ditto.
+ (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
+ ditto.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch12.adb: Move aspects from package specification to
+ generic package declaration.
+ * sem_ch12.adb: Analyze aspect specifications before building
+ and analyzing the generic copy, so that the generated pragmas
+ are properly taken into account.
+ * sem_ch13.adb: For compilation unit aspects that apply to a
+ generic package declaration, insert corresponding pragmas ahead
+ of visible declarations.
+ * sprint.adb: Display properly the aspects of a generic type
+ declaration.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb: Minor reformatting.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads: Extend documentation on use of Is_Private_Ancestor
+ for untagged types.
+ * sem_ch3.adb (Is_Visible_Component): Refine predicate for the
+ case of untagged types derived from private types, to reject
+ illegal selected components.
+
+2013-04-25 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test
+ for case of selecting from an unexpanded implicit dereference
+ and do not make a recursive call on such a prefix.
+
+2013-04-25 Doug Rupp <rupp@adacore.com>
+
+ * targparm.adb (VXF{_Str}): New tag for vaxfloat.
+ (Get_Target_Parameters): Handle VXF tag.
+ * targparm.ads (VAX_Float_On_Target): New boolean.
+ * system-vms-ia64.ads (VAX_Float): New boolean.
+ * frontend.adb (Frontend): Handle VAX float boolean.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads, einfo.adb: Remove with and use clauses for Namet.
+ (Find_Pragma): New routine.
+ * sem_util.ads, sem_util.adb (Find_Pragma): Moved to einfo.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Add_Call): Do not capture the nature of the inherited
+ predicate.
+ (Add_Predicates): Save the static predicate for diagnostics and error
+ reporting purposes.
+ (Process_PPCs): Remove local variables Dynamic_Predicate_Present and
+ Static_Predicate_Present. Add local variable Static_Pred. Ensure that
+ the expression of a static predicate is static.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Is_Ghost_Subprogram): Remove useless code.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor addition of index entry.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Check_Access_Invariants): Test whether an
+ invariant procedure is empty before generating a call to it.
+ (Has_Enabled_Predicate): New routine.
+ (Has_Null_Body): New routine.
+ (Process_PPCs): Test whether an invariant procedure is
+ empty before generating a call to it. Test whether predicates are
+ enabled for a particular type before generating a predicate call.
+ * sem_util.ads, sem_util.adb (Find_Pragma): New routine.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch7.adb, einfo.adb, repinfo.adb, snames.adb-tmpl,
+ snames.ads-tmpl: Minor reformatting.
+
+2013-04-25 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.adb: Minor reformatting.
+
+2013-04-25 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor fix to Loop_Variant doc (Loop_Entry allowed).
+ * s-tarest.adb: Minor reformatting.
+
+2013-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.ads, aspects.adb: Remove aspect Ghost from all relevant
+ tables.
+ * einfo.adb: Remove with and use clause for Aspects.
+ (Is_Ghost_Function): Removed.
+ (Is_Ghost_Entity): New routine.
+ (Is_Ghost_Subprogram): New routine.
+ * einfo.ads: Remove synthesized attribute Is_Ghost_Function
+ along with its uses in entities. Add synthesized attributes
+ Is_Ghost_Entity and Is_Ghost_Subprogram along with uses in related
+ entities.
+ (Is_Ghost_Function): Removed.
+ (Is_Ghost_Entity): New routine.
+ (Is_Ghost_Subprogram): New routine.
+ * par-prag.adb: Remove pragma Ghost from the processing machinery.
+ * repinfo.adb (List_Mechanisms): Add a value for convention Ghost.
+ * sem_attr.adb (Analyze_Access_Attribute): Update the check
+ for ghost subprograms.
+ * sem_ch4.adb (Analyze_Call): Update the check for calls
+ to ghost subprograms.
+ (Check_Ghost_Function_Call): Removed.
+ (Check_Ghost_Subprogram_Call): New routine.
+ * sem_ch6.adb (Check_Convention): Rewritten.
+ (Check_Overriding_Indicator): Remove the check for overriding
+ ghost functions.
+ (Convention_Of): New routine.
+ * sem_ch12.adb (Preanalyze_Actuals): Update the check for ghost
+ generic actual subprograms.
+ * sem_mech.adb (Set_Mechanisms): Add an entry for convention Ghost.
+ * sem_prag.adb: Remove the value for pragma Ghost from
+ table Sig_Flags.
+ (Analyze_Pragma): Remove the processing for pragma Ghost.
+ (Process_Convention): Emit an error when a ghost
+ subprogram attempts to override.
+ (Set_Convention_From_Pragma): Emit an error when a ghost subprogram
+ attempts to override.
+ * sinfo.ads: Clarify the usage of field Label_Construct.
+ * snames.adb-tmpl (Get_Convention_Id): Add an entry for
+ predefined name Ghost.
+ (Get_Convention_Name): Add an entry for convention Ghost.
+ * snames.ads-tmpl: Move predefined name Ghost to the sublist
+ denoting conventions. Add convention id Ghost. Remove pragma
+ id Ghost.
+
+2013-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Swap_Private_Dependents): Do no recurse on child
+ units if within a generic hierarchy.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): Add a predicate check on an
+ actual the related type has a predicate function.
+ * sem_ch3.adb (Constant_Redeclaration): Ensure that the related
+ type has an invariant procedure before building a call to it.
+ * sem_ch6.adb (Append_Enabled_Item): New routine.
+ (Check_Access_Invariants): Use routine
+ Append_Enabled_Item to chain onto the list of postconditions.
+ (Contains_Enabled_Pragmas): Removed.
+ (Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto
+ the list of postconditions.
+ (Invariants_Or_Predicates_Present): Removed.
+ (Process_PPCs): Partially reimplemented.
+
+2013-04-24 Sergey Rybin <rybin@adacore.com frybin>
+
+ * tree_io.ads: Update ASIS_Version_Number because of changes
+ in the way how entities are chained in a scope by means of
+ Next_Entity link.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
+ Storage_Size): If the clause is not from an aspect, insert
+ assignment to size variable of task type at the point of the
+ clause, not after the task definition, to prevent access before
+ elaboration in the back-end.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Document 'Loop_Entry.
+
+2013-04-24 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for
+ fall-back termination handlers from the parents, because they apply
+ only to dependent tasks.
+ * s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back
+ termination handlers because the environment task has no parent,
+ and if it defines one of these handlers it does not apply to
+ itself because they apply only to dependent tasks.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document 'Update attribute.
+ * sem_attr.adb (Analyze_Attribute, case Update): Remove call
+ to S14_Attribute (S14_Attribute): removed.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * interfac.ads: Add size clauses for IEEE_Float_32/64
+
+2013-04-24 Claire Dross <dross@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Remove
+ special assignment of Use_Expression_With_Actions for SPARK_Mode.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Check for the presence
+ of the dynamic predicate aspect when trying to determine if the
+ predicate of a type is non-static.
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
+ for the presence of the dynamic predicate aspect when trying to
+ determine if the predicate of a type is non- static.
+ * sem_ch13.adb (Add_Call): Capture the nature of the
+ inherited ancestor predicate.
+ (Build_Predicate_Functions): Update comments. Rewrite the checks on
+ static predicate application. Complain about the form of a non-static
+ expression only when the type is static.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb: Add guard to tree traversal.
+
+2013-04-24 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Clean): Remove local variable Root_Environment,
+ use Makeutl.Root_Environment instead.
+ * gnatcmd.adb: Remove local variable Root_Environment, use
+ Makeutl.Root_Environment instead.
+ * make.adb (Gnatmake): Remove local variable Root_Environment,
+ use Makeutl.Root_Environment instead.
+ * prj-makr.adb: Remove local variable Root_Environment, use
+ Makeutl.Root_Environment instead.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_Loop_Entry_Attribute): Clarify the
+ extraction of the declarative part of the conditional block. Move
+ the processing of simple infinite loops to the start of the
+ expansion logic. Correct the check which determines whether the
+ proper scope is installed in visibility.
+ * sem_attr.adb (Analyze_Attribute): Add local variable Attr
+ to keep track of the attribute in case the enclosing indexed
+ component has to be rewritten. When searching for the enclosing
+ loop, start from the proper attribute reference in case of a
+ rewriting. Do not allow for 'Loop_Entry to appear in pragma
+ Assert. Replace loop variable J with Index. Set the type of the
+ proper attribute.
+ * sem_ch5.adb (Check_Unreachable_Code): Detect a specialized
+ block that services a loop statement subject to at least one
+ 'Loop_Entry attribute.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Disambiguate): In Ada 2012 mode, when trying to
+ resolve a fixed point operation, use first subtype to determine
+ whether type and operator are declared in the same list of
+ declarations.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch6.adb (P_Subprogram): Detect an illegal
+ placement of the aspect specification list in the context of
+ expression functions.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): If the designated object
+ has tasks, and the pointer type is an itype that has no master
+ id, create a master renaming in the current context, which can
+ only be an init_proc.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch7.adb: Minor reformatting.
+ * gnat_rm.texi: Document pragma Loop_Invariant.
+ * sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is
+ no longer an S14_Attribute.
+ * sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine
+ processing with Assert, allow message parameter, remove call
+ to S14_Pragma.
+
+2013-04-24 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Swap_Private_Dependents): New internal routine
+ to Install_Private_Declarations, to make the installation of
+ private dependents recursive in the presence of child units.
+ * sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
+ the Private_Dependents of a private subtype.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
+ retrieval of the block declarations.
+ * par-ch4.adb (P_Name): Let the name parsing machinery create
+ a sequence of nested indexed components for attribute Loop_Entry.
+ * sem_attr.adb (Analyze_Attribute): Add local constant
+ Context. Reimplement part of the analysis of attribute Loop_Entry.
+ (Convert_To_Indexed_Component): Removed.
+ * sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
+ an indexed component after it has been rewritten into attribute
+ Loop_Entry.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * snames.ads-tmpl: Minor change to list
+ Loop_(In)variant not in configuration pragma.
+ * sem_ch3.adb (Analyze_Declarations): Do not look at the original node
+ for analyzing the expressions in pre/postconditions.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor
+ reformatting.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body,
+ Analyze_Subprogram_Body_Helper): Reset contract node to Empty
+ before setting entity to E_Subprogram_Body.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to
+ Empty before setting entity to E_Subprogram_Body.
+
+2013-04-24 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Document new gnatls switch -aPdir.
+ * gnatcmd.adb: Pass switch -aP<dir> to gnatls.
+ * gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
+ a warning for unknown switches.
+ (Usage): Add line for new switch -aPdir.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
+ if the type comes from a limited view, so that task attributes can be
+ constructed.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
+ full expansion is not enabled.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
+ formals if the type does not yet have a completion, and thus
+ has no underlying view.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
+ specification for Address as a reference, to suppress warnings
+ on entities that may be read by an external device.
+
+2013-04-24 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi: Add description of '--help' and '--version'
+ options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.
+
+2013-04-24 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi: Minor syntax fix.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
+ what and why is being analyzed. Remove the decoration of renamings as
+ this simply falls out of the general analysis mechanism.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Explain_Redundancy): New routine.
+ (Resolve_Equality_Op): Place the error concerning a redundant
+ comparison to True at the "=". Try to explain the nature of the
+ redundant True.
+
+2013-04-24 Javier Miranda <miranda@adacore.com>
+
+
+ * checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
+ check in interface thunks since it is performed at the caller
+ side.
+ (Expand_Simple_Function_Return): No accessibility check
+ needed in thunks since the check is done by the target routine.
+
+2013-04-24 Vincent Celier <celier@adacore.com>
+
+ * xref_lib.adb (Add_Entity): Use the canonical file names
+ so that source file names with capital letters are found on
+ platforms where file names are case insensitive.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch4.adb (P_Name): Continue to parse the name extension when the
+ construct is attribute Loop_Entry. Do not convert the attribute
+ reference into an indexed component when there is at least one
+ expression / range following 'Loop_Entry.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
+ (Process_PPCs): Generate procedure _Postconditions
+ only when the context has invariants or predicates or enabled
+ aspects/pragmas.
+
+2013-04-24 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb (Host_Entry): Introduce intermediate copy of
+ memory location pointed to by Hostent_H_Addr, as it might not
+ have sufficient alignment.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before
+ calling subprograms which may read it.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Remove Loop_Entry_Attributes from the usage of
+ nodes. Flag 260 is now used.
+ (Has_Loop_Entry_Attributes): New routine.
+ (Loop_Entry_Attributes): Removed.
+ (Set_Has_Loop_Entry_Attributes): New routine.
+ (Set_Loop_Entry_Attributes): Removed.
+ (Write_Entity_Flags): Write out Flag 260.
+ (Write_Field10_Name): Remove the output for Loop_Entry_Attributes.
+ * einfo.ads: Remove attribute Loop_Entry_Attributes,
+ its related comment and uses in nodes. Add new attribute
+ Has_Loop_Entry_Attributes, related comment and uses in loop nodes.
+ (Has_Loop_Entry_Attributes): New routine and pragma Inline.
+ (Loop_Entry_Attributes): Removed along with pragma Inline.
+ (Set_Has_Loop_Entry_Attributes): New routine and pragma Inline.
+ (Set_Loop_Entry_Attributes): Removed along with pragma Inline.
+ * exp_attr.adb (Expand_Loop_Entry_Attribute): New routine.
+ (Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry.
+ * exp_ch5.adb: Remove with and use clause for Elists.
+ (Expand_Loop_Entry_Attributes): Removed.
+ (Expand_N_Loop_Statement): Add local variable Stmt. Rename local
+ constant Isc to Scheme. When a loop is subject to attribute
+ 'Loop_Entry, retrieve the nested loop from the conditional
+ block. Move the processing of controlled object at the end of
+ loop expansion.
+ * sem_attr.adb (Analyze_Attribute): Do not chain attribute
+ 'Loop_Entry to its related loop.
+ * sem_ch5.adb (Analyze_Loop_Statement): Add local variable
+ Stmt. When the iteration scheme mentions attribute 'Loop_Entry,
+ the entire loop is rewritten into a block. Retrieve the nested
+ loop in such cases to complete the analysis.
+ * sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New
+ routine.
+ (Subject_To_Loop_Entry_Attributes): New routine.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_Loop_Variant): Generate pragma Check
+ (Loop_Variant, xxx) rather than Assert (xxx).
+ * gnat_rm.texi: Document pragma Loop_Variant.
+ * sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call
+ to S14_Pragma.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * adabkend.adb, ali-util.adb, ali.adb, debug.adb,
+ errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
+ exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
+ expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
+ lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
+ restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
+ sem_res.adb, sem_util.adb: Everything with name
+ 'Alfa' renamed in 'SPARK'. Update comments.
+ Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
+ * exp_alfa.adb: renamed exp_spark.adb.
+ * exp_alfa.ads: renamed exp_spark.ads.
+ * get_alfa.adb: renamed get_spark_xrefs.adb.
+ * get_alfa.ads: renamed get_spark_xrefs.ads.
+ * lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
+ * put_alfa.adb: renamed put_spark_xrefs.adb.
+ * put_alfa.ads: renamed put_spark_xrefs.ads.
+ * alfa.adb: renamed spark_xrefs.adb.
+ * alfa.ads: renamed spark_xrefs.ads.
+ * alfa_test.adb: renamed spark_xrefs_test.adb.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document pragma Assume.
+ * sem_prag.adb (Analyze_Pragma, case Assume): Now processed as
+ part of Assert, and no longer requires -gnatd.F
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document pragma Assert_And_Cut.
+ * sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove
+ S14_Pragma call.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb: Add guard in Available_View.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Depends_In_Decl_Part): Use
+ Find_Related_Subprogram to find the associated subprogram.
+ (Analyze_Global_In_Decl_List): Use Find_Related_Subprogram
+ to find the associated subprogram.
+ (Analyze_Pragma): Use Find_Related_Subprogram to find the associated
+ subprogram.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb: Remove with and use clause for Sem_Prag.
+ (Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze
+ the contract of a subprogram.
+ * sem_ch3.adb: Remove with and use clause for Sem_Prag.
+ (Analyze_Declarations): Call Analyze_Subprogram_Contract to
+ analyze the contract of a subprogram.
+ * sem_ch6.adb (Analyze_Subprogram_Contract): New routine.
+ (Check_Subprogram_Contract): Removed.
+ * sem_ch6.ads (Analyze_Subprogram_Contract): New routine.
+ (Check_Subprogram_Contract): Removed.
+ (Expand_Contract_Cases): Add a guard against malformed contract cases.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Call
+ Decorate_Delayed_Aspect_And_Pragma to decorate aspects
+ Contract_Cases, Depends and Global. Reimplement the analysis of
+ aspect Contract_Cases.
+ (Decorate_Delayed_Aspect_And_Pragma): New routine.
+ * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine.
+ (Analyze_CTC_In_Decl_Part): Removed.
+ (Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases.
+ (Analyze_Test_Case_In_Decl_Part): New routine.
+ (Find_Related_Subprogram): New routine.
+ (Requires_Profile_Installation): Add new formal Prag. Update
+ the logic to take into account the origin of the pragma.
+ * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine.
+ (Analyze_CTC_In_Decl_Part): Removed.
+ (Analyze_Test_Case_In_Decl_Part): New routine.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Process_Convention): Move Stdcall tests to
+ Set_Convention_From_Pragma so that they are applied to each
+ entry of a homonym set.
+ (Process_Convention): Don't try to set convention if already set.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * gnatbind.adb: Minor reformatting.
+
+2013-04-24 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Gnatclean): Add the default project search
+ directories in the project search path after scanning the
+ switches on the command line.
+ (Initialize): Do not put the default project search directories in the
+ project search path.
+ * gnatcmd.adb (GNATcmd): Add the default project search
+ directories in the project search path after scanning the switches
+ on the command line.
+ * make.adb (Initialize): Add the default project search
+ directories in the project search path after scanning the switches
+ on the command line.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * restrict.ads (Restriction_Warnings): Initialize with all False value.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, checks.adb (Predicate_Checks_Suppressed): New function.
+ * exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of
+ Predicate_Check.
+ * snames.ads-tmpl (Name_Predicate_Check): New check name.
+ * types.ads (Predicate_Check): New definition.
+ * gnat_rm.texi: Add documentation for Predicate_Check.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this
+ is a renaming of predefined equality for an untagged record,
+ add generated body to the freeze actions for the subprogram, to
+ prevent freezing issues when the record has incomplete components.
+ * exp_ch4.adb (Expand_Composite_Equality): If the type is a type
+ without completion, return a predefined comparison instead of
+ just False. This may happen when building the expression for
+ record equality, when some component has a type whose completion
+ has not been seen yet. The operation will be analyzed an expanded
+ after the type has been frozen, at which point all component
+ types will have been completed, or an error reported.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay
+ analysis of a Convention aspect.
+
+2013-04-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fe.h (Machine_Overflows_On_Target): New macro and declaration.
+ (Signed_Zeros_On_Target): Likewise.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb: Add with and use clause for Sem_Prag.
+ (Freeze_Subprogram): Analyze all delayed aspects for a null
+ procedure so that they are available when analyzing the
+ internally-generated _Postconditions routine.
+ * exp_ch13.adb: Remove with and use clause for Sem_Prag.
+ (Expand_N_Freeze_Entity): Move the code that analyzes delayed
+ aspects of null procedures to exp_ch6.Freeze_Subprogram.
+ * sem_prag.adb (Analyze_Abstract_State): Update the check on
+ volatile requirements.
+
+2013-04-24 Bob Duff <duff@adacore.com>
+
+ * ali-util.ads (Source_Record): New component Stamp_File
+ to record from whence the Stamp came.
+ * ali-util.adb (Set_Source_Table): Set Stamp_File component.
+ * bcheck.adb (Check_Consistency): Print additional information in
+ Verbose_Mode.
+ * gnatbind.adb (Gnatbind): Print additional information in
+ Verbose_Mode.
+
+2013-04-24 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch13.adb, sem_prag.adb: Update comments.
+ * sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor
+ reformatting.
+
+2013-04-24 Doug Rupp <rupp@adacore.com>
+
+ * vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior.
+
+2013-04-24 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads: Minor correction of typo.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Create packed array only when expander is
+ active.
+
+2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only
+ when the context warrants it.
+ (Analyze_Global_In_Decl_List): Install the formals only when
+ the context warrants it.
+ (Requires_Profile_Installation): New routine.
+
+2013-04-24 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return
+ type is a discriminated private type that does not require use
+ of the secondary stack, a constrained subtype of the underlying
+ type is created to convey the proper object size to the backend.
+ If the return type is originally a private type, the return
+ expression is wrapped in an unchecked_conversion. If the return
+ expression is used subsequently in a call to the postcondition
+ function, this conversion must be undone to prevent a spurious
+ error on the analysis of that call.
+
+2013-04-23 Kai Tietz <ktietz@redhat.com>
+
+ PR target/55445
+ * raise-gcc.c (__SEH__): Additional check that SjLj isn't active.
+
+2013-04-23 Eric Botcazou <ebotcazou@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * gcc-interface/Makefile.in (targ): Fix target name check.
+ (../../gnatmake$(exeext)): Add '+' for LTO.
+ (../../gnatlink$(exeext)): Likewise.
+
+2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Build_PPC_Wrapper): Correct the traversal of
+ pre- and post-conditions.
+ (Expand_N_Task_Type_Declaration):
+ Use the correct attribute to check for pre- and post-conditions.
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Correct the traversal of
+ pre- and post-conditions. Analyze delayed classification items.
+ * freeze.adb (Freeze_Entity): Use the correct attribute to
+ check for pre- and post- conditions.
+ * sem_ch3.adb (Analyze_Declarations): Correct the traversal
+ of pre- and post-conditions as well as contract- and
+ test-cases. Analyze delayed pragmas Depends and Global.
+ * sem_ch6.adb (Check_Subprogram_Contract): Use the correct
+ attribute to check for pre- and post-conditions, as well as
+ contract-cases and test-cases. (List_Inherited_Pre_Post_Aspects):
+ Correct the traversal of pre- and post- conditions.
+ (Process_Contract_Cases): Update the comment on usage. Correct
+ the traversal of contract-cases.
+ (Process_Post_Conditions): Update the comment on usage. Correct the
+ traversal of pre- and post-conditions.
+ (Process_PPCs): Correct the traversal of pre- and post-conditions.
+ (Spec_Postconditions): Use the correct
+ attribute to check for pre- and post- conditions, as well as
+ contract-cases and test-cases.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Reimplement the
+ actions related to aspects Depends and Global. Code refactoring
+ for pre- and post-conditions.
+ (Insert_Delayed_Pragma): New routine.
+ * sem_prag.adb (Add_Item): New routine.
+ (Analyze_Depends_In_Decl_Part): New routine.
+ (Analyze_Global_In_Decl_Part): New routine.
+ (Analyze_Pragma): Reimplement the actions related to aspects Depends and
+ Global. Verify that a body acts as a spec for pragma Contract_Cases.
+ (Chain_PPC): Use Add_Contract_Item to chain a pragma.
+ (Chain_CTC): Correct the traversal of contract-
+ and test-cases. Use Add_Contract_Item to chain a pragma.
+ (Chain_Contract_Cases): Correct the traversal of contract-
+ and test-cases. Use Add_Contract_Item to chain a pragma.
+ (Check_Precondition_Postcondition): Update the comment on usage.
+ (Check_Test_Case): Update the comment on usage.
+ * sem_prag.ads (Analyze_Depends_In_Decl_Part): New routine.
+ (Analyze_Global_In_Decl_Part): New routine.
+ * sem_util.ads, sem_util.adb (Add_Contract_Item): New routine.
+ * sinfo.adb (Classifications): New routine.
+ (Contract_Test_Cases): New routine.
+ (Pre_Post_Conditions): New routine.
+ (Set_Classifications): New routine.
+ (Set_Contract_Test_Cases): New routine.
+ (Set_Pre_Post_Conditions): New routine.
+ (Set_Spec_CTC_List): Removed.
+ (Set_Spec_PPC_List): Removed.
+ (Spec_CTC_List): Removed.
+ (Spec_PPC_List): Removed.
+ * sinfo.ads: Update the structure of N_Contruct along with all
+ related comments.
+ (Classifications): New routine and pragma Inline.
+ (Contract_Test_Cases): New routine and pragma Inline.
+ (Pre_Post_Conditions): New routine and pragma Inline.
+ (Set_Classifications): New routine and pragma Inline.
+ (Set_Contract_Test_Cases): New routine and pragma Inline.
+ (Set_Pre_Post_Conditions): New routine and pragma Inline.
+ (Set_Spec_CTC_List): Removed.
+ (Set_Spec_PPC_List): Removed.
+ (Spec_CTC_List): Removed.
+ (Spec_PPC_List): Removed.
+
+2013-04-23 Doug Rupp <rupp@adacore.com>
+
+ * init.c (GNAT$STOP) [VMS]: Bump sigargs[0] count by 2
+ to account for LIB$STOP not having the chance to add the PC and
+ PSL fields.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb: Minor code reorganization (remove some redundant
+ assignments).
+ * sem_ch3.adb, sem_prag.adb: Minor reformatting.
+
+2013-04-23 Yannick Moy <moy@adacore.com>
+
+ * einfo.ads: Minor typo fix.
+ * sem_ch13.adb (Build_Predicate_Functions): Reject cases where
+ Static_Predicate is applied to a non-scalar or non-static type.
+ * sem_prag.adb: Minor typo fix.
+
+2013-04-23 Doug Rupp <rupp@adacore.com>
+
+ * init.c (GNAT$STOP) [VMS]: New function.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Add exp_pakd to context.
+ (Constrain_Component_Type): If the component of the parent is
+ packed, and the record subtype being built is already frozen,
+ as is the case for an itype, the component type itself will not
+ be frozen, and the packed array type for it must be constructed
+ explicitly.
+
+2013-04-23 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb, g-socket.ads (Set_Close_On_Exec): New subprogram.
+
+2013-04-23 Yannick Moy <moy@adacore.com>
+
+ * err_vars.ads (Error_Msg_Qual_Level): Set variable to zero
+ at declaration.
+ * opt.ads (Multiple_Unit_Index): Set variable to zero at declaration.
+ * sem_util.adb (NCT_Table_Entries): Set variable to zero at declaration.
+ * set_targ.ads (Num_FPT_Modes): Set variable to zero at declaration.
+ * stylesw.adb (Save_Style_Check_Options): Protect testing the
+ value of Style_Check_Comments_Spacing by a previous test that
+ Style_Check_Comments is True.
+
+2013-04-23 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb, sem_prag.ads (Effective_Name): Rename to
+ Original_Name, and move declaration to package body as this
+ subprogram is not used from outside. Also clarify documentation.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): When compiling with
+ initialize_scalars, disable predicate checks on the generated
+ assignment to an out scalar parameter.
+
+2013-04-23 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Remove error
+ check for "constrained in partial view" constraints entirely.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, sem_prag.ads: Minor reformatting.
+ * errout.ads: Comment update.
+
+2013-04-23 Yannick Moy <moy@adacore.com>
+
+ * exp_ch5.adb: Minor typo.
+
+2013-04-23 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads: Minor documentation clarification.
+
+2013-04-23 Bob Duff <duff@adacore.com>
+
+ * types.ads: Fix incorrect comment.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb sem_aux.ads (Effectively_has_Constrained_Partial_View):
+ Rename subprogram as Object_Type_Has_Constrained_Partial_View, better
+ description of purpose.
+ * checks.adb (Apply_Discriminant_Check): Use above renaming.
+ * sem_ch4.adb (Analyze_Allocator): Check Has_Constrained_Partial_View
+ of the base type, rather than using the Object_Type predicate.
+ * sem_attr.adb (Analyze_Attribute, case 'Access): Use above renaming.
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): ditto.
+ * exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): Ditto.
+ * exp_ch4.adb (Expand_N_Allocator): Ditto.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): Check for Assert rather
+ than Assertion.
+ * sem_prag.adb (Is_Valid_Assertion_Kind): Moved to spec
+ (Effective_Name): New function (Analyze_Pragma, case Check):
+ Disallow [Statement_]Assertions (Check_Kind): Implement
+ Statement_Assertions (Check_Applicable_Policy): Use Effective_Name
+ (Is_Valid_Assertion_Kind): Allow Statement_Assertions.
+ * sem_prag.ads (Is_Valid_Assertion_Kind): Moved here from body
+ (Effective_Name): New function.
+ * sem_res.adb: Minor reformatting.
+ * snames.ads-tmpl (Name_Statement_Assertions): New entry.
+ * gnat_rm.texi: Add documentation of new assertion kind
+ Statement_Assertions.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads, einfo.adb, sem_res.adb, exp_ch6.adb, aspects.adb: Minor
+ reformatting and code clean up.
+
+2013-04-23 Vincent Celier <celier@adacore.com>
+
+ * prj-part.ads, prj-conf.ads: Minor comment updates.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.adb (Predicate_Function): For a private type, retrieve
+ predicate function from full view.
+ * aspects.adb (Find_Aspect): Ditto.
+ * exp_ch6.adb (Expand_Actuals): If the formal is class-wide and
+ the actual is a definite type, apply predicate check after call.
+ * sem_res.adb: Do not apply a predicate check before the call to
+ a generated Init_Proc.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Significant
+ rewrite to make sure Is_Ignore is properly captured when aspect
+ is declared.
+ * sem_ch6.adb: Minor reformatting.
+ * sem_prag.adb (Analyze_Pragma): Do not test policy at time of
+ pragma for the case of a pragma coming from an aspect (already
+ tested when we analyzed the aspect).
+
+2013-04-23 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Parse_Project_And_Apply_Config): New
+ Boolean parameter Implicit_Project, defaulted to False. Call
+ Prj.Part.Parse with Implicit_Project.
+ * prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean
+ parameter Implicit_Project, defaulted to False.
+ * prj-part.adb (Parse_Single_Project): New Boolean parameter
+ Implicit_Project, defaulted to False. When Implicit_Project is
+ True, change the Directory of the project node to the Current_Dir.
+ * prj-part.ads (Parse): New Boolean parameter, defaulted to False
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor reformatting.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * xoscons.adb: Minor reformatting.
+
+2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Mode): Ensure that a
+ self-referential output appears in both input and output lists of
+ the subprogram as categorized by aspect Global.
+ (Check_Usage): Rename formal parameters to better illustrate their
+ function. Update all uses of the said formals.
+
+2013-04-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New
+ parameter Append_NUL to make NUL-termination optional.
+ * exp_dist.adb: Consistently use the above throughout instead of
+ Get_Library_Unit_Name_String.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb, sem_res.adb, prj-tree.adb, prj-tree.ads: Minor
+ reformatting.
+
+2013-04-23 Pascal Obry <obry@adacore.com>
+
+ * xoscons.adb: Remove unused use clause, minor code clean-up.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb: Code cleanup for Is_Expression_Function
+ (can apply to any scope entity).
+ * sem_res.adb (Resolve_Call): If the call is within another
+ expression function it does not constitute a freeze point.
+
+2013-04-23 Yannick Moy <moy@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): Test that Subp
+ is overloadable before testing if it's an inherited operation.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor
+ reformatting.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch.
+ * exp_util.adb (Expand_Subtype_From_Expr): If the expression
+ is a source entity and the declaration is for an aliased
+ unconstrained array, create a new subtype so that the flag
+ Is_Constr_Subt_For_UN_Aliased does not pollute other entities.
+
+2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Move tables Base_Aspect and Inherited_Aspect
+ from the spec to the body.
+ (Find_Aspect): Update the call to Get_Aspect_Id.
+ (Get_Aspect_Id): New version that takes an aspect specification.
+ * aspects.ads: Reorganize all aspect related tables.
+ (Get_Aspect_Id): New version that takes an aspect specification.
+ * par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id.
+ * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update
+ the call to Get_Aspect_Id.
+ * sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the
+ call to Get_Aspect_Id. (Analyze_Aspect_Specifications): Update
+ the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect.
+
+2013-04-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Fix_Error): Rewrite to do more accurate job
+ of getting proper name in the case where pragma comes from
+ aspect.
+ * sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting.
+
+2013-04-23 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (Process_PPCs): Do not filter postconditions based on
+ applicable policy.
+
+2013-04-23 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Aux_Decls): Minor code reorganization.
+
+2013-04-23 Doug Rupp <rupp@adacore.com>
+
+ * init.c: Move facility macros outside IN_RTS.
+
+2013-04-23 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For the case of a bit-packed
+ array time that is known at compile time to have more that
+ Integer'Last+1 elements, issue an error, since such arrays are
+ not supported.
+
+2013-04-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Dependency_Clause): Update all calls to
+ Analyze_Input_Output.
+ (Analyze_Input_List): Update all calls to Analyze_Input_Output.
+ (Analyze_Input_Output): Add formal parameter Self_Ref along with
+ comment on its usage. Update all calls to Analyze_Input_Output.
+ (Analyze_Pragma): Add new local variable Self_Ref to capture
+ the presence of a self-referential dependency clause. Update
+ all calls to Analyze_Input_Output.
+ (Check_Mode): Add formal parameter Self_Ref along with comment on its
+ usage. Verify the legality of a self-referential output.
+
+2013-04-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb: Add predicate checks on by-copy parameter.
+
+2013-04-23 Vincent Celier <celier@adacore.com>
+
+ * a-envvar.adb, a-envvar.ads (Value): New.
+
+2013-04-22 Yannick Moy <moy@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as
+ null statement if ignored.
+ * sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored.
+ * sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas.
+
+2013-04-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Contract_Case): New routine.
+ (Analyze_Pragma): Aspect/pragma Contract_Cases can
+ now be associated with a library level subprogram.
+ Add circuitry to detect illegal uses of aspect/pragma Contract_Cases
+ in a subprogram body.
+ (Chain_Contract_Cases): Rename formal parameter Subp_Decl to
+ Subp_Id. Remove local constant Subp. The entity of the subprogram
+ is now obtained via the formal paramter.
+
+2013-04-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Do not set
+ Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression,
+ if the expression is a source entity.
+
+2013-04-22 Yannick Moy <moy@adacore.com>
+
+ * exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in
+ comments.
+ * sem_ch6.adb (Expand_Contract_Cases): Add location to message.
+
+2013-04-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Fix_Error): For a pragma rewritten from another
+ pragma, fix up error message to include original pragma name.
+ * par_sco.adb: Minor reformatting.
+
+2013-04-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb,
+ sem_ch6.adb, opt.ads: Minor reformatting.
+
+2013-04-22 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for
+ Library_Standalone and Library_Kind.
+
+2013-04-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): If the call is to an
+ inherited operation and the actual is a by-reference type with
+ predicates, add predicate call to post-call actions.
+ * sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding
+ error: a type declaration has a defining identifier, not an Etype.
+ * sem_res.adb: Restore code removed because of above error.
+
+2013-04-22 Doug Rupp <rupp@adacore.com>
+
+ * init.c (__gnat_handle_vms_condition): Also match C$_SIGINT.
+
+2013-04-22 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb,
+ opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc.
+
+2013-04-22 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to
+ No_Path_Information only when Directories_Must_Exist_In_Projects
+ is False.
+ (Get_Directories): Set Object_Directory
+ or Exec_Directory to No_Path_Information only when
+ Directories_Must_Exist_In_Projects is False.
+
+2013-04-22 Yannick Moy <moy@adacore.com>
+
+ * par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb,
+ snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to
+ Pragma_Contract_Case and Name_Contract_Case.
+
+2013-04-22 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to
+ Contract_Case.
+ * gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by
+ description of Contract_Cases.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * makeutl.adb, prj-nmsc.adb: Minor reformatting.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Make_Invariant_Call): Use Check_Kind instead
+ of Check_Enabled.
+ * gnat_rm.texi (Check_Policy): Update documentation for new
+ Check_Policy syntax.
+ * sem_prag.adb (Check_Kind): Replaces Check_Enabled
+ (Analyze_Pragma, case Check_Policy): Rework to accomodate new
+ syntax (like Assertion_Policy).
+ * sem_prag.ads (Check_Kind): Replaces Check_Enabled.
+
+2013-04-12 Doug Rupp <rupp@adacore.com>
+
+ * init.c (SS$_CONTROLC, SS$_CONTINUE) [VMS]: New macros.
+ (__gnat_handle_vms_condition) [VMS]: Dispatch on the Crtl/C user
+ handler if installed.
+ * ctrl_c.c (__gnat_install_int_handler)
+ [VMS]: Install a dummy sigaction handler to trigger the real
+ user handler dispatch in init.c/__gnat_handle_vms_condition.
+ (__gnat_uninstall_int_handler) [VMS]: Likewise.
+
+2013-04-12 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Parse_Cmd_Line): Set Directories_Must_Exist_In_Projects
+ to False if switch is specified.
+ * makeutl.adb (Initialize_Source_Record): Do not look for the
+ object file if there is no object directory.
+ * opt.ads (Directories_Must_Exist_In_Projects): New Boolean
+ variable, defaulted to True.
+ * prj-nmsc.adb (Check_Library_Attributes): Do not fail if library
+ directory does not exist when Directories_Must_Exist_In_Projects is
+ False.
+ (Get_Directories): Do not fail when the object or the exec directory
+ do not exist when Directories_Must_Exist_In_Projects is False.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * namet.adb, namet.ads: Minor addition (7 arg version of Nam_In).
+ * exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb,
+ sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb,
+ par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb,
+ sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb,
+ exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb,
+ prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
+ sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb,
+ sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In).
+
+2013-04-12 Doug Rupp <rupp@adacore.com>
+
+ * init.c: Don't clobber condition code on VMS.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting.
+ * namet.ads, namet.adb (Nam_In): New functions.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Has_Dynamic_Predicate_Aspect): New flag.
+ (Has_Static_Predicate_Aspect): New flag.
+ * einfo.ads (Has_Dynamic_Predicate_Aspect): New flag.
+ (Has_Static_Predicate_Aspect): New flag.
+ * exp_ch9.adb: Minor reformatting.
+ * exp_util.adb (Make_Invariant_Call): Check_Enabled now handles
+ synonyms.
+ * gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled,
+ since this switch is gone and control of Debug is done with
+ Assertions_Enabled.
+ * gnat_rm.texi: Update documentation for Assertion_Policy and
+ Check_Policy pragmas.
+ * opt.adb (Debug_Pragmas_Disabled[_Config]): Removed
+ (Debug_Pragmas_Enabled[_Config]): Removed Since debug now
+ controlled by Assertion_Enabled.
+ * opt.ads (Debug_Pragmas_Disabled[_Config]): Removed
+ (Debug_Pragmas_Enabled[_Config]): Removed Since debug now
+ controlled by Assertion_Enabled.
+ * par-ch2.adb (Scan_Pragma_Argument_Association): Allow new
+ 'Class forms.
+ * sem_attr.adb: Minor reformatting.
+ * sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect
+ if DISABLE policy applies.
+ * sem_ch6.adb (Grab_PPC): Check original name of aspect for
+ aspect from pragma (Process_PPCs): Properly check assertion policy.
+ * sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy
+ (Check_Appicable_Policy): New procedure.
+ (Is_Valid_Assertion_Kind): New function.
+ (Rewrite_Assertion_Kind): New procedure.
+ (Analyze_Pragma): Handle case of disabled assertion pragma.
+ (Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012.
+ (Analyze_Pragma, case Check): Deal with 'Class possibilities.
+ (Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities.
+ (Analyze_Pragma, case Contract_Class): New handling of ignored pragma.
+ (Analyze_Pragma, case Debug): New control with Assertion_Policy.
+ (Analyze_Pragma, case Debug_Policy): Now consistent with
+ Assertion_Policy.
+ (Analyze_Pragma, case Loop_Invariant): New handling of ignored
+ pragma.
+ (Analyze_Pragma, case Loop_Variant): New handling of ignored pragma.
+ (Analyze_Pragma, case Precondition): Use proper name for Check pragma.
+ (Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff.
+ * sem_prag.ads (Check_Enabled): Rewritten for new
+ Assertion_Policy stuff.
+ (Check_Appicable_Policy): New procedure.
+ * sinfo.adb (Is_Disabled): New flag.
+ (Is_Ignored): New flag.
+ * sinfo.ads (Is_Disabled): New flag.
+ (Is_Ignored): New flag.
+ (N_Pragma_Argument_Association): New 'Class forms.
+ * snames.ads-tmpl: New names Name_uPre, Name_uPost,
+ Name_uType_Invariant, Name_uInvariant.
+ * switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata.
+ * tree_io.ads (ASIS_Version_Number): Updated (remove
+ read write of obsolete flags Debug_Pragmas_Disabled and
+ Debug_Pragmas_Enabled.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary
+ of Build_Record_Aggr_Code, used to retrieve explicit values
+ for inherited discriminants in an extension aggregate, when the
+ ancestor type is unconstrained.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Check_Stream_Attribute): If restriction
+ No_Default_Stream_Attributes is active, it is illegal to use a
+ predefined elementary type stream attribute either by itself,
+ or more importantly as part of the attribute subprogram for a
+ composite type. However, if the broader restriction No_Streams
+ is active, then stream operations are not generated, and there
+ is no error.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * gnatbind.adb: Minor reformatting.
+
+2013-04-12 Bob Duff <duff@adacore.com>
+
+ * sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a
+ call only in the static elaboration model.
+
+2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Input_List): Detect an illegal dependency
+ clause where both input and output lists are null.
+ (Analyze_Pragma): Update the grammar of pragma Depends.
+
+2013-04-12 Vincent Celier <celier@adacore.com>
+
+ * gnatbind.adb (No_Restriction_List): Exclude restrictions that
+ take a parameter value, not a count.
+ * prj.ads, prj.adb (Remove_All_Restricted_Languages): New procedure.
+ * projects.texi: Complete documentation of attribute Roots.
+
+2013-04-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb, exp_util.ads, checks.adb, freeze.adb, sem_attr.adb,
+ sem_ch3.adb: Minor reformatting.
+ * exp_ch4.adb (Size_In_Storage_Elements): Minor documentation
+ improvement: note that the computation is pessimistic for bit
+ packed arrays.
+ * gnat_rm.texi (Range_Length): Fix minor error in description
+ of attribute.
+
+2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb (Find_Aspect): New routine.
+ (Find_Value_Of_Aspect): New routine.
+ (Has_Aspect): Reimplemented.
+ * aspects.ads (Find_Aspect): New routine.
+ (Find_Value_Of_Aspect): New routine, previously known as Find_Aspect.
+ * exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect.
+ * exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect.
+ * sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect.
+ * sem_ch5.adb (Analyze_Iterator_Specification): Update
+ the call to Find_Aspect. Use function Has_Aspect for better
+ readability.
+ (Preanalyze_Range): Use function Has_Aspect for better readability.
+ * sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect.
+ * sem_prag.adb (Analyze_Pragma): There is no longer need to
+ look at the parent to extract the corresponding pragma for
+ aspect Global.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb,
+ restrict.ads: Minor reformatting.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb: Retrieve original name of classwide type if any.
+
+2013-04-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch11.ads: Minor reformatting.
+
+2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Alphabetize subprogram bodies in this unit. Add
+ an entry for Aspect_Ghost in the table of canonical aspects.
+ (Has_Aspect): New routine.
+ * aspects.ads: Add Aspect_Ghost to all relevant
+ tables. Alphabetize subprograms in this unit.
+ (Has_Aspect): New routine.
+ * einfo.adb: Add with and use clauses for Aspects.
+ (Is_Ghost_Function): New routine.
+ * einfo.ads: Add new synthesized attribute Is_Ghost_Function and
+ update the structure of the related nodes.
+ (Is_Ghost_Function): New routine.
+ * exp_ch4.adb (Find_Enclosing_Context): Use routine
+ Is_Body_Or_Package_Declaration to terminate a search.
+ (Is_Body_Or_Unit): Removed.
+ * exp_util.adb (Within_Case_Or_If_Expression): Use routine
+ Is_Body_Or_Package_Declaration to terminate a search.
+ * par-prag.adb: Add pragma Ghost to the list of pragmas that do
+ not need special processing by the parser.
+ * sem_attr.adb (Analyze_Access_Attribute): Detect an
+ illegal use of 'Access where the prefix is a ghost function.
+ (Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration
+ to terminate a search. (Check_References_In_Prefix): Use routine
+ Is_Body_Or_Package_Declaration to terminate a search.
+ * sem_ch4.adb (Analyze_Call): Mark a function when it appears
+ inside an assertion expression. Verify the legality of a call
+ to a ghost function.
+ (Check_Ghost_Function_Call): New routine.
+ * sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move
+ the setting of attribute In_Assertion_Expression to Analyze_Call.
+ (Check_Overriding_Indicator): Detect an illegal attempt to
+ override a function with a ghost function.
+ * sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of
+ a ghost function as a generic actual.
+ * sem_elab.adb (Check_Internal_Call_Continue): Update the call
+ to In_Assertion.
+ * sem_prag.adb: Add an entry for pragma Ghost in the table
+ of significant arguments.
+ (Analyze_Pragma): Do not analyze
+ an "others" case guard. Add processing for pragma Ghost. Use
+ Preanalyze_Assert_Expression when analyzing the expression of
+ pragmas Loop_Invariant and Loop_Variant.
+ * sem_util.adb (Get_Subprogram_Entity): Reimplemented.
+ (Is_Body_Or_Package_Declaration): New routine.
+ * sem_util.ads: Alphabetize subprotrams in this unit.
+ (Is_Body_Or_Package_Declaration): New routine.
+ * sinfo.adb (In_Assertion): Rename to In_Assertion_Expression.
+ (Set_In_Assertion): Rename to Set_In_Assertion_Expression.
+ * sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression
+ to better reflect its use. Update all places that mention the flag.
+ (In_Assertion): Rename to In_Assertion_Expression. Update
+ related pragma Inline. (Set_In_Assertion): Rename to
+ Set_In_Assertion_Expression. Update related pragma Inline.
+ * snames.ads-tmpl: Add new predefined name Ghost. Add new pragma
+ id Pragma_Ghost.
+
+2013-04-12 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Set_Imported): Do not generate error for multiple
+ Import in CodePeer mode.
+ * s-rident.ads: Fix minor typo.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Insert_Valid_Check): Do not insert validity check
+ in the body of the generated predicate function, to prevent
+ infinite recursion.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * s-rident.ads: Add various missing Ada 2012 restrictions:
+ No_Access_Parameter_Allocators, No_Coextensions,
+ No_Use_Of_Attribute, No_Use_Of_Pragma.
+ * snames.ads-tmpl: Add corresponding names.
+ * restrict.ads restrict.adb: Subprograms and data structures to
+ handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
+ * sem_ch4.adb: Correct name of restrictions is
+ No_Standard_Allocators_After_Elaboration.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
+ violation of restriction No_Use_Of_Attribute.
+ * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+ Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
+ (Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
+ * sem_res.adb: Check restrictions No_Access_Parameter_Allocators
+ and No_Coextensions.
+ * bcheck.adb: Correct name of restrictions is
+ No_Standard_Allocators_After_Elaboration.
+ * gnatbind.adb: Correct name of restrictions is
+ No_Standard_Allocators_After_Elaboration.
+
+2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function):
+ Correct error message format.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb (Within_Elaborate_All): Do not examine a context
+ item that has not been analyzed, because the unit may have errors,
+ or the context item may come from a proper unit inserted at the
+ point of a stub and not analyzed yet.
+
+2013-04-12 Thomas Quinot <quinot@adacore.com>
+
+ * gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info,
+ List_Record_Info): Also include scalar storage order information in
+ output.
+
+2013-04-12 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (Process_Contract_Cases): Update code to apply to
+ Contract_Cases instead of Contract_Case pragma.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting.
+
+2013-04-12 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Update analyse of
+ Attribute_Old and Attribute_Result so they are allowed in the
+ right-hand-side of an association in a Contract_Cases pragma.
+ * sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of
+ the expressions in a Contract_Cases pragma.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * sem.ads, opt.ads: Minor comment edits.
+ * sem_warn.adb, sem_ch6.adb: Minor reformatting.
+
+2013-04-12 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate,
+ Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed,
+ not suitable for formal analysis.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Abstract_State): Use Defining entity
+ to locate package entity, which may be a child unit.
+
+2013-04-12 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If
+ the specified timeout is 0, do not attempt to determine whether the
+ connection succeeded.
+
+2013-04-12 Doug Rupp <rupp@adacore.com>
+
+ * s-fileio.adb (Form_RMS Context_Key): Fix some thinkos.
+
+2013-04-12 Doug Rupp <rupp@adacore.com>
+
+ * s-fileio.adb: Minor reformatting.
+
+2013-04-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if
+ the last statement in the analyzed loop is an unconditional
+ exit statement.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Style_Check_Main): New switch.
+ * sem.adb (Semantics): Set Style_Check flag properly for new
+ unit to be analyzed.
+ * sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check,
+ the proper setting of this flag is now part of the Semantics
+ procedure.
+ * switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main
+ for -gnatg and -gnaty
+
+2013-04-12 Doug Rupp <rupp@adacore.com>
+
+ * s-crtl.ads (fopen, freopen): Add vms_form parameter
+ * i-cstrea.ads (fopen, freopen): Likewise.
+ * adaint.h (__gnat_fopen, __gnat_freopen): Likewise.
+ * adaint.c (__gnat_fopen, __gnat_freopen): Likewise.
+ [VMS]: Split out RMS keys and call CRTL function appropriately.
+ * s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New
+ subprograms.
+ (Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with
+ vms_form
+ * gnat_rm.texi: Document implemented RMS keys.
+
+2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications):
+ Insert the corresponding pragma for aspect Abstract_State at
+ the top of the visible declarations of the related package.
+ Previously this was only done when the package is a compilation
+ unit.
+
+2013-04-12 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Further menu clean ups.
+ * sem_prag.adb, opt.ads: Minor reformatting.
+ * sem_util.ads: Minor comment fix.
+
+2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect
+ Depends is now a delayed aspect. The delay is required
+ due to the interplay between aspects Depends and Global.
+ (Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends.
+ * sem_prag.adb: Reformat various error messages.
+ (Add_Item): New subsidiary routine.
+ (Analyze_Pragma): Add new variables
+ Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The
+ analysis of pragma Depends now has the capability to check
+ the proper mode and usage of subprogram inputs and outputs.
+ (Appears_In): New routine.
+ (Check_Function_Return): New routine.
+ (Check_Mode): New routine.
+ (Check_Usage): New routine.
+ (Collect_Subprogram_Inputs_Outputs): New routine.
+
+2013-04-12 Bob Duff <duff@adacore.com>
+
+ * par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
+ stack entry.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb: Minor fix to wording of error message for
+ -gnatet/eT.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Add s-multip and s-mudido to list of impl defined
+ system units.
+ * gnat_rm.texi: Add documentation for
+ System.Multiprocessors[.Dispatching_Domains].
+
+2013-04-12 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Completion of menu cleanups.
+
+2013-04-12 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
+ in Relaxed_RM_Semantics.
+
+2013-04-12 Arnaud Charlet <charlet@adacore.com>
+
+ * set_targ.adb (elab code): Add support for non gcc back-ends
+ where save_argv is null.
+
+2013-04-12 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
+ * opt.ads (Target_Dependent_Info_Read): Add _Name, now an access
+ type (Target_Dependent_Info_Write): Add _Name, now an access type.
+ * set_targ.adb (Write_Target_Dependent_Values): Use name
+ from -gnatet switch stored in Target_Dependent_Info_Write_Name
+ (Read_Target_Dependent_Values): Use name from -gnateT switch
+ stored in Target_Dependent_Info_Read_Name.
+ * switch-c.adb: New form of -gnatet and -gnateT switches.
+ * usage.adb: New form of -gnatet and -gnateT switches with
+ file name.
+
+2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_expression_1): Skip only constant
+ arithmetics when looking for a read-only variable in the expression.
+
+2013-04-11 Javier Miranda <miranda@adacore.com>
+
+ * check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in
+ interface thunks since it is performed at the caller side.
+ (Expand_Simple_Function_Return): No accessibility check needed in thunks
+ since the check is done by the target routine.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze
+ expression with type Any_Priority.
+ * exp_ch9.adb (Initialize_Protection): Check that the value
+ of the priority expression is within the bounds of the proper
+ priority type.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, prj-env.adb: Minor reformatting.
+
+2013-04-11 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Clean ups.
+
+2013-04-11 Yannick Moy <moy@adacore.com>
+
+ * set_targ.adb: Minor comment update.
+
+2013-04-11 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi: Remove obsolete comment about DLL calling
+ convention.
+
+2013-04-11 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): For the call to the target primitive
+ of an interface thunks do not compute the extra actuals; just
+ propagate the extra actuals received by the thunk.
+ * exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute
+ Thunk_Entity.
+ * sem_ch6.adb (Create_Extra_Formals): Do not generate extra
+ formals in interface thunks whose target primitive has no extra
+ formals.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Detect
+ a renaming by looking at the Renamed_Object attribute.
+ (Is_Renaming): Removed.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (Initialize_Default_Project_Path): Take
+ into account a project path file, specified by environment
+ variable GPR_PROJECT_PATH_FILE, before taking into account
+ GPR_PROJECT_PATH.
+ * projects.texi: Add documentation for GPR_PROJECT_PATH_FILE
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
+ a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
+ a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb,
+ a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads,
+ a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb,
+ a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb,
+ a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb,
+ a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads:
+ Move Iterator operations from body to private part of spec.
+
+2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ttypes.ads, get_targ.ads: More minor rewording of comments.
+
+2013-04-11 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: Document use of switch -gnatd.Z.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now
+ support renamings of entire objects. Legal renamings are replaced by
+ the object they rename.
+ (Is_Renaming): New routine.
+
+2013-04-11 Yannick Moy <moy@adacore.com>
+
+ * set_targ.adb, opt.ads: Minor changes in comments.
+
+2013-04-11 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Minor clean ups.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging
+ function p from Nlists to Treepr.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Context): If the context is
+ a contract for a null procedure defer error reporting until
+ postcondition body is created.
+ * exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a
+ null procedure, complete the analysis of its contracts so that
+ calls within classwide conditions are properly rewritten as
+ dispatching calls.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch10.adb, sem_ch12.adb: Minor reformatting.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb, atree.ads (Node31): New function.
+ (Set_Node31): New procedure.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Minor typo correction.
+
+2013-04-11 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb (Register_Back_End_Types): Moved to Get_Targ
+ * back_end.ads (C_String): Moved to Get_Targ
+ (Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types):
+ Moved to Get_Targ.
+ * cstand.adb (Register_Float_Type): New interface
+ (Create_Back_End_Float_Types): Use entries in FPT_Mode_Table.
+ * get_targ.adb (Register_Back_End_Types): Moved here from
+ Back_End.
+ * get_targ.ads (C_String): Moved here from Back_End
+ (Register_Type_Proc): Moved here from Back_End
+ (Register_Back_End_Types): here from Back_End.
+ * gnat1drv.adb (GGnat11drv): Add call to
+ Write_Target_Dependent_Values;
+ * lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing
+ obsolete target dependent info.
+ * opt.ads (Generate_Target_Dependent_Info):
+ Removed (Target_Dependent_Info_Read): New flag
+ (Target_Dependent_Info_Write): New flag
+ * output.adb: Minor comment change
+ * s-os_lib.ads: Minor reformatting
+ * set_targ.ads, set_targ.adb: Minor reformatting.
+ * switch-c.adb (Scan_Switches.First_Ptr): New variable
+ (Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first
+ (Scan_Front_End_Switches): Handle -gnatet, -gnateT
+ * ttypes.ads: Remove documentation section on target dependent
+ info in ali file Remove four letter codes, no longer used Instead
+ of using Get_Targ.Get_xxx, we use Set_Targ.xxx
+ * usage.adb: Add usage lines for -gnatet/-gnateT
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb: Update documentation.
+ * sinfo.ads (N_Expression_With_Actions): Ditto.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications):
+ Add a guard to prevent the double insertion of the same aspect
+ into a rep item list. This previously led to a circularity.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute
+ reference if the prefix is the dereference of an anonymous access
+ to subprogram type.
+ * exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle
+ properly a reference to the current instance of a protected type
+ from within a protected subprogram.
+ * sem_res.adb (Find_Unique_Access_Type): Treat
+ Attribute_Access_Type like Allocator_Type when resolving an
+ equality operator.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * xgnatugn.adb: Remove obsolete comments.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * back_end.ads, back_end.adb: Minor reformatting.
+ * set_targ.ads, set_targ.adb: New files.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_case.adb (Check_Against_Predicate): New routine.
+ (Check_Choices): When the type covered by the list of choices
+ is a static subtype with a static predicate, check all choices
+ agains the predicate.
+ (Issue_Msg): All versions removed.
+ (Missing_Choice): New routines.
+ * sem_ch4.adb: Code and comment reformatting.
+ (Analyze_Case_Expression): Do not check the choices when the case
+ expression is being preanalyzed and the type of the expression
+ is a subtype with a static predicate.
+ (Has_Static_Predicate): New routine.
+ * sem_ch13.adb: Code and comment reformatting. (Build_Range):
+ Always build a range even if the low and hi bounds denote the
+ same value. This is needed by the machinery in Check_Choices.
+ (Build_Static_Predicate): Always build a range even if the low and
+ hi bounds denote the same value. This is needed by the machinery
+ in Check_Choices.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor
+ reformatting.
+
+2013-04-11 Doug Rupp <rupp@adacore.com>
+
+ * gnatlink.adb: Fold program basename to lower case on VMS for
+ consistency.
+
+2013-04-11 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
+ entering loop.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
+ needed, and seems to confuse some versions of makeinfo.
+
+2013-04-11 Javier Miranda <miranda@adacore.com>
+
+ * einfo.adb (Is_Thunk): Remove assertion.
+ (Set_Is_Thunk): Add assertion.
+ * einfo.ads (Is_Thunk): Complete documentation.
+ * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
+ * exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
+ (Is_Variable_Size_Record): Moved to sem_util
+ * exp_ch6.adb (Expand_Call): Code cleanup.
+ (Expand_N_Extended_Return_Statement): Code cleanup.
+ (Expand_Simple_Function_Return): Code cleanup.
+ * exp_disp.adb Remove dependency on exp_ch3
+ (Expand_Interface_Thunk): Add minimum decoration needed to set
+ attribute Is_Thunk.
+ * sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
+ * sem_util.ad[sb] (Is_Constant_Bound): Moved from
+ sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
+ (Is_Variable_Size_Record): Moved from exp_ch3
+
+2013-04-11 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
+ not add cleanup actions in thunks associated with interface types.
+ * exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
+ the package spec.
+ * exp_ch4.adb (Tagged_Conversion): Update call to
+ Expand_Interface_Conversion since the parameter Is_Static is no
+ longer needed.
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
+ assertion to ensure that interface thunks are never handled by
+ this routine.
+ (Expand_N_Simple_Function_Return): Do not rewrite this statement
+ as an extended return statement in interface thunks, and do not
+ perform copy in the secondary stack if the return statement is
+ located in a thunk.
+ * exp_disp.adb (Expand_Dispatching_Call): No longer displace
+ the pointer to the returned object in functions returning interface
+ types.
+ (Expand_Interface_Thunk): For functions returning interface types
+ displace the pointer to the returned object.
+ (Expand_Interface_Conversion): Remove formal
+ Is_Static since this subprogram can now evaluate it locally.
+ * sem_ch3.adb (Add_Internal_Interface_Entities): For functions
+ propagate the type returned by the covered interface primitive to
+ the internal interface entity. Needed by the thunk to generate
+ the code which displaces "this" to reference the corresponding
+ secondary dispatch table.
+ * sem_disp.adb (Propagate_Tag): Update call to
+ Expand_Interface_Conversion since the parameter Is_Static is no
+ longer needed.
+ * sem_res.adb (Resolve_Type_Conversion): Update calls to
+ Expand_Interface_Conversion since the parameter Is_Static is no
+ longer needed plus code cleanup.
+
+2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c (RETURN_ADDR_OFFSET): Delete as unused.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
+ a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.
+
+2013-04-11 Yannick Moy <moy@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): Do not expand
+ discriminant check for Unchecked_Union.
+ * sem_res.adb (Resolve_Selected_Component): Set flag
+ Do_Discriminant_Check even when expansion is not performed.
+ * sinfo.ads (Do_Discriminant_Check): Update documentation for the case
+ of Unchecked_Union.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Same_Representation): Two types with different scalar
+ storage order never have the same representation.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * xgnatugn.adb (Push_Conditional): Simplify handling,
+ no longer need to keep track of "excluding" sections.
+ (Currently_Excluding): Removed.
+ (Process_Source_File):
+ Set unw/vms flag so that texinfo can do the whole handling of
+ @ifset/@ifclear sections. Fix handling of nested @ifset/@ifclear
+ sections.
+ * gnat_ugn.texi: Add a section on performing unassisted install
+ on Windows.
+
+2013-04-11 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: Document usage of -gnatd.Q switch.
+
+2013-04-11 Matthew Heaney <heaney@adacore.com>
+
+ * a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks
+ before element comparisons.
+ (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
+ Ditto.
+ * a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before
+ element comparisons.
+ * a-rbtgso.adb (Difference, Intersection): Adjust locks
+ before element comparisons.
+ (Is_Subset, Overlap): Ditto
+ (Symmetric_Difference, Union): Ditto
+ * a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks
+ before element comparisons.
+ (Set_Subset, Set_Overlap): Ditto
+ (Set_Symmetric_Difference, Set_Union): Ditto
+ * a-coorse.adb, a-ciorse.adb, a-cborse.adb
+ (Update_Element_Preserving_Key): Adjust locks before element
+ comparisons (Replace_Element): Ditto
+
+2013-04-11 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves
+ attribute.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of
+ Expand_N_Object_Declaration, used to construct an aggregate
+ with static components whenever possible, so that objects of a
+ discriminated type can be initialized without calling the init.
+ proc for the type.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Process_Directory): On VMS, always delete,
+ then recreate the temporary file with Create_Output_Text_File,
+ otherwise the output redirection does not work properly.
+
+2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * urealp.ads: Fix minor typo.
+
+2013-04-11 Fabien Chouteau <chouteau@adacore.com>
+
+ * cio.c (mktemp): Don't use tmpnam function from the
+ system on VxWorks in kernel mode.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compile): Clarify the error message reported
+ when gnatmake refuses to compile a runtime source.
+ (Start_Compile_If_Possible): Ditto.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Add documentation about -gnatc and gnatmake.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * switch-c.adb: Document internal switches.
+ * usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
+ -gnatez and -gnateO.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
+ subprogram stubs.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
+ pre/post pragmas at once before analyzing the proper body.
+ * sem_prag.adb (Chain_PPC): Handle pragma that comes from an
+ aspect on a subprogram stub.
+ * aspects.adb: Aspect specifications can appear on a
+ subprogram_Body_Stub.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb: Minor comment fix.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Process_Directory): Create a new temporary
+ file for each invocation of the compiler, in directory pointed
+ by environment variable TMPDIR if it exists.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Minor editing/clean ups.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
+ extracted from Analyze_Subprogram_Declaration, to handle null
+ procedure declarations that in ada 2012 can be completions of
+ previous declarations.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Entity_Of): Moved to Exp_Util.
+ * exp_util.ads, exp_util.adb (Entity_Of): New routine.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * g-spipat.ads: Minor comment fix.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
+ reformatting.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.ads (Fully_Qualified_Name_String): Document that the
+ constructed literal is the entity name in all upper case.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
+ check for implementation defined identifiers.
+
+2013-04-11 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Apply_Type_Conversion_Checks): Add an explanation
+ of why range check and length are put on different nodes.
+ * exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
+ when doing their expansion.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
+ New function to implement the notion introduced in RM 7.3.1
+ (5.2/3): in a child unit, a derived type is within the derivation
+ class of an ancestor declared in a parent unit, even if there
+ is an intermediate derivation that does not see the full view
+ of that ancestor.
+ * sem_res.adb (Valid_Conversion): if all else fails, examine if an
+ incomplete view of an ancestor makes a numeric conversion legal.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: in Ada2012 operators can only have in
+ parameters.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Create_Binder_Mapping_File): Do not put into
+ the mapping file ALI files of sources that have been replaced.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add subsection Duplicate Sources in Projects.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * init.c (__gnat_install_handler): Only set up an alternate
+ stack when installing a signal handler for SIGSEGV.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb (Connect_Socket, timeout version): Call
+ underlying connect operation directly, not through the 2-argument
+ Connect_Socket thick binding, in order to avoid raising a junk
+ exception for the EINPROGRESS return.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * a-cdlili.adb: Minor addition of pragma Warnings (Off).
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * hostparm.ads: Minor reformatting.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
+ tables.
+ * elists.ads, elists.adb (Contains): New routine.
+ * par-prag.adb: Pragma Depends does not need any special treatment
+ by the parser.
+ * sem_ch13.adb (Analyze_Aspect_Specifications):
+ Transform aspect Depends into a corresponding pragma.
+ (Check_Aspect_At_Freeze_Point): Aspect Depends does not need
+ inspection at its freeze point.
+ * sem_prag.adb (Analyze_Pragma): Perform analysis and
+ normalization of pragma Depends. Remove the use of function
+ Is_Duplicate_Item. Use End_Scope to uninstalle the formal
+ parameters of a subprogram. Add a value for pragma Depends in
+ table Sig_Flags.
+ (Is_Duplicate_Item): Removed.
+ * snames.ads-tmpl: Add predefined name for Depends as well as
+ a pragma identifier.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb: Minor code clean up.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
+ Ignore enumeration rep clauses by default in CodePeer mode, unless
+ -gnatd.I is specified.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Safe_To_Capture_Value): If the node belongs to
+ an expression that has been attached to the else_actions of an
+ if-expression, the capture is not safe.
+
+2013-04-11 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
+ conversion for arrays.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
+
+2013-04-11 Johannes Kanig <kanig@adacore.com>
+
+ * adabkend.adb: Minor comment addition.
+
+2013-04-11 Matthew Heaney <heaney@adacore.com>
+
+ * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
+ lock counts before entering loop.
+ (Find): Ditto.
+ (Is_Sorted, Merge, Sort): Ditto.
+ (Reverse_Find): Ditto.
+ (Splice_Internal): Internal operation to refactor splicing logic.
+ (Splice): Some logic moved into Splice_Internal.
+
+2013-04-11 Johannes Kanig <kanig@adacore.com>
+
+ * adabkend.adb (Scan_Compiler_Arguments): Do not call
+ Set_Output_Object_File_Name in Alfa_Mode
+ * gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
+ * opt.ads: Fix documentation.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor code reorganization and comment fixes.
+ * sem_type.adb: Minor reformatting.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Process_Transient_Object): Add new
+ local variable Fin_Call. Remove and explain ??? comment. Use the
+ Actions of logical operators "and then" and "or else" to insert
+ the generated finalization call.
+
+2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_rm.texi: Fix typo.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * atree.h: Add declarations for Flag255-Flag289 Fix declaration
+ of Field30 (was wrong, but no effect, since not yet referenced by
+ back end) Add declarations for Field31-Field35 Add declarations
+ for Node31-Node35.
+ * einfo.ads, einfo.adb (Has_Invariants): No longer applies to
+ procedures.
+ (Has_Predicates): No longer applies to functions.
+ (Is_Predicate_Function): New flag.
+ (Is_Predicate_Function_M): New flag.
+ (Is_Invariant_Procedure): New flag.
+ (Predicate_Function_M): New function.
+ (Set_Predicate_Function_M): New procedure.
+ * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
+ case of appearing in predicate used for membership test.
+ * exp_ch3.adb (Insert_Component_Invariant_Checks): Set
+ Is_Invariant_Procedure flag.
+ * exp_ch4.adb (Expand_Op_In): Call special predicate function
+ that takes care of raise_expression nodes in the predicate.
+ * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
+ membership case.
+ * sem_ch13.adb (Build_Predicate_Functions): New name for
+ Build_Predicate_Function. Major rewrite to take care of raise
+ expression in predicate for membership tests.
+ * sem_res.adb (Resolve_Actuals): Include both predicate functions
+ in defense against infinite predicate function loops.
+ * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb: Generate reference for component of anonymous
+ access type.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * stand.ads: Minor reformatting.
+
+2013-04-11 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
+ counts before entering loop.
+ (Find, Find_Index): Ditto.
+ (Is_Sorted, Merge, Sort): Ditto.
+ (Reverse_Find, Reverse_Find_Index): Ditto.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
+ * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
+ * expander.adb: Add call to Expand_N_Raise_Expression.
+ * par-ch11.adb (P_Raise_Expression): New procedure.
+ * par-ch4.adb (P_Relation): Handle Raise_Expression.
+ * par.adb (P_Raise_Expression): New procedure.
+ * sem.adb: Add handling for N_Raise_Expression.
+ * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
+ * sem_res.adb (Resolve): Add handling for N_Raise_Expression.
+ * sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
+ * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
+ * stand.ads (Any_Type): Document use with N_Raise_Expression.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Remove section "The Development Environments"
+ now that all predefined attributes are documented, including
+ those in package IDE.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Preserve parent link in copy of expression.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Complete rewrite of the subsection Attributes
+ in section "Project file Reference".
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): Remove wrapping in
+ expression-with-actions node. No longer needed given fix to
+ sem_prag and caused loss of some useful warnings.
+ * sem.ads: Minor reformatting.
+ * sem_prag.adb (Check_Disabled): Removed, to be replaced by not
+ Check_Enabled. These two routines were curiously incompatible
+ causing confusion.
+ (Analyze_Pragma, case Check): Make sure we do
+ not expand the string argument if the check is disabled. Avoid
+ use of Check_Disabled, which resulted in missing analysis in
+ some cases.
+ * sem_prag.ads (Check_Disabled): Removed, to be replaced by not
+ Check_Enabled. These two routines were curiously incompatible
+ causing confusion.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Process_Transient_Object): Use
+ an unchecked conversion when associating a transient controlled
+ object with its "hook".
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case
+ Preelaborable_Initialization): The pragma is legal if it comes
+ from an aspect on the private view of the type, even though its
+ analysis point takes place later at the freeze point.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor reformatting.
+
+2013-04-11 Yannick Moy <moy@adacore.com>
+
+ * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
+ read ALI files with No_Object=True in Alfa mode.
+ * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
+ this is during frame condition generation of translation to Why.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor code reorganization
+ * types.ads: Minor reformatting.
+
+2013-04-11 Johannes Kanig <kanig@adacore.com>
+
+ * opt.ads New global boolean Frame_Condition_Mode to avoid
+ referring to command line switch.
+ * gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
+ is present, and disable Code generation in that case. Disable
+ ALI file generation when switch is *not* present.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): Perform the
+ pre-analysis on a copy of the expression, to prevent downstream
+ visbility issues involving operators and instantiations.
+
+2013-04-11 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: Reservation and documentation for -gnatd.G switch.
+ * gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
+ switch, and set ALI file generation accordingly.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb, exp_dist.adb: Minor reformatting.
+ * gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
+ check names introduced with pragma Check_Name are suppressed by -gnatp.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
+ Files" from projects.texi to gnat_ugn.texi.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-04-11 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
+ mode.
+
+2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Detect the
+ allocation of an anonymous controlled object where the type of
+ the context is named. Use the pool and finalization master of
+ the named access type to allocate the object.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Remove most mentions of gprbuild.
+ * projects.texi: Remove all mentions of asociative array
+ attributes.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
+ opt.ads, sem_ch13.adb: Minor reformatting.
+ * debug.adb: Minor comment fix (remove junk .I doc).
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
+ PolyORB): Bump to 6.
+ (Exp_Dist.PolyORB_Support): Replace TC_Build with
+ Build_Complex_TC.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
+ exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
+ Enable this flag in CodePeer mode, and also via -gnatd.M.
+ Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Check_Constrained_Object): If a subtype is created
+ from the renamed object in an object renaming declaration with
+ an unconstrained nominal subtype, freeze the created subtype at
+ once, to prevent order of elaboration issues in the backend.
+
+2013-04-11 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
+ in particular in CodePeer mode.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for backup copies of project
+ files for gnatname.
+
+2013-04-11 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
+ pragma list.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb (Scan_Args): Recognize new switch --no-backup
+ (Usage): Add line for --no-backup.
+ * opt.ads (No_Backup): New Boolean variable, initialized to False.
+ (Ada_Version_Default): Switch to Ada 2012 by default.
+ * prj-makr.adb (Initialize): Create a backup for an existing
+ project file if gnatname is not invoked with --no-backup.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor code improvement: replace various calls to
+ Make_If_Statement in expansion with Make_Implicit_If_Statement.
+
+2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ali.adb: Fix minor typo.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Find_Enclosing_Context): Add missing case of
+ N_Procedure_Call_Statement.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Minor comment fix.
+
+2013-04-11 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: Remove comment for -gnatd.G.
+
+2013-04-11 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
+ Remove recursive routine, replace with...
+ (Expand_Record_Equality.Element_To_Compare): New subroutine,
+ implement iterative search for next element to compare.
+ Add explanatory comment in the tagged case.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: remove spurious warning from non-empty loop.
+ * sem_ch8.adb (Enclosing_Instance): Make public to other routines
+ in the package, in order to suppress redundant semantic checks
+ on subprogram renamings in nested instantiations.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Minor reformatting.
+ * sem_eval.adb (Why_Not_Static): Now issues continuation messages
+ (Why_Not_Static): Test for aggregates behind string literals.
+ * sem_eval.ads (Why_Not_Static): Now issues continuation messages.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenation): Wrap expansion in
+ Expressions_With_Actions.
+
+2013-04-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Base_Types_Match): For an actual type in an
+ instance, the base type may itself be a subtype, so find true
+ base type to determine compatibility.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
+ makeutl.adb, sem_ch8.adb: Minor reformatting.
+
+2013-04-11 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Minor fixes for VMS.
+ * ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb (Usage): Minor edit to -gnatW message
+
+2013-04-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
+ others for string literal case. Also add big ??? comment about
+ this new code, which should be redundant, but is not.
+ * sem_eval.adb (Eval_Concatenation): Handle non-static case
+ properly (Eval_String_Literal): Handle non-static literal properly
+
+2013-03-20 Tobias Burnus <burnus@net-b.de>
+
+ * i-fortra.ads: Update comment, add Ada 2012's optional
+ Star and Kind data types for enhanced interoperability.
+
+2013-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 4.9.
+
+2013-03-08 Cesar Strauss <cestrauss@gmail.com>
+
+ PR ada/52123
+ * seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
+ (__gnat_SEH_error_handler): Likewise. Remove final return.
+
+2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring
+ out for an unimplemented attribute.
+
+2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around
+ a misaligned integral type if a size is specified for the field.
+
+2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>:
+ Record the unpadded type of the index type on the RCI stack.
+
+2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (emit_range_check): Assert that the range type
+ is a numerical type and remove useless local variables.
+
+2013-02-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h: Back out change accidentally committed.
+
+2013-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/56258
+ * gnat-style.texi (@title): Remove @hfill.
+ * projects.texi: Avoid line wrapping inside of @pxref or @xref.
+
+2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de>
+
+ PR target/52123
+ * tracebak.c: Cast from pointer via FARPROC.
+
+2013-02-07 Simon Wright <simon@pushface.org>
+
+ PR target/50678
+ * init.c (__darwin_major_version): New function for x86-64/Darwin.
+ (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
+ on Darwin 12 and above.
+
+2013-02-06 Rainer Emrich <rainer@emrich-ebersheim.de>
+
+ PR target/52123
+ * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
+ SECURITY_DESCRIPTOR *
+ (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE
+ (__gnat_portable_spawn): Fix cast to char* const*
+ (add_handle): Cast from pointer via void **
+ (add_handle): Cast from pointer via int *
+ (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *
+ (__gnat_locate_exec_on_path): Cast from pointer via char *
+ * initialize.c (append_arg): Cast from pointer via LPWSTR
+ (__gnat_initialize): Cast from pointer via LPWSTR
+ * seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
+ target pairs on VxWorks 5 only.
+
+2013-02-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-02-06 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Process_Aggregated_Projects): Use a new project
+ node tree for each project tree rooted at an aggregated project.
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_util.adb (Is_Interface_Conversion): New routine.
+ (Object_Access_Level): Detect an interface conversion
+ that has been rewritten into a different construct. Use the
+ original form of the conversion to find the access level of
+ the operand.
+
+2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201.
+ (Has_Pragma_No_Inline): Declare and mark as inline.
+ (Set_Has_Pragma_No_Inline): Likewise.
+ * einfo.adb (Has_Pragma_No_Inline): New function.
+ (Set_Has_Pragma_No_Inline): New procedure.
+ (Write_Entity_Flags): Handle Has_Pragma_No_Inline.
+ * snames.ads-tmpl (Name_No_Inline): New pragma-related name.
+ (Pragma_Id): Add Pragma_No_Inline value.
+ * par-prag.adb (Prag): Handle Pragma_Inline.
+ * sem_prag.adb (Inline_Status): New enumeration type.
+ (Process_Inline): Change Active parameter
+ to Inline_Status and add support for suppressed inlining.
+ (Analyze_Pragma) <Pragma_Inline>: Adjust to above change.
+ <Pragma_Inline_Always>: Likewise.
+ <Pragma_No_Inline>: Implement new pragma No_Inline.
+ (Sig_Flags): Add Pragma_No_Inline.
+ * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline.
+ * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline.
+
+2013-02-06 Pascal Obry <obry@adacore.com>
+
+ * s-osprim-mingw.adb (Clock): Make sure we copy all data locally
+ to avoid interleaved modifications that could happen from another
+ task calling Get_Base_Data.
+ (Get_Base_Data): Make it a critical section. Avoid updating if another
+ task has already done it.
+
+2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2013-02-06 Pascal Obry <obry@adacore.com>
+
+ * s-tasloc.ads: Set System.Task_Lock to preelaborate.
+
+2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
+ Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
+ names.
+ (Pragma_Id): Add Pragma_Loop_Optimize value.
+ * par-prag.adb (Prag): Handle Pragma_Loop_Optimize.
+ * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to...
+ (Check_Loop_Pragma_Placement): ...this.
+ (Analyze_Pragma)
+ <Pragma_Loop_Invariant>: Adjust to above renaming.
+ <Loop_Variant>: Likewise.
+ <Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize.
+ (Sig_Flags): Add Pragma_Loop_Optimize.
+ * gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize.
+ * gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize.
+
+2013-02-06 Robert Dewar <dewar@adacore.com>
+
+ * osint.ads: Minor fix of typo.
+
+2013-02-06 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi: gnatmetric: update the documentation of
+ complexity metrics for Ada 2012.
+
+2013-02-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_Secondary_DT): Code cleanup:
+ remove useless initialization.
+
+2013-02-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Discriminant_Constraints): Do not
+ generate overflow checks on a discriminant expression if the
+ discriminant constraint is applied to a private type that has
+ a full view, because the check will be applied when the full
+ view is elaborated. Removing the redundant check is not just
+ an optimization, but it prevents spurious assembler errors,
+ because of the way the backend generates names for expressions
+ that require overflow checking.
+
+2013-02-06 Pascal Obry <obry@adacore.com>
+
+ * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
+ limitation on Windows.
+ (DA): Removed.
+ (LIA): Removed.
+ (LLIA): Removed.
+ (TFA): Removed.
+ (BTA): Removed.
+ (BMTA): Removed.
+ (BCA): Removed.
+ (BMCA): Removed.
+ (BTiA): Removed.
+ (Clock): Use variable corresponding to access.
+ (Get_Base_Time): Likewise.
+ (Monotonic_Clock): Likewise.
+
+2013-02-06 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): When gnatmake is called with a project
+ file, do not invoke gnatbind with -I-.
+ * makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
+ the infos from all the sources.
+
+2013-02-06 Ed Schonberg <schonberg@adacore.com>
+
+ * snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
+ Overriding_Renamings.
+ * par-prag.adb: Recognize pragma Overriding_Renamings.
+ * opt.ads (Overriding_Renamings): flag to control compatibility
+ mode with Rational compiler, replaces Rational_Profile flag.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): When
+ Overriding_Renamings is enabled, accept renaming declarations
+ where the new subprogram renames and overrides a locally inherited
+ operation. Improve error message for some illegal renamings.
+ * sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
+ (Set_Rational_Profile): The Rational_Profile enables
+ Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
+
+2013-02-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb: Set parent of copied aggregate component, to
+ prevent infinite loop.
+
+2013-02-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch10.adb: Minor reformatting.
+ * exp_disp.adb: Minor comment update.
+ * comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
+ No_Return pragmas.
+
+2013-02-06 Thomas Quinot <quinot@adacore.com>
+
+ * targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
+ parameter, defaulted to False for now, indicates targets where
+ non-default scalar storage order may be specified.
+
+2013-02-06 Thomas Quinot <quinot@adacore.com>
+
+ * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
+ same as E_Record_Subtype. Display E_Class_Wide_Subtype as
+ subtype, not type.
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): Inherit the
+ Has_Unknown_Discriminants from the full view of the base type.
+
+2013-02-06 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h)
+ Enclosing debugging functions within #ifndef inhibit_libc to
+ support builds without full C headers.
+
+2013-02-06 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order.
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing
+ check to detect a parent-child relationship between two units in
+ order to correctly bypass the installation of a limited view. In
+ other words, the comment on the intended usage of the check was
+ correct, but the code itself did not reflect the behavior.
+
+2013-02-06 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
+ runtime check on assignment to tagged types if compiling with checks
+ suppressed.
+
+2013-02-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
+ s-os_lib.adb: Minor reformatting
+
+2013-02-06 Vincent Celier <celier@adacore.com>
+
+ * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
+
+2013-02-06 Ed Schonberg <schonberg@adacore.com>
+
+ * snames.ads-tmpl: Add Name_Rational and pragma Rational.
+ * par-prag.adb: Recognize pragma Rational.
+ * opt.ads (Rational_Profile): flag to control compatibility mode
+ with Rational compiler.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
+ is enable, accept renaming declarations where the new subprogram
+ and the renamed entity have the same name.
+ * sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
+ Rational as a profile.
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_Loop_Entry_Attributes): When
+ dealing with a for loop that iterates over a subtype indication
+ with a range, use the low and high bounds of the subtype.
+
+2013-02-06 Nicolas Roche <roche@adacore.com>
+
+ * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
+ be quoted
+
+2013-02-06 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Process_Project_And_Apply_Config): New variable
+ Conf_Project. New recursive procedure Check_Project to find a non
+ aggregate project and put its Project_Id in Conf_Project. Fails if
+ no such project can be found.
+ (Get_Or_Create_Configuration_File): New parameter Conf_Project.
+ (Do_Autoconf): Use project directory of project Conf_Project to store
+ the generated configuration project file.
+ * prj-conf.ads (Get_Or_Create_Configuration_File): New parameter
+ Conf_Project.
+
+2013-02-06 Javier Miranda <miranda@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Generate a read
+ reference for out-mode parameters in the cases specified by
+ RM 6.4.1(12).
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of
+ Loop_Entry, instead wait until the attribute has been expanded. The
+ delay ensures that any generated checks or temporaries are inserted
+ before the relocated prefix.
+
+2013-02-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Code clean up.
+
+2013-02-06 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Discriminant_Check): Look for discriminant
+ constraint in full view of private type when needed.
+ * sem_ch12.adb (Validate_Array_Type_Instance): Specialize
+ previous patch to components types that are private and without
+ discriminants.
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Find_Enclosing_Context): Recognize
+ a simple return statement as one of the cases that require special
+ processing with respect to temporary controlled function results.
+ (Process_Transient_Object): Do attempt to finalize a temporary
+ controlled function result when the associated context is
+ a simple return statement. Instead, leave this task to the
+ general finalization mechanism.
+
+2013-02-06 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+ (Status_Flag_Or_Transient_Decl): Add ??? comment.
+
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
+ routine should be able to properly detect controlled transient
+ objects in its actions and generate the appropriate finalization
+ actions.
+ * exp_ch6.adb (Enclosing_Context): Removed.
+ (Expand_Ctrl_Function_Call): Remove local subprogram and
+ constant. Use routine Within_Case_Or_If_Expression to determine
+ whether the lifetime of the function result must be extended to
+ match that of the context.
+ * exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
+ routine.
+
+2013-02-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Array_Type_Instance): Extend check
+ for subtype matching of component type of formal array type,
+ to avoid spurious error when component type is a separate actual
+ in the instance, and there may be a discrepancy between private
+ and full view of component type.
+
+2013-02-06 Robert Dewar <dewar@adacore.com>
+
+ * s-dim.ads, clean.adb: Minor reformatting.
+
+2013-02-06 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
+ (Can_Split_Unconstrained_Function): Only split the inlined function if
+ the compiler generates the code of its body.
+
+2013-02-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
+ exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
+ N_Pragma nodes.
+
+2013-02-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor text updates for pragma Warning.
+
+2013-02-06 Geert Bosch <bosch@adacore.com>
+
+ * s-multip.adb (Number_Of_CPUs): Short-circuit in case of
+ CPU'Last = 1.
+
+2013-02-06 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Delete): On VMS use host notation to delete all files.
+
+2013-02-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
+ reformatting.
+
+2013-02-06 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
+ the special case of a user-defined equality that overrides
+ the predefined equality of a nonderived type declared in a
+ declarative part.
+ * sem_util.adb (Collect_Primitive_Operations): Add test for
+ Is_Primitive when looping over the subprograms following a type,
+ to catch the case of primitives such as a user-defined equality,
+ which otherwise won't be found when the type is not a derived
+ type and is declared in a declarative part.
+
+2013-02-06 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Check_Target): Always return True when Target
+ is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
+ New procedure to get the value of attribute Target in the main
+ project.
+ (Get_Or_Create_Configuration_File.Do_Autoconf): No
+ need to get the value of attribute Target in the main project.
+ (Get_Or_Create_Configuration_File): Call Get_Project_Target and
+ use the target fom this call.
+
+2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * erroutc.adb (Validate_Specific_Warning): Do not issue the
+ warning about an ineffective Pragma Warnings for -Wxxx warnings.
+ * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
+ * gnat_rm.texi (Pragma Warnings): Document coordination with
+ warnings of the GCC back-end.
+
+2013-02-06 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
+ of an inlined function if we do not generate code for the function.
+
+2013-02-06 Pascal Obry <obry@adacore.com>
+
+ * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
+ with Resolve_Links set to False.
+
+2013-02-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Include diagnostic-core.h.
+ (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
+ is set on the entity.
+ <E_Record_Type>: Likewise.
+ * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
+
+2013-01-29 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_rm.texi: Fixed typos. Minor edits.
+
+2013-01-29 Bob Duff <duff@adacore.com>
+
+ * a-convec.adb: Minor reformatting.
+
+2013-01-29 Pascal Obry <obry@adacore.com>
+
+ * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
+ directory.
+
+2013-01-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop
+ identifier only if it comes from source.
+ (Expand_N_Loop_Statement): If the domain of iteration is an
+ enumeration type with a representation clause, remove from
+ visibility the loop identifier before rewriting the loop as a
+ block with a declaration for said identifier.
+ * sem_util.adb (Remove_Homonym): Handle properly the default case.
+
+2013-01-29 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb: Minor comment spelling fix.
+
+2013-01-29 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb (Process_Expression_Variable_Decl): Prepend
+ Project_Path to current environment.
+
+2013-01-29 Thomas Quinot <quinot@adacore.com>
+
+ * sprint.adb (Sprint_Node_Actual): Output freeze nodes for
+ itypes even if Dump_Freeze_Null is not set.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+ * s-rident.ads: Minor comment fixes.
+
+2013-01-29 Pascal Obry <obry@adacore.com>
+
+ * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
+ control if the path is prepended or appended.
+
+2013-01-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): An expression
+ function declaration is not a subprogram declaration, and thus
+ cannot appear in a protected definition.
+
+2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Insert_Actions): When new
+ actions come from the expression of the expression with actions,
+ then they must be added to the list of existing actions.
+
+2013-01-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
+ the subtype of a constrained private type with discriminants
+ that has got a full view, show that the completion is a clone
+ of the full view.
+
+2013-01-29 Javier Miranda <miranda@adacore.com>
+
+ * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
+ * opt.ads (Warn_On_Overlap): Update documentation.
+ * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
+ Check function writable actuals.
+ * sem_ch3.adb (Build_Derived_Record_Type,
+ Record_Type_Declaration): Check function writable actuals.
+ * sem_ch4.adb (Analyze_Range): Check function writable actuals.
+ * sem_ch5.adb (Analyze_Assignment): Remove code of the initial
+ implementation of AI05-0144.
+ * sem_ch6.adb (Analyze_Function_Return,
+ (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
+ of the initial implementation of AI05-0144.
+ * sem_res.adb (Resolve): Remove code of the initial implementation.
+ (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
+ of the initial implementation.
+ (Resolve_Arithmetic_Op, Resolve_Logical_Op,
+ Resolve_Membership_Op): Check function writable actuals.
+ * sem_util.ad[sb] (Actuals_In_Call): Removed
+ (Check_Order_Dependence): Removed (Save_Actual): Removed
+ (Check_Function_Writable_Actuals): New subprogram.
+ * usage.adb (Usage): Update documentation.
+ * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
+ setting all warnings.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * a-calend-vms.adb: Minor comment fix.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash
+ because of casing issues.
+ * sem_util.ads: Minor comment fix.
+ * style.adb (Check_Identifier): Set proper casing for entities
+ in ASCII.
+ * styleg.adb: Minor comment improvement.
+ * stylesw.ads (Style_Check_Standard): Fix bad comments.
+
+2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global.
+ (Analyze_Pragma): Push the scope of the related subprogram and install
+ its formals once before starting the analysis of the [moded] global
+ list.
+
+2013-01-29 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb (Process_Expression_Variable_Decl): Always handle
+ relative paths in Project_Path as relative to the aggregate
+ project location. Note that this was what was documented.
+
+2013-01-29 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: For "gnat stub -P ...", do not check the naming
+ scheme for Ada, when Ada is not a language for the project.
+
+2013-01-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
+ Is_Generic_Actual_Type flag in a nested instance.
+ * sem_ch12.adb (Restore_Private_Views): Preserve
+ Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
+ of an enclosing instance.
+ * sem_util.adb (Corresponding_Generic_Type): Handle generic actual
+ which is an actual of an enclosing instance.
+ * sem_type.adb (Real_Actual): If a generic_actual_type is the
+ formal of an enclosing generic and thus renames the corresponding
+ actual, use the actual of the enclosing instance to resolve
+ spurious ambiguities in instantiations when two formals are
+ instantiated with the same actual.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
+ being available as implementation-defined pragmas in earlier
+ versions of Ada.
+
+2013-01-29 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Delete): On VMS, delete all versions of the file.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
+ * par-util.adb (No_Constraint): Undo special handling, moved
+ to par-ch6.adb.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads: Aspect Warnings is implementation defined Add
+ some other missing entries to impl-defined list Mark Warnings
+ as GNAT pragma in main list.
+ * sem_ch8.adb: Process aspects for all cases of renaming
+ declarations.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
+ * sem_elab.adb (Check_Internal_Call_Continue): Do not issue
+ warnings about possible elaboration error if call is within
+ an assertion.
+ * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
+ * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
+ s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Ignore_Style_Checks_Pragmas): New flag.
+ * par-prag.adb (Par, case Style_Checks): Recognize
+ Ignore_Style_Checks_Pragmas.
+ * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
+ Ignore_Style_Checks_Pragmas.
+ * switch-c.adb: Recognize -gnateY switch.
+ * usage.adb: Add documentation for "-gnateY".
+ * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
+
+2013-01-29 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Clean_Executables): Add Sid component when calling
+ Queue.Insert.
+ * make.adb: When inserting in the Queue, add the Source_Id
+ (Sid) when it is known (Start_Compile_If_Possible): When the
+ Source_Id is known (Sid), get the path name of the ALI file
+ (Full_Lib_File) from it, to avoid finding old ALI files in other
+ object directories.
+ * makeutl.ads (Source_Info): New Source_Id component Sid in
+ Format_Gnatmake variant.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document -gnateY.
+
+2013-01-29 Doug Rupp <rupp@adacore.com>
+
+ * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
+ system-vms-ia64.ads: Replace pragma Interface by pragma Import.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, atree.adb (Node30): New function.
+ (Set_Node30): New procedure.
+ (Num_Extension_Nodes): Change to 5 (activate new fields/flags).
+ * atree.h: Add macros for Field30 and Node30.
+ * einfo.ads, einfo.adb: Move some fields to avoid duplexing.
+ * treepr.adb (Print_Entity_Information): Print fields 30-35.
+
+2013-01-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Interface): Consider to
+ be a violation of No_Obsolescent_Features even in Ada 95. Also
+ generates a warning in -gnatwj mode.
+ (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
+ mode.
+ * gnat_ugn.texi: Additional documentation on -gnatwj and pragma
+ Interface[_Name].
+
+2013-01-29 Vincent Celier <celier@adacore.com>
+
+ * snames.ads-tmpl: Add new standard name Trailing_Switches.
+
+2013-01-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Controlling_Type): If a designated type T
+ of an anonymous access type is a limited view of a tagged type,
+ it can be a controlling type only if the subprogram is in the
+ same scope as T.
+
+2013-01-29 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: Use the project where the config pragmas file is
+ declared to get its path.
+
+2013-01-29 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New attribute Linker'Trailing_Switches.
+
+2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
+ not translate the Etype of the node before translating the Actions.
+
+2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
+ instead of optimize and adjust warning message.
+ (Compilation_Unit_to_gnu): Process pragmas preceding the unit.
+
+2013-01-22 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/gigi.h (ADT_unhandled_except_decl,
+ ADT_unhandled_others_decl): New.
+ (unhandled_others_decl, unhandled_except_decl): Define.
+ * gcc-interface/trans.c: Include common/common-target.h.
+ (gigi): Initialize them.
+ (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
+ function in a try/catch clause.
+
+2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
+ (CHECKING_ADAFLAGS): New.
+ (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
+
+2013-01-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
+ * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
+
+2013-01-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
+ comment about type extension with discriminants.
+ <E_Record_Subtype>: Remove useless test and reorder conditions.
+ (elaborate_entity) <E_Record_Subtype>: Likewise.
+
+2013-01-07 Richard Biener <rguenther@suse.de>
+
+ PR ada/864
+ * gcc-interface/Make-lang.in (ada.install-common): Always apply
+ program_transform_name.
+
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Current_Year): Bump to 2013.
+
+2013-01-06 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
+ diagnostic for component size mismatch wrt volatile requirements.
+ Add a gcc_unreachable() at the end of the checks for size. Split
+ the check on volatile for positions into one check on atomic and
+ a subsequent one on volatile.
+
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
+
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
+ pack the field of the record type made for a misaligned type.
+
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
+ for discriminants inherited from parent record types.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * warnsw.adb: Minor fixes to -gnatw.d handling.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
+ fields.
+
+2013-01-04 Joel Brobecker <brobecker@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document alignment choice for subtypes.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * validsw.ads: Minor fix to comment.
+
+2013-01-04 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.rtl (GNATRTL_NONTASKING_OBJS,
+ GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
+ * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
+ (GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
+ Rename leon vxworks toolchain as leon-wrs-vxworks.
+ * gcc-interface/Make-lang.in: Update dependencies
+
+2013-01-04 Pascal Obry <obry@adacore.com>
+
+ * prj.ads (For_Each_Source): Add Locally_Removed parameter.
+ (Source_Iterator): Add Locally_Removed field.
+ * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
+ (Next): Likewise.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb: Minor reformatting.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Insert_Valid_Check): Fix handling of renamed
+ packed array element.
+ * exp_ch4.adb (Expand_Concatenate): Fix some missing parent
+ fields in generated code.
+ * exp_util.adb (Side_Effect_Free): Improve detection of cases
+ needing renaming.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Clean up order of N_xxx subtypes
+
+2013-01-04 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb (P_Subprogram): Better handling of missing IS
+ after expression function.
+ * par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
+ actions case, new actions are appended to the sequence rather than
+ prepended.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
+ * usage.adb: Add lines for -gnatw.d/w.D switches.
+ * warnsw.adb: Minor fixes (some missing cases of setting
+ Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
+ is restored on exit.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Document -gnateF (check overflow for predefined Float).
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): Remove incorrect
+ prevention of call to Apply_Type_Conversion_Checks, which resulted
+ in missing check flags in formal mode.
+
+2013-01-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads (Db_Switch_Args): New table used by gprbuild.
+ * prj-conf.adb (Check_Builder_Switches): Check for switches
+ --config= (Get_Db_Switches): New procedure to get the --db
+ switches so that they are used when invoking gprconfig in
+ auto-configuration.
+ (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
+
+2013-01-04 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting.
+
+2013-01-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads (Root_Environment): New variable, moved rom
+ gprbuild (Load_Standard_Base): New Boolean variable, moved
+ from gprbuild.
+ * prj-conf.adb (Check_Builder_Switches): New procedure to check
+ for switch --RTS in package Builder. If a runtime specified
+ by --RTS is a relative path name, but not a base name, then
+ find the path on the Project Search Path.
+ (Do_Autoconf): Call Check_Builder_Switches.
+ (Locate_Runtime): New procedure, moved from gprbuild, to get the
+ absolute paths of runtimes when they are not specified as a base name.
+ * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
+
+2013-01-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Private_Derived_Type): Set
+ Has_Private_Ancestor on type derived from an untagged private
+ type whose full view has discriminants
+ * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
+ aggregate for untagged record type with private ancestor.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb, sem_ch3.adb: Minor reformatting.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * table.adb: Minor reformatting.
+
+2013-01-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
+ not come from source does not generate a warning for redundant
+ with_clauses.
+
+2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
+ * par-prag.adb: Add pragma Global to the list of pragmas that
+ do not need special processing by the parser.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
+ Global into a pragma without any form of legality checks. The
+ work is done by Analyze_Pragma. The aspect and pragma are both
+ marked as needing delayed processing. Insert the corresponding
+ pragma of aspect Abstract_State in the visible declarations of the
+ related package.
+ (Check_Aspect_At_Freeze_Point): Aspect Global
+ does not need processing even though it is marked as delayed.
+ Alphabetize the list on aspect names.
+ * sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
+ (Analyze_Pragma): Add ??? comment about the grammar of pragma
+ Abstract_State. Move the error location from the pragma to the
+ state to improve the quality of error placement. Add legality
+ checks for pragma Global.
+ * snames.ads-tmpl Add the following specially recognized names
+
+2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb: Fix minor typo.
+
+2013-01-04 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
+ accept an aspect name followed by a comma, indicating a defaulted
+ boolean aspect.
+
+2013-01-04 Joel Brobecker <brobecker@adacore.com>
+
+ * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
+ Update doc on gnattest --separates switch.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * s-chepoo.ads: Minor reformatting.
+
+2013-01-04 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb: Remove mention of -gnatN in usage.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
+ freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
+ prj-conf.adb, sem_ch13.adb: Minor reformatting.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor documentation update.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
+ before resolving initialization expression.
+
+2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Generate_Index_Checks): Delay the generation of
+ the check for an indexed component where the prefix mentions
+ Loop_Entry until the attribute has been properly expanded.
+ * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
+ decoration of the constant that captures the value of Loop_Entry's
+ prefix at the entry point into a loop. Generate index checks
+ for an attribute reference that has been transformed into an
+ indexed component.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
+ sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
+ do if Obj is already frozen.
+ (Exp_Util.Find_Init_Call): Rename to...
+ (Exp_Util.Remove_Init_Call): New subprogram, renamed from
+ Find_Init_Call. Remove the initialization call from the enclosing
+ list if found, and if it is from an Initialization_Statements
+ attribute, reset it.
+ (Exp_Util.Append_Freeze_Action): Minor code reorganization.
+ (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
+ allocated (as is already done in Append_Freeze_Action).
+ (Freeze.Freeze_Entity): For an object with captured
+ Initialization_Statements and non-delayed freezeing, unwrap the
+ initialization statements and insert and them directly in the
+ enclosing list.
+ (Sem_Ch13.Check_Address_Clause): For an object
+ with Initialization_Statements and an address clause, unwrap the
+ initialization statements when moving them to the freeze actions.
+
+2013-01-03 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
+ corresponding attibutes.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb: Minor comment improvement.
+
+2013-01-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
+ relevant tables.
+ * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
+ the description of fields (Abstract_States): New routine.
+ (Integrity_Level): New routine.
+ (Has_Property): New routine.
+ (Is_Input_State): New routine.
+ (Is_Null_State): New routine.
+ (Is_Output_State): New routine.
+ (Is_Volatile_State): New routine.
+ (Refined_State): New routine.
+ (Set_Abstract_States): New routine.
+ (Set_Integrity_Level): New routine.
+ (Set_Refined_State): New routine.
+ (Write_Field8_Name): Add proper output for E_Abstract_State.
+ (Write_Field9_Name): Add proper output for E_Abstract_State.
+ (Write_Field25_Name): Add proper output for E_Package.
+ * lib-xref.ads: Add new letter for an abstract state.
+ * par-prag.adb: Add pragma Abstract_State to the list of pragma
+ that do not need special processing by the parser.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Convert
+ aspect Abstract_State into a pragma without any form
+ of legality checks. The work is done by Analyze_Pragma.
+ (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
+ require delayed analysis.
+ * sem_prag.adb: Add a value for pragma Abstract_State in table
+ Sig_Flags.
+ (Analyze_Pragma): Add legality checks for pragma
+ Abstract_State. Analysis of individual states introduces a state
+ abstraction entity into the visibility chain.
+ * snames.ads-tmpl: Add new names for abstract state and
+ integrity. Add new pragma id for abstract state.
+
+2013-01-03 Bob Duff <duff@adacore.com>
+
+ * table.adb (Reallocate): Calculate new Length in
+ Long_Integer to avoid overflow.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
+ (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
+ it is set properly when expanding the initialization expression.
+ (Freeze.Check_Address_Clause): Transfer initialization expression
+ to an assignment in the freeze actions, so that the object is
+ initialized only after being elaborated by GIGI.
+ (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
+ a Null_Statement as the expression in an Expression_With_Actions.
+ (Exp_Aggr.Collect_Initialization_Statements): New subprogram
+ shared by expansion of record and array aggregates, used to
+ capture statements for an aggregate used to initalize an object
+ into an Expression_With_Actions (which acts as a container for
+ a list of actions).
+ (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
+ capture initialization statements, instead of the previously
+ existing loop which left freeze nodes out of the capturing
+ construct (causing out of order elaboration crashes in GIGI).
+ (Exp_Aggr.Expand_Array_Aggregate): Use the above to capture
+ initialization statements (this was previously not done for
+ arrays). Also do not unconditionally prevent in place expansion
+ for an object with address clause.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
+ a record extension has the same scalar storage order as the parent type.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Add comment.
+
+2013-01-03 Vincent Celier <celier@adacore.com>
+
+ * prj.adb: Minor spelling error correction in comment.
+
+2013-01-03 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): If a single main has been specified
+ as an absolute path, use its simple file name to find specific
+ switches, instead of the absolute path.
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
+ parameters that are record types or array types generate warnings
+ only compiling under -gnatw.i
+ * opt.ads (Extensions_Allowed): Restore previous documentation.
+
+2013-01-03 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Do_Autoconf): If Target is specified in the
+ main project, but not on the command line, use the Target in
+ the project to invoke gprconfig in auto-configuration.
+ * makeutl.ads (Default_Config_Name): New constant String.
+
+2013-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb: Minor: fix typo in usage.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
+ an illegal component clause for an inherited component in a
+ record extension.
+
+2013-01-03 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
+ have information in the ALI file for both the index and the component
+ types.
+
+2013-01-03 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Fix error in documenting the project path
+ computed for an aggregate project.
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
+ plus restricting the functionality of this routine to cover the
+ cases described in the Ada 2012 reference manual. The previous
+ extended support is now available under -gnatX.
+ * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
+ variable to call Timed_Sleep. Required to avoid warning on
+ overlapping out-mode actuals.
+ * opt.ads (Extensions_Allowed): Update documentation.
+
+2013-01-03 Tristan Gingold <gingold@adacore.com>
+
+ * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
+ * arit64.c: Removed
+ * gcc-interface/Makefile.in: Remove reference to arit64.c.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
+ be generated at the start of the freeze actions for the entity, not
+ before (or after) the freeze node.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
+ Reorganize code to capture initialization statements in a block,
+ so that freeze nodes are excluded from the captured block.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch11.adb: Minor reformatting.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
+ sem_ch13.adb (Einfo.Initialization_Statements,
+ Einfo.Set_Initialization_Statements): New entity attribute
+ for objects.
+ (Exp_Util.Find_Init_Call): Handle case of an object initialized
+ by an aggregate converted to a block of assignment statements.
+ (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
+ even for objects that require a constant address, because the
+ address expression might involve entities that have yet to be
+ elaborated at the point of the object declaration.
+ (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
+ not require a transient scope, capture the assignment statements
+ in a block so that they can be moved down after elaboration of
+ an address clause if needed.
+ (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
+ case N_Unchecked_Conversion): Do not replace operand subtype with
+ its base type as this violates a GIGI invariant if the operand
+ is an identifier (in which case the etype of the identifier
+ is expected to be equal to that of the denoted entity).
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
+ functionality of this routine to cover cases described in the Ada 2012
+ reference manual.
+
+2013-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
+ a 'Access attribute reference when the subprogram is called
+ Initialize.
+
+2013-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
+ select statement may be called from a controlled (e.g. Initialize)
+ operation and have abort always deferred.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
+ internal entities associated with interfaces and add minimum
+ decoration to the defining entity of the generated wrapper to
+ allow overriding interface primitives.
+ * sem_disp.ads (Override_Dispatching_Operation): Addition of a
+ new formal (Is_Wrapper).
+ * sem_disp.adb (Override_Dispatching_Operation): When overriding
+ interface primitives the new formal helps identifying that the
+ new operation is not fully decorated.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
+ rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
+ (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
+ Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
+ update spec accordingly (now also applies to root library units).
+ (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
+ on root library units, not only child units.
+ (Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
+ (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
+ even for root library units.
+ (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
+ Standard is an expanded name for a root library unit.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb: Minor reformatting.
+
+2013-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c: Reinstate changes to support ppc-lynx178.
+
+2013-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.ads: Minor reformatting and documentation enhancement.
+
+2013-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): If the object has
+ a class-wide type and a renaming declaration is created for it,
+ preserve entity chain, which already contains generated internal
+ types. This ensures that freezing actions are properly generated
+ for all objects declared subsequently in the same scope, and
+ that debugging information is generated for them.
+ * sem_util.adb, sem_util.ads (we): New debugging routine, to
+ display entity chain of a given scope.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb: Minor reformatting.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb: Minor reformatting.
+
+2013-01-03 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, adaint.h (__gnat_get_module_name): Removed.
+ (__gnat_is_module_name_supported): Removed.
+ * s-win32.ads: Add some needed definitions.
+ * g-trasym.ads: Update comments.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb (Set_Composite_Alignment): Fix problems of
+ interactions with Optimize_Alignment set to Space.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_disp.adb: Minor reformatting.
+
+2013-01-02 Richard Biener <rguenther@suse.de>
+
+ PR bootstrap/55784
+ * gcc-interface/Makefile.in: Add $(GMPINC) to includes.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
+ side effects from Tag_Arg early, doing it too late may cause a
+ crash due to inconsistent Parent link.
+ * sem_ch8.adb, einfo.ads: Minor reformatting.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Has_Independent_Components): New flag.
+ * freeze.adb (Size_Known): We do not know the size of a packed
+ record if it has atomic components, by reference type components,
+ or independent components.
+ * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
+ flag Has_Independent_Components.
+
+2013-01-02 Yannick Moy <moy@adacore.com>
+
+ * opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
+ * usage.adb (Usage): Update usage message.
+
+2013-01-02 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_is_module_name_supported): New constant.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
+ array whose component type does not have a completion.
+
+2013-01-02 Geert Bosch <bosch@adacore.com>
+
+ * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb: Minor reformatting.
+
+2013-01-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
+
+2013-01-02 Olivier Hainque <hainque@adacore.com>
+
+ * a-exctra.ads (Get_PC): New function.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.adb: Minor reformatting.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Check_Component_Storage_Order): Do not crash on
+ _Tag component.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
+ On_Target to Atomic_Sync_Default.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
+ comparison of attribute result with constant
+ * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
+ Warnings (Off, "..");
+
+2013-01-02 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.ads: Minor correction of comment.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Package_Declaration): The first
+ declaration in a nested package is dominated by the preceding
+ declaration in the enclosing scope.
+
+2013-01-02 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, adaint.h (__gnat_get_module_name): Return the actual
+ module containing a given address.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2013-01-02 Pascal Obry <obry@adacore.com>
+
+ * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
+ Win64 and default to ftell on other platforms.
+ (__gnat_fsek64): Likewise.
+ * i-cstrea.ads: Add fssek64 and ftell64 specs.
+ * s-crtl.ads: Likewise.
+ * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
+ (Set_Position): Likewise.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Generate X SCOs for default expressions in
+ subprogram body stubs. Do not generate any SCO for package,
+ task, or protected body stubs.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Further improvement to ASIS mode for anonymous
+ access to protected subprograms.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, vms_data.ads: Minor reformatting.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statement): Function
+ form, returning value of Current_Dominant upon exit, for chaining
+ purposes.
+ (Traverse_Declarations_Or_Statement.Traverse_One, case
+ N_Block_Statement): First statement is dominated by last declaration.
+ (Traverse_Subprogram_Or_Task_Body): Ditto.
+ (Traverse_Package_Declaration): First private
+ declaration is dominated by last visible declaration.
+ (Traverse_Sync_Definition): Ditto.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
+ matching Bit_Order to record types only, since array types do not
+ have a Bit_Order.
+
+2013-01-02 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Remove documentation of -gnateO, which is an
+ internal switch.
+ * usage.adb: Indicate that -gnateO is an internal switch.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Add SCO generation for task types and single
+ task declarations.
+ * get_scos.adb: When adding an instance table entry for a
+ non-nested instantiation, make sure the Enclosing_Instance is
+ correctly set to 0.
+
+2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Skip the special _Parent
+ scope generated for subprogram inlining purposes while trying
+ to locate the enclosing function.
+ * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
+ expression of pragma Postcondition when the pragma comes from
+ source and appears inside a subprogram body.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
+ information in debug info unconditionally when using -fdump-scos,
+ instead of relying on a separate command line switch -fdebug-instances.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Additional refinement of predicate.
+
+2013-01-02 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Remove incorrect spaces at end of descriptions
+ of qualifiers for single switch.
+
+2013-01-02 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_rm.texi: Minor edits / wordsmithing in section on pragma
+ Check_Float_Overflow.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sprint.adb (Sprint_Node_Actual): Do not add extra parens for
+ a conditional expression (CASE or IF expression) that already
+ has parens. Also omit ELSE keyword for an IF expression without
+ an ELSE part.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
+ flag_debug_instances here, after front-end switches have been
+ processed.
+
+2013-01-02 Vincent Celier <celier@adacore.com>
+
+ * usage.adb: Minor reformatting.
+
+2013-01-02 Arnaud Charlet <charlet@adacore.com>
+
+ * opt.ads: Fix typo.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Generate P decision SCOs for SPARK pragmas
+ Assume and Loop_Invariant.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * vms_data.ads: Add entry for Float_Check_Valid (-gnateF).
+ * ug_words: Add entry for Float_Check_Overflow.
+ * usage.adb: Minor reformatting.
+ * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow).
+
+2013-01-02 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated,
+ -gnateO=, -gnatet and -gnateV.
+ * ug_words: Add qualifiers equivalent to -gnateA, -gnated,
+ -gnatet and -gnateV.
+ * usage.adb: Add lines for -gnatea, -gnateO and -gnatez.
+ * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK
+ (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated),
+ /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO
+ (-gnatet).
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow.
+ * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config].
+ * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow.
+ * sem_prag.adb: Implement pragma Check_Float_Overflow.
+ * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow.
+ * switch-c.adb: Recognize -gnateF switch.
+ * tree_io.ads: Update ASIS version number.
+ * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
+ exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
+ freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
+ par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
+ sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
+ sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
+ * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads: Minor comment fix.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Refine predicate.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Minor comment fixes.
+ * opt.ads: Minor comment additions.
+ * exp_aggr.adb: Add tags to warning messages
+ * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
+ sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
+ sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
+ sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
+ sem_warn.adb: Add tags to warning messages
+
+2013-01-02 Doug Rupp <rupp@adacore.com>
+
+ * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Recover source name for renamed packagea.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
+ tests to fail if insertion sequence is at end of message string.
+ * opt.ads: Minor comment fixes and additions.
+ * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
+ sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
+ * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
+ tags. Add tags to warning messages.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads (Warning_Doc_Switch): New flag.
+ * errout.adb (Error_Msg_Internal): Implement new warning flag
+ doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
+ * errout.ads: Document new insertion sequences ?? ?x? ?.x?
+ * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
+ tag stuff.
+ * erroutc.ads (Warning_Msg_Char): New variable.
+ (Warn_Chr): New field in error message object.
+ * errutil.adb (Error_Msg): Set Warn_Chr in error message object.
+ * sem_ch13.adb: Minor reformatting.
+ * warnsw.adb: Add handling for -gnatw.d and -gnatw.D
+ (Warning_Doc_Switch).
+ * warnsw.ads: Add handling of -gnatw.d/.D switches (warning
+ doc tag).
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Minor reformatting.
+
+2013-01-02 Doug Rupp <rupp@adacore.com>
+
+ * init.c: Reorganize VMS section.
+ (scan_condtions): New function for scanning condition tables.
+ (__gnat_handle_vms_condtion): Use actual exception name for imported
+ exceptions vice IMPORTED_EXCEPTION.
+ Move condition table scanning into separate function. Move formerly
+ special handled conditions to system condition table. Use SYS$PUTMSG
+ output to fill exception message field for formally special handled
+ condtions, in particular HPARITH to provide more clues about cause and
+ location then raised from the translated image.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
+ aspect that applies to a library subprogram, prepend corresponding
+ pragma to the Pragmas_After list, in order for split AND THEN
+ sections to be processed in the expected order.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): The statements generated
+ for the pragma must have the sloc of the pragma, not the
+ sloc of the condition, otherwise this creates anomalies in the
+ generated debug information that confuse coverage analysis tools.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+
+2013-01-02 Arnaud Charlet <charlet@adacore.com>
+
+ * g-excact.ads (Core_Dump): Clarify that this subprogram does
+ not dump cores under Windows.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
+ view of a subprogram has convention Intrnnsic, and a renaming
+ of a prefixed view cannot be the prefix of an Access attribute.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb: Minor reformatting.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * exp_prag.adb: Minor reformatting.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Get_Associated_Node): If the node is an
+ identifier that denotes an unconstrained array in an object
+ declaration, it is rewritten as the name of an anonymous
+ subtype whose bounds are given by the initial expression in the
+ declaration. When checking whether that identifier is global
+ reference, use the original node, not the local generated subtype.
+
+2013-01-02 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c: Revert previous change, incomplete.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
+ appears on a subprogram body that acts as a spec, place the
+ corresponding pragma in the declarations of the body, so that
+ e.g. pre/postcondition checks can be generated appropriately.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting and code reorganization.
+
+2013-01-02 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Record the
+ complete switch -fstack-check=specific instead of its shorter
+ alias -fstack-check.
+
+2013-01-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
+ if the derived type is a tagged generic formal type with
+ unknown discriminants, the inherited operation has convention
+ Intrinsic. As such, the 'Access attribute cannot be applied to it.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Add SCO generation for S of protected types and
+ single protected object declarations.
+
+2013-01-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb, osint.ads: Minor reformatting.
+
+2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb (Compile_Time_Compare): For static operands, we
+ can perform a compile time comparison even if in preanalysis mode.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (SCO_Record): Always use
+ Traverse_Declarations_Or_Statements to process the library level
+ declaration, so that SCOs are properly generated for its aspects.
+
+2013-01-02 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads (In_Decision): Add missing entry for 'a'.
+ * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
+ call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
+ * sem_ch13.adb: Minor comment update.
+
+Copyright (C) 2013 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.