Mercurial > hg > CbC > CbC_gcc
diff gcc/ada/libgnat/a-cborma.adb @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/gcc/ada/libgnat/a-cborma.adb Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/ada/libgnat/a-cborma.adb Thu Feb 13 11:34:05 2020 +0900 @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2004-2018, Free Software Foundation, Inc. -- +-- Copyright (C) 2004-2019, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -374,7 +374,9 @@ procedure Clear (Container : in out Map) is begin - Tree_Operations.Clear_Tree (Container); + while not Container.Is_Empty loop + Container.Delete_Last; + end loop; end Clear; ----------- @@ -418,7 +420,7 @@ (Element => N.Element'Access, Control => (Controlled with TC)) do - Lock (TC.all); + Busy (TC.all); end return; end; end Constant_Reference; @@ -443,7 +445,7 @@ (Element => N.Element'Access, Control => (Controlled with TC)) do - Lock (TC.all); + Busy (TC.all); end return; end; end Constant_Reference; @@ -462,17 +464,12 @@ ---------- function Copy (Source : Map; Capacity : Count_Type := 0) return Map is - C : Count_Type; - + C : constant Count_Type := + (if Capacity = 0 then Source.Length + else Capacity); begin - if Capacity = 0 then - C := Source.Length; - - elsif Capacity >= Source.Length then - C := Capacity; - - elsif Checks then - raise Capacity_Error with "Capacity value too small"; + if Checks and then C < Source.Length then + raise Capacity_Error with "Capacity too small"; end if; return Target : Map (Capacity => C) do @@ -1259,7 +1256,7 @@ Container.TC'Unrestricted_Access; begin return R : constant Reference_Control_Type := (Controlled with TC) do - Lock (TC.all); + Busy (TC.all); end return; end Pseudo_Reference; @@ -1379,7 +1376,7 @@ (Element => N.Element'Access, Control => (Controlled with TC)) do - Lock (TC.all); + Busy (TC.all); end return; end; end Reference; @@ -1404,7 +1401,7 @@ (Element => N.Element'Access, Control => (Controlled with TC)) do - Lock (TC.all); + Busy (TC.all); end return; end; end Reference;