diff options
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r-- | gcc/ada/ChangeLog | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index dad7bcb..16cd2e9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,78 @@ +2012-02-08 Robert Dewar <dewar@adacore.com> + + * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb, + a-convec.adb: Minor reformatting and code reorganization. + +2012-02-08 Steve Baird <baird@adacore.com> + + * sem_cat.adb (In_Preelaborated_Unit): A child + unit instantiation does not inherit preelaboration requirements + from its parent. + +2012-02-08 Gary Dismukes <dismukes@adacore.com> + + * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool. + (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool. + (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool. + (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool. + * aspects.adb (Canonical_Aspect): Add entry for + Aspect_Simple_Storage_Pool. + * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of + Attribute_Simple_Storage_Pool in the same way as Storage_Pool + (add conversion, analyze/resolve). For the Storage_Size attribute, + for the simple pool case, locate and use the simple pool type's + Storage_Size function (if any), otherwise evaluate to zero. + * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator + for an access type with an associated simple storage pool, + locate and use the pool type's Allocate. + * exp_intr.adb (Expand_Unc_Deallocation): In the case where the + access type has a simple storage pool, locate the pool type's + Deallocate procedure (if present) and use it as the procedure + to call on the Free operation. + * freeze.adb (Freeze_Entity): In the case of a full type for + a private type defined with pragma Simple_Storage_Pool, check + that the full type is also appropriate for the pragma. For + a simple storage pool type, validate that the operations + Allocate, Deallocate (if present), and Storage_Size + (if present) are defined with appropriate expected profiles. + (Validate_Simple_Pool_Op_Formal): New procedure + (Validate_Simple_Pool_Operation): New procedure Add with and + use of Rtsfind. + * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement + (no action required). + * sem_attr.adb (Analyze_Attribute): For the case of the + Storage_Pool attribute, give a warning if the prefix type has an + associated simple storage pool, and rewrite the attribute as a + raise of Program_Error. In the case of the Simple_Storage_Pool + attribute, check that the prefix type has an associated simple + storage pool, and set the attribute type to the pool's type. + * sem_ch13.adb (Analyze_Aspect_Specifications): Add + Aspect_Simple_Storage_Pool case choice. + (Analyze_Attribute_Definition_Clause): Add + Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses + (no action). Add handling for Simple_Storage_Pool attribute + definition, requiring the name to denote a simple storage pool + object. + (Check_Aspect_At_Freeze_Point): For a simple storage pool + aspect, set the type to that of the name specified for the aspect. + * sem_prag.adb (Analyze_Pragma): Add handling for pragma + Simple_Storage_Pool, requiring that it applies to a library-level + type declared in a package declaration that is a limited private + or limited record type. + * sem_res.adb (Resolve_Allocator): Flag an attempt to call a + build-in-place function in an allocator for an access type with + a simple storage pool as unsupported. + * snames.ads-tmpl: Add Name_Simple_Storage_Pool. + (type Attribute_Id): Add Attribute_Simple_Storage_Pool. + (type Pragma_Id): Add Pragma_Simple_Storage_Pool. + * snames.adb-tmpl (Get_Pragma_Id): Handle case of + Name_Simple_Storage_Pool. + (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool. + +2012-02-08 Cyrille Comar <comar@adacore.com> + + * projects.texi: Clarify doc for interfaces. + 2012-02-07 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable. |