OSDN Git Service

2011-08-29 Robert Dewar <dewar@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 42da6ae..a9ae7fc 100644 (file)
@@ -1,3 +1,290 @@
+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,