OSDN Git Service

2011-08-29 Robert Dewar <dewar@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 9a8e2dc..a9ae7fc 100644 (file)
@@ -1,3 +1,939 @@
+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.
+
+2011-08-29  Thomas Quinot  <quinot@adacore.com>
+
+       * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
+       Remove unused variables.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb: Remove Build_Explicit_Dereference.
+       * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
+       from sem_res.adb, used in analysis of additional constructs.
+       (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
+       expansion of iterators.
+       (Is_Object_Reference): Recognize variables rewritten as explicit
+       dereferences in Ada2012.
+       * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
+       Reversible_Iterator names, for expansion of Ada2012 iterators.
+       * aspects.ads, aspects.adb (Find_Aspect): Utility.
+       * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
+       linked list container.
+       * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
+       * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
+       containers.
+
+2011-08-29  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Gnatmake): Get the maximum number of simultaneous
+       compilation processes after the Builder switches has been scanned, as
+       there may include -jnn.
+
+2011-08-29  Matthew Heaney  <heaney@adacore.com>
+
+       * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
+       GNAT_DRIVER_COMMAND_LINE to 255.
+
+2011-08-29  Pascal Obry  <obry@adacore.com>
+
+       * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
+       reformatting and style fix (class attribute casing).
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * exp_ch11.adb: Yet another case where expansion should be common
+       between CodePeer and Alfa.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * exp_ch9.adb: Partial revert of previous change for Alfa mode.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
+       incomplete type and its completion match.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * exp_ch13.adb: Adjust previous change.
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
+       exp_ch4.adb, sem_ch8.adb: Minor code reorganization
+       Minor reformatting.
+
+2011-08-29  Emmanuel Briot  <briot@adacore.com>
+
+       * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
+       initialize aggregated projects.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
+       depth of candidates to resolve a potentially spurious ambiguity between
+       two visible subprograms.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
+       Requires/Ensures.
+       * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
+       Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
+       Requires/Ensures.
+
+2011-08-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
+       Add comment.
+
+2011-08-29  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_res.adb: Minor reformatting.
+
+2011-08-29  Johannes Kanig  <kanig@adacore.com>
+
+       * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
+       mode.
+       * gnat1drv.adb (Adjust_Global_Switches): Set
+       Use_Expressions_With_Actions to False in ALFA mode.
+       * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
+       ALFA mode.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
+       * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
+       * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
+       tagged types and dispatching calls in Alfa mode.
+
+2011-08-29  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
+       we do not report an error on an Empty node.
+
+2011-08-29  Geert Bosch  <bosch@adacore.com>
+
+       * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
+       a-nlrear.o and a-nurear.o.
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb: Minor code reorganization.
+       Minor reformatting.
+       * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
+       sem_ch6.adb: Minor reformatting
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * s-except.ads, s-except.adb: Provide dummy body.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * sem_warn.adb (Within_Postcondition): Take into account the case of
+       an Ensures component in a Test_Case.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
+       * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
+       System_Exceptions_Debug
+       (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
+       * a-except.adb: With and use System.Exceptions_Debug instead of
+       System.Exceptions.
+       * a-except-2005.adb: Likewise.
+       * s-assert.adb: Likewise.
+       * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
+       * Makefile.rtl: Add s-excdeb.  Adjust compilation rule.
+       * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
+       s-excdeb. Update dependencies.
+       (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
+       as these no longer need external libraries.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
+       exponentiation operator on universal values in a context that requires
+       a fixed-point type.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * raise-gcc.c (personnality_routine): Fix thinko.  Set Ada occurrence
+       before calling notify_handled_exception.
+       * a-exextr.adb: Fix comment.
+
+2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
+       Finalize_Address of the access type's finalization master.
+       (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
+       access type's finalization master. Add a guard to prevent
+       Associated_Storage_Pool from being set on .NET/JVM.
+       * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
+       attribute Finalize_Address of the access type's finalization master.
+       * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
+       * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
+       * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
+       RE_Unit_Table.
+       * s-finmas.adb: Add with clause for System.Address_Image. Add with and
+       use clause for System.IO
+       (Detach): Relax the assertion, to be reinstated later.
+       (Finalize): Rewrite the iteration loop to avoid pointer comparison.
+       Relax the assertion on Finalize_Address, to be reinstated later.
+       (Is_Empty_List): New routine.
+       (pm): New debug routine.
+       (Set_Finalize_Address): New routine.
+       * s-finmas.ads (pm): New debug routine.
+       (Set_Finalize_Address): New routine.
+       * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
+       Remove convention C.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
+       (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
+       (Finalize_TCB): Remove its finalization.
+       (Initialize): Remove assignment of GET_Exc_Stack_Addr
+       * s-soflin.adb (NT_Exc_Stack): Remove
+       (Get_Exc_Stack_Addr_NT): Likewise.
+       (Get_Exc_Stack_Addr_Soft): Likewise.
+       * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
+       (Get_Exc_Stack_Addr): Likewise.
+       (Get_Exc_Stack_Addr_Soft): Likewise
+       * s-taspri-vms.ads (Exc_Stack_T): Remove.
+       (Exc_Stack_Ptr_T): Likewise.
+       (Private_Data): Remove Exc_Stack_Ptr component.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * raise-gcc.c (get_ip_from_context): New function. Factorize code.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
+
+2011-08-29  Geert Bosch  <bosch@adacore.com>
+
+       * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
+       L2_Norm, Swap_Column): New generic subprograms
+       * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
+       L2_Norm, Swap_Column): Implement new subprograms in order to
+       eliminate dependency on BLAS and LAPACK libraries in
+       Ada.Numerics.Generic_Real_Arrays and eventually also the complex
+       version. Forward_Eliminate/Back_Substitute can be used to put a
+       matrix in row echelon or reduced row echelon form using partial
+       pivoting.
+       * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
+       Swap_Column): Instantiate from System.Generic_Array_Operations.
+       ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
+       (Sqrt): Local function for simple computation of square root without
+       adding dependencies on Generic_Elementary_Functions.
+       (Swap): New subprogram to exchange floating point numbers.
+       (Inverse): Reimplement using Jordan-Gauss elimination.
+       (Jacobi): New procedure implementing Jacobi's method for computation
+       of eigensystems, based on Rutishauser's implementation.
+       (L2_Norm): Implement directly using the inner product.
+       (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
+       decreasing eigenvalue as required by the Ada RM.
+       (Swap_Column): New helper procedure for Sort_Eigensystem.
+       Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
+       Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
+       Sort_Eigensystems.
+
+2011-08-29  Thomas Quinot  <quinot@adacore.com>
+
+       * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
+       statements line.
+
+2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
+       than the current node.
+       * s-finmas.ads: Move field Finalize_Address from type FM_Node to
+       Finalization_Master. The list headers have two fields instead of three.
+       This should fix alignment issue but subpool allocations are now
+       unusable. Alphabetize subprograms.
+       * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
+       the size of the header when converting the beginning of the object to
+       a FM_Node. Set the master's Finalize_Address attribute if not already
+       set.
+       (Deallocate_Any_Controlled): Use the offset rather than the size of the
+       header when converting the beginning of the object to a FM_Node.
+
+2011-08-29  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
+       reraise when compiling for CodePeer.
+
+2011-08-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
+       now needed by a-convec.adb. Fix warning.
+
+2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
+       processing of TSS routine Finalize_Address when compiling in
+       CodePeer_Mode.
+
+2011-08-29  Thomas Quinot  <quinot@adacore.com>
+
+       * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
+       sem_warn.adb: Minor reformatting.
+
+2011-08-29  Emmanuel Briot  <briot@adacore.com>
+
+       * prj-conf.adb (Get_Config_Switches): Also collect the list of
+       languages from aggregated projects.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
+       Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
+       Traverse_Package_Declaration, Traverse_Subprogram_Body,
+       Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
+       for stubs are traversed too when parameter is set
+       (Traverse_All_Compilation_Units): Traverse without going inside stubs
+       (Traverse_Declarations_Or_Statements): Do the special traversing for
+       stubs when required.
+       * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
+       return subprogram or package body from stub.
+       (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
+       stubs without prior subprogram decl.
+
+2011-08-29  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * gnat_ugn.texi: Fix typo.
+
+2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
+       which accounts for size vs alignment issues and calculates the size of
+       the list header.
+       (Deallocate_Any_Controlled): Ditto.
+       (Nearest_Multiple_Rounded_Up): New routine.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
+       * a-exexda.adb (Set_Exception_C_Msg): Ditto.
+       (Set_Exception_Msg): Ditto.
+       * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto.  Do not set
+       Private_Data.
+       * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
+       Use Save_Occurrence instead of Save_Occurrence_No_Private.
+       (Raise_With_Msg): Remove Cleanup_Flag.
+       * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
+       Clean_Flag and Private_Data components.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
+       in CodePeer mode.
+       * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
+       of an explicitly declared type, so that the base types of the original
+       type and this generated type are the same, and a "type" (not a subtype
+       like previously).
+       * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
+       small" in Alfa mode, like in CodePeer mode.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
+       clauses in Alfa mode.
+
+2011-08-29  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
+       function to the package spec.
+       * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
+       internally generated bodies of null procedures locate the internally
+       generated spec enforcing mode conformance.
+       (Is_Interface_Conformant): Ensure that the controlling formal of the
+       primitives match.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
+       reject the pragma if it appears to apply to a formal subprogram.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
+       inner expression, to prevent double evaluation.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
+       they were unused.
+       * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
+       * a-except-2005.adb (Propagate_Exception): Adjust spec.
+       (Raise_Current_Excep): Adjust call.
+       (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
+
+2011-08-29  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_disp.adb: Minor reformatting.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * a-exexpr.adb (Setup_Exception): Removed.
+       * a-exexpr-gcc.adb (Setup_Exception): Removed.
+       * a-except.adb (Exception_Propagation): Removed.
+       * a-except-2005.adb (Setup_Exception): Removed.
+       (Reraise): Remove call to Setup_Exception.
+       (Reraise_Occurrence): Ditto.
+       (Reraise_Occurrence_Always): Ditto.
+       (Reraise_Occurrence_No_Defer): Ditto.
+       (Transfer_Occurrence): Ditto.
+       * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
+       (Set_Exception_Msg): Ditto.
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * a-convec.adb, exp_disp.adb: Minor reformatting.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
+
+2011-08-29  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
+       Exception_Handlers to No_List instead of Empty_List in the case where
+       there are no handlers.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * gcc-interface/gigi.h (enum standard_datatypes): Add
+       ADT_reraise_zcx_decl
+       (reraise_zcx_decl): New macro.
+       * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
+       (gigi): Set reraise_zcx_decl.
+       (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
+       (gnat_to_gnu): Handle N_Raise_Statement.
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
+       a-undesu.adb: Minor reformatting.
+
+2011-08-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
+       table, accept an unfrozen untagged component if it is an actual for a
+       formal incomplete type.
+       * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
+       provide new iterator forms over vectors.
+       Introduce type Iterator in package body to implement operations of
+       Reversible_Iterator interface.
+       * a-iteint.ads: Make package pure so it is usable with new container
+       packages, that are categorized Remote_Types.
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
+
+2011-08-29  Bob Duff  <duff@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
+       of <>, because this is the routine that checks for dimensionality
+       errors (for example, for a two-dimensional array, (others => <>) should
+       be (others => (others => <>)).
+
+2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * impunit.adb: Add new run-time units.
+       * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
+       s-stposu.ads, s-stposu.adb: Code clean up.
+       Handle protected class-wide or task class-wide types
+       Handle C/C++/CIL/Java types.
+       * s-spsufi.adb, s-spsufi.ads: New files.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
+       library-level subprogram.
+       * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
+       placement.
+       (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
+       component.
+       * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
+       component.
+       * gnat_rm.texi: Update doc for Test_Case pragma.
+
+2011-08-29  Tristan Gingold  <gingold@adacore.com>
+
+       * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
+       convention C.
+       (GCC_Exception_Access): New type.
+       (Unwind_DeleteException): New imported procedure
+       (Foreign_Exception): Import it.
+       (GNAT_GCC_Exception): Simply have the occurrence inside.
+       (To_GCC_Exception): New function.
+       (To_GNAT_GCC_Exception): New function.
+       (GNAT_GCC_Exception_Cleanup): New procedure..
+       (Propagate_GCC_Exception): New procedure.
+       (Reraise_GCC_Exception): New procedure.
+       (Setup_Current_Excep): New procedure.
+       (CleanupUnwind_Handler): Change type of UW_Exception parameter.
+       (Unwind_RaiseException): Ditto.
+       (Unwind_ForcedUnwind): Ditto.
+       (Remove): Removed.
+       (Begin_Handler): Change type of parameter.
+       (End_Handler): Ditto. Now delete the exception if still present.
+       (Setup_Key): Removed.
+       (Is_Setup_And_Not_Propagated): Removed.
+       (Set_Setup_And_Not_Propagated): Ditto.
+       (Clear_Setup_And_Not_Propagated): Ditto.
+       (Save_Occurrence_And_Private): Ditto.
+       (EID_For): Add 'not null' constraint on parameter.
+       (Setup_Exception): Does nothing.
+       (Propagate_Exception): Simplified.
+       * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
+       re-raise is not expanded anymore.
+       * s-except.ads (Foreign_Exception): New exception - placeholder for
+       non Ada exceptions.
+       * raise-gcc.c (__gnat_setup_current_excep): Declare
+       (CXX_EXCEPTION_CLASS): Define (not yet used)
+       (GNAT_EXCEPTION_CLASS): Define.
+       (is_handled_by): Handle foreign exceptions.
+       (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
+
+2011-08-29  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
+
+2011-08-29  Thomas Quinot  <quinot@adacore.com>
+
+       * a-synbar-posix.adb: Minor reformatting.
+
+2011-08-29  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
+       a-exetim-default.ads (Interrupt_Clocks_Supported,
+       Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
+       definitions to be compliant with AI-0171. The target systems do not
+       support separate account for the execution time of interrupt handlers.
+
+2011-08-29  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-synbar.adb (Wait): Change the order of evaluation of the conditions
+       in the barrier to put first the easiest to evaluate (and the one which
+       will be True more often). More efficient.
+
+2011-08-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-atocou-x86.adb: Fix constraint in machine code insertion.
+
+2011-08-29  Bob Duff  <duff@adacore.com>
+
+       * aspects.ads, aspects.adb: Add new aspects for various pragmas and
+       attributes that are now aspects, as specified by AI05-0229-1.
+       * sem_ch13.adb (Analyze_Aspect_Specifications,
+       Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
+       pragmas or attribute references, as appropriate.
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
+       a-synbar-posix.ads: Minor reformatting.
+
+2011-08-29  Yannick Moy  <moy@adacore.com>
+
+       * snames.ads-tmpl: Add name Force.
+
+2011-08-29  Pascal Obry  <obry@adacore.com>
+
+       * prj-nmsc.adb: Minor reformatting.
+
+2011-08-29  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-exetim.ads (Interrupt_Clocks_Supported,
+       Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
+       definitions to be compliant with AI-0171.
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * a-ngelfu.adb: Add comments.
+
+2011-08-29  Geert Bosch  <bosch@adacore.com>
+
+       * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
+       the closest machine number to Pi / 2.0.
+
+2011-08-29  Jose Ruiz  <ruiz@adacore.com>
+
+       * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
+       package Ada.Synchronous_Barriers.
+       * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
+       Add new specs and bodies for Ada.Synchronous_Barriers. There is a
+       default implementation using protected objects and another one
+       a-synbar-posix using POSIX barriers as the underlying support.
+       * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
+       x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
+       Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
+       Clean up dependencies.
+       * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
+
+2011-08-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
+       exp_dist.adb: Minor code reorganization.
+       Minor reformatting.
+
+2011-08-29  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
+       primitive operation must support external streaming if it is not a
+       controlling access result.
+
 2011-08-29  Thomas Quinot  <quinot@adacore.com>
 
        * sinfo.ads, sem_ch7.adb: Minor reformatting.
        (Reraise_Occurrence_Always): Ditto.
        * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
        * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
-       * s-interr-hwint.adb (Interrupt_Manager): Defer abort if ZCX.
 
 2011-08-29  Thomas Quinot  <quinot@adacore.com>