diff options
author | Vadim Godunko <godunko@adacore.com> | 2014-07-16 13:54:43 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-16 15:54:43 +0200 |
commit | d6f824bf7f4d82ab9b96b31d56b88fa1f2b1f166 (patch) | |
tree | f6bfc8dab307680ebe52f664381a3dba252ec556 | |
parent | ab4766388256f3a8b070872bd0af94056afb5417 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/a-coinho-shared.adb | 14 | ||||
-rw-r--r-- | gcc/ada/a-coinho-shared.ads | 2 | ||||
-rw-r--r-- | gcc/ada/a-coinho.adb | 4 | ||||
-rw-r--r-- | gcc/ada/a-coinho.ads | 2 |
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 |