aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r--gcc/ada/ChangeLog107
1 files changed, 107 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 42da6ae..be0713a 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,110 @@
+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,