diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-23 08:19:53 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-23 08:19:53 +0000 |
commit | 1630f2a9f04520977f3c57bdd13913df522a8974 (patch) | |
tree | c423732a807b7aef4ba67bc5ebfea36f4fe50f04 /gcc/ada/a-cihama.adb | |
parent | 3a72f9c3953b346b34c4de34e27deafacff9d682 (diff) | |
download | ppe42-gcc-1630f2a9f04520977f3c57bdd13913df522a8974.tar.gz ppe42-gcc-1630f2a9f04520977f3c57bdd13913df522a8974.zip |
2012-07-23 Ed Schonberg <schonberg@adacore.com>
* par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
to a formal object of an anonymous access type.
2012-07-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
aspect can have more than one index, e.g. to describe indexing
of a multidimensional object.
2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
now more complex and contains optional finalization part and mandatory
deallocation part.
2012-07-23 Gary Dismukes <dismukes@adacore.com>
* a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
Accessibility_Check for Element_Type allocators.
2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
* projects.texi: Fix typo.
2012-07-23 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Explicit_Derenference): If prefix is
overloaded, remove those interpretations whose designated type
does not match the context, to avoid spurious ambiguities that
may be caused by the Ada 2012 conversion rule for anonymous
access types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189774 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/a-cihama.adb')
-rw-r--r-- | gcc/ada/a-cihama.adb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ada/a-cihama.adb b/gcc/ada/a-cihama.adb index 1d30d0443e4..3f5b7ec5bd8 100644 --- a/gcc/ada/a-cihama.adb +++ b/gcc/ada/a-cihama.adb @@ -694,6 +694,11 @@ package body Ada.Containers.Indefinite_Hashed_Maps is Position.Node.Key := new Key_Type'(Key); + declare + pragma Unsuppress (Accessibility_Check); + -- The element allocator may need an accessibility check in the + -- case the actual type is class-wide or has access discriminants + -- (see RM 4.8(10.1) and AI12-0035). begin Position.Node.Element := new Element_Type'(New_Item); exception @@ -731,6 +736,11 @@ package body Ada.Containers.Indefinite_Hashed_Maps is K : Key_Access := new Key_Type'(Key); E : Element_Access; + pragma Unsuppress (Accessibility_Check); + -- The element allocator may need an accessibility check in the case + -- the actual type is class-wide or has access discriminants (see + -- RM 4.8(10.1) and AI12-0035). + begin E := new Element_Type'(New_Item); return new Node_Type'(K, E, Next); @@ -1166,6 +1176,11 @@ package body Ada.Containers.Indefinite_Hashed_Maps is Node.Key := new Key_Type'(Key); + declare + pragma Unsuppress (Accessibility_Check); + -- The element allocator may need an accessibility check in the case + -- the actual type is class-wide or has access discriminants (see + -- RM 4.8(10.1) and AI12-0035). begin Node.Element := new Element_Type'(New_Item); exception @@ -1215,6 +1230,10 @@ package body Ada.Containers.Indefinite_Hashed_Maps is declare X : Element_Access := Position.Node.Element; + pragma Unsuppress (Accessibility_Check); + -- The element allocator may need an accessibility check in the case + -- the actual type is class-wide or has access discriminants (see + -- RM 4.8(10.1) and AI12-0035). begin Position.Node.Element := new Element_Type'(New_Item); Free_Element (X); |