aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Godunko <godunko@adacore.com>2014-07-16 13:54:43 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-16 15:54:43 +0200
commitd6f824bf7f4d82ab9b96b31d56b88fa1f2b1f166 (patch)
treef6bfc8dab307680ebe52f664381a3dba252ec556
parentab4766388256f3a8b070872bd0af94056afb5417 (diff)
downloadgcc-d6f824bf7f4d82ab9b96b31d56b88fa1f2b1f166.zip
gcc-d6f824bf7f4d82ab9b96b31d56b88fa1f2b1f166.tar.gz
gcc-d6f824bf7f4d82ab9b96b31d56b88fa1f2b1f166.tar.bz2
a-coinho.adb, [...]: Fix parameter mode of Update_Element.
2014-07-16 Vadim Godunko <godunko@adacore.com> * a-coinho.adb, a-coinho-shared.adb, a-coinho.ads, a-coinho-shared.ads: Fix parameter mode of Update_Element. From-SVN: r212644
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/a-coinho-shared.adb14
-rw-r--r--gcc/ada/a-coinho-shared.ads2
-rw-r--r--gcc/ada/a-coinho.adb4
-rw-r--r--gcc/ada/a-coinho.ads2
5 files changed, 13 insertions, 14 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 2ff7226..0134a76 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2014-07-16 Vadim Godunko <godunko@adacore.com>
+
+ * a-coinho.adb, a-coinho-shared.adb, a-coinho.ads, a-coinho-shared.ads:
+ Fix parameter mode of Update_Element.
+
2014-07-16 Robert Dewar <dewar@adacore.com>
* a-coinho.adb, a-coinho-shared.adb, a-coinho-shared.ads: Minor
diff --git a/gcc/ada/a-coinho-shared.adb b/gcc/ada/a-coinho-shared.adb
index df2d55a..defdf3a 100644
--- a/gcc/ada/a-coinho-shared.adb
+++ b/gcc/ada/a-coinho-shared.adb
@@ -67,12 +67,7 @@ package body Ada.Containers.Indefinite_Holders is
begin
if Control.Container /= null then
Reference (Control.Container.Reference);
-
- declare
- B : Natural renames Control.Container.Busy;
- begin
- B := B + 1;
- end;
+ Control.Container.Busy := Control.Container.Busy + 1;
end if;
end Adjust;
@@ -179,9 +174,8 @@ package body Ada.Containers.Indefinite_Holders is
if Control.Container /= null then
Unreference (Control.Container.Reference);
Control.Container.Busy := Control.Container.Busy - 1;
+ Control.Container := null;
end if;
-
- Control.Container := null;
end Finalize;
--------------
@@ -385,10 +379,10 @@ package body Ada.Containers.Indefinite_Holders is
--------------------
procedure Update_Element
- (Container : Holder;
+ (Container : in out Holder;
Process : not null access procedure (Element : in out Element_Type))
is
- B : Natural renames Container'Unrestricted_Access.Busy;
+ B : Natural renames Container.Busy;
begin
if Container.Reference = null then
diff --git a/gcc/ada/a-coinho-shared.ads b/gcc/ada/a-coinho-shared.ads
index 3e1ed18..df364b3 100644
--- a/gcc/ada/a-coinho-shared.ads
+++ b/gcc/ada/a-coinho-shared.ads
@@ -64,7 +64,7 @@ package Ada.Containers.Indefinite_Holders is
(Container : Holder;
Process : not null access procedure (Element : Element_Type));
procedure Update_Element
- (Container : Holder;
+ (Container : in out Holder;
Process : not null access procedure (Element : in out Element_Type));
type Constant_Reference_Type
diff --git a/gcc/ada/a-coinho.adb b/gcc/ada/a-coinho.adb
index 9fe4c14..2cdba99 100644
--- a/gcc/ada/a-coinho.adb
+++ b/gcc/ada/a-coinho.adb
@@ -325,10 +325,10 @@ package body Ada.Containers.Indefinite_Holders is
--------------------
procedure Update_Element
- (Container : Holder;
+ (Container : in out Holder;
Process : not null access procedure (Element : in out Element_Type))
is
- B : Natural renames Container'Unrestricted_Access.Busy;
+ B : Natural renames Container.Busy;
begin
if Container.Element = null then
diff --git a/gcc/ada/a-coinho.ads b/gcc/ada/a-coinho.ads
index c5f45f5..2f81d75 100644
--- a/gcc/ada/a-coinho.ads
+++ b/gcc/ada/a-coinho.ads
@@ -64,7 +64,7 @@ package Ada.Containers.Indefinite_Holders is
Process : not null access procedure (Element : Element_Type));
procedure Update_Element
- (Container : Holder;
+ (Container : in out Holder;
Process : not null access procedure (Element : in out Element_Type));
type Constant_Reference_Type