2011-08-29 Robert Dewar <dewar@adacore.com>
+ * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
+ a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
+ a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
+ reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
+ package spec.
+ * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
+ * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
+ while raising PE.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
+
+2011-08-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
+ renamings of formal subprograms when the actual for a formal type is
+ class-wide.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
+ to Target.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
+ components of record type.
+ * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
+ to Target.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
+ a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
+ container packages.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
+ reformatting.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
+ components of record type.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
+ by the termination handler.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
+ created in Alfa mode, instead of inserting artificial declarations of
+ non-Itypes in the tree.
+ * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
+ know if an Itype has a corresponding declaration, as defined in
+ itypes.ads.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb: Minor rewrite.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * s-tasuti.adb (Make_Passive): Work around race condition in
+ Make_Independent, which can cause Wait_Count to be zero. So instead of
+ asserting that Wait_Count > 0, and then decrementing it, decrement it
+ only if Wait_Count > 0.
+ * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
+ should be nonnegative, so declare them Natural instead of Integer.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
+ sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
+ a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
+ a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
+ exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
+
+2011-08-29 Vadim Godunko <godunko@adacore.com>
+
+ * s-parint.ads: Minor comment clarification.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Initialize): Make sure that new reserved words after Ada 95
+ may be used as identifiers.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-coinho.ads: Minor reformating.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
+ container of a derived type.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * impunit.adb, s-stposu.adb, s-stposu.ads, exp_ch4.adb, s-finmas.adb,
+ s-finmas.ads: Revert previous change.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
+ a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
+
+2011-08-29 Pascal Obry <obry@adacore.com>
+
+ * exp_disp.adb: Minor comment fix.
+ (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
+ to avoid warnings when compiling with -Wall.
+ (Make_Disp_Conditional_Select_Body): Likewise.
+ (Make_Disp_Timed_Select_Body): Likewise.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
+ an entity name, generate reference for it.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
+ iterator form.
+ * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
+ the class-wide type.
+ * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
+ subtype for an object whose type is an unconstrained union.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
+ is allowed in a component definition, by AI95-406.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-except-2005.adb: Alphabetize all routines.
+ (Triggered_By_Abort): New routine.
+ * a-except-2005.ads (Triggered_By_Abort): New routine.
+ * a-except.adb Alphabetize all routines.
+ (Triggered_By_Abort): New routine.
+ * a-except.ads (Triggered_By_Abort): New routine.
+ * exp_ch7.adb: Update all comments involving the detection of aborts in
+ finalization code.
+ (Build_Object_Declarations): Do not generate code to detect the
+ presence of an abort at the start of finalization code, use a runtime
+ routine istead.
+ * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
+ RE_Unit_Table.
+ * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
+ allocate a task on a subpool.
+ * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
+ The flag disables all actions related to the maintenance of
+ Finalize_Address_Table when subpools are not in use.
+ (Allocate_Any_Controlled): Signal the machinery that subpools are in
+ use.
+ (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
+ performs costly task locking when subpools are not in use.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
+ types and dispatching calls in Alfa mode.
+ * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
+ correspondance between body and spec scopes, to reuse utility functions
+ (Traverse_Declarations_Or_Statements): Protect access to body for stub
+ by testing the presence of the library unit for the body
+ * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
+ mode the expansion of accept statements is skipped
+ * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
+ the unique entity corresponding to the one returned by
+ Unique_Defining_Entity applied to the enclosing declaration of the
+ argument.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
+ gdb when x is not a node (it can be a node list, name_id, etc). pp is
+ an alias for pn. ppp is an alias for pt.
+
+2011-08-29 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
+ aggregate to take a consistent decision on the need to convert into
+ assignments aggregates that initialize constant objects.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
+ Build_Allocate_Deallocate_Proc in order to handle allocation of
+ non-controlled objects on subpools.
+ * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
+ to be end-user visible.
+ * s-finmas.adb: Add with and use clause for System.HTable.
+ Add an instantiation of Simple_HTable which provides a mapping between
+ the address of a controlled object and the corresponding
+ Finalize_Address used to clean up the object. The table is used when a
+ master is operating in heterogeneous mode.
+ (Attach): Explain why the input node is not verified on being already
+ attached.
+ (Delete_Finalize_Address): New routine.
+ (Detach): Add pragma Assert which ensures that a node is already
+ attached.
+ (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
+ since nodes are no longer removed on traversal. Explain why node
+ detachment is undesirable in this case.
+ (Get_Finalize_Address): New routine.
+ (Hash): New routine.
+ (Is_Empty_List): Removed.
+ (pm): Renamed to Print_Master. Add output for discriminant
+ Is_Homogeneous.
+ Comment reformatting.
+ (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
+ * s-finmas.ads: Various comments additions / improvements.
+ Type Finalization_Master has a discriminant which determines the mode of
+ operation.
+ (Delete_Finalize_Address): New routine.
+ (Get_Finalize_Address): New routine.
+ (pm): Renamed to Print_Master.
+ (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
+ * s-stposu.adb: Add with clause for System.Address_Image; Add with and
+ use clause for System.IO.
+ (Allocate_Any_Controlled): Add machinery to set TSS primitive
+ Finalize_Address depending on the mode of allocation and the mode of
+ the master.
+ (Deallocate_Any_Controlled): Remove the relation pair object -
+ Finalize_Address regardless of the master mode. Add comment explaining
+ the reason.
+ (Detach): Ensure that fields Prev and Next are null after detachment.
+ (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
+ scheme to check whether the list of subpools is empty. There is no
+ longer need to store the next subpool or advance the current pointer.
+ (Is_Empty_List): New routine.
+ (Print_Pool): New routine.
+ (Print_Subpool): New routine.
+ * s-stposu.ads: Various comments additions / improvements.
+ Field Master of type Root_Subpool is now a heterogeneous collection.
+ (Print_Pool): New routine.
+ (Print_Subpool): New routine.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
+ forms, using aspects of container types.
+ * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
+ Has_Implicit_Dereference flags, that may be set on the partial view.
+ * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
+ container type with an indexing aspect.
+ (Analyze_Quantified_Expression): Analyze construct with expansion
+ disabled, because it will be rewritten as a loop during expansion.
+ (Try_Container_Indexing): The prefix itself may be a container type
+ with an indexing aspect, as with a vector of vectors.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
+ the original doamin of iteration, for name capture.
+ (Analyze_Iterator_Specification): If the domain is an expression that
+ needs finalization, create a separate declaration for it.
+ For an iterator with "of" retrieve default iterator info from aspect of
+ container type. For "in" iterator, retrieve type of Iterate function.
+ * sem_ch13.adb (Check_Iterator_Function): Fix typo.
+ (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
+ analysis, to prevent spurious errors about late attributes.
+ * sprint.adb: Handle quantified expression with either loop or iterator
+ specification.
+ * a-convec.ads, a-convec.adb: Iterate function returns a reversible
+ iterator.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
+ Binder or Linker of the main project file.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
+ unit.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch9.adb: Partial revert of previous change for Alfa mode
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch11.adb: Minor expansion of comment.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
+ interpretation, set the type before resolving the operands, because
+ legality checks on an exponention operand need to know the type of the
+ context.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
+ cleanups on a master if the instance is within a generic unit.
+ Complement to the corresponding fix to inline.adb for K520-030.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
+ occurrence.
+ * exp_intr.adb: Minor comment fix.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
+ Delay_Required was used as an uninitialized variable.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
* a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.