Mercurial > hg > CbC > CbC_gcc
diff gcc/ada/libgnat/a-cbmutr.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-cbmutr.adb Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/ada/libgnat/a-cbmutr.adb Thu Feb 13 11:34:05 2020 +0900 @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2011-2018, Free Software Foundation, Inc. -- +-- Copyright (C) 2011-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- -- @@ -600,7 +600,7 @@ (Element => Container.Elements (Position.Node)'Access, Control => (Controlled with TC)) do - Lock (TC.all); + Busy (TC.all); end return; end; end Constant_Reference; @@ -625,15 +625,12 @@ (Source : Tree; Capacity : Count_Type := 0) return Tree is - C : Count_Type; - + C : constant Count_Type := + (if Capacity = 0 then Source.Count + else Capacity); begin - if Capacity = 0 then - C := Source.Count; - elsif Capacity >= Source.Count then - C := Capacity; - elsif Checks then - raise Capacity_Error with "Capacity value too small"; + if Checks and then C < Source.Count then + raise Capacity_Error with "Capacity too small"; end if; return Target : Tree (Capacity => C) do @@ -1767,10 +1764,8 @@ (Container : Tree; From, To : Count_Type) return Boolean is - Idx : Count_Type; - + Idx : Count_Type'Base := From; begin - Idx := From; while Idx >= 0 loop if Idx = To then return True; @@ -2296,7 +2291,7 @@ TC : constant Tamper_Counts_Access := 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; @@ -2495,7 +2490,7 @@ (Element => Container.Elements (Position.Node)'Access, Control => (Controlled with TC)) do - Lock (TC.all); + Busy (TC.all); end return; end; end Reference;