comparison gcc/ada/libgnat/a-ciorse.adb @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
4 -- -- 4 -- --
5 -- ADA.CONTAINERS.INDEFINITE_ORDERED_SETS -- 5 -- ADA.CONTAINERS.INDEFINITE_ORDERED_SETS --
6 -- -- 6 -- --
7 -- B o d y -- 7 -- B o d y --
8 -- -- 8 -- --
9 -- Copyright (C) 2004-2018, Free Software Foundation, Inc. -- 9 -- Copyright (C) 2004-2019, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
392 begin 392 begin
393 return R : constant Constant_Reference_Type := 393 return R : constant Constant_Reference_Type :=
394 (Element => Position.Node.Element.all'Access, 394 (Element => Position.Node.Element.all'Access,
395 Control => (Controlled with TC)) 395 Control => (Controlled with TC))
396 do 396 do
397 Lock (TC.all); 397 Busy (TC.all);
398 end return; 398 end return;
399 end; 399 end;
400 end Constant_Reference; 400 end Constant_Reference;
401 401
402 -------------- 402 --------------
786 begin 786 begin
787 return R : constant Constant_Reference_Type := 787 return R : constant Constant_Reference_Type :=
788 (Element => Node.Element.all'Access, 788 (Element => Node.Element.all'Access,
789 Control => (Controlled with TC)) 789 Control => (Controlled with TC))
790 do 790 do
791 Lock (TC.all); 791 Busy (TC.all);
792 end return; 792 end return;
793 end; 793 end;
794 end Constant_Reference; 794 end Constant_Reference;
795 795
796 -------------- 796 --------------
1015 Tree.TC'Unrestricted_Access, 1015 Tree.TC'Unrestricted_Access,
1016 Container => Container'Access, 1016 Container => Container'Access,
1017 Pos => Position, 1017 Pos => Position,
1018 Old_Key => new Key_Type'(Key (Position)))) 1018 Old_Key => new Key_Type'(Key (Position))))
1019 do 1019 do
1020 Lock (Tree.TC); 1020 Busy (Tree.TC);
1021 end return; 1021 end return;
1022 end; 1022 end;
1023 end Reference_Preserving_Key; 1023 end Reference_Preserving_Key;
1024 1024
1025 function Reference_Preserving_Key 1025 function Reference_Preserving_Key
1047 Tree.TC'Unrestricted_Access, 1047 Tree.TC'Unrestricted_Access,
1048 Container => Container'Access, 1048 Container => Container'Access,
1049 Pos => Find (Container, Key), 1049 Pos => Find (Container, Key),
1050 Old_Key => new Key_Type'(Key))) 1050 Old_Key => new Key_Type'(Key)))
1051 do 1051 do
1052 Lock (Tree.TC); 1052 Busy (Tree.TC);
1053 end return; 1053 end return;
1054 end; 1054 end;
1055 end Reference_Preserving_Key; 1055 end Reference_Preserving_Key;
1056 1056
1057 ----------------------------------- 1057 -----------------------------------
1686 is 1686 is
1687 TC : constant Tamper_Counts_Access := 1687 TC : constant Tamper_Counts_Access :=
1688 Container.Tree.TC'Unrestricted_Access; 1688 Container.Tree.TC'Unrestricted_Access;
1689 begin 1689 begin
1690 return R : constant Reference_Control_Type := (Controlled with TC) do 1690 return R : constant Reference_Control_Type := (Controlled with TC) do
1691 Lock (TC.all); 1691 Busy (TC.all);
1692 end return; 1692 end return;
1693 end Pseudo_Reference; 1693 end Pseudo_Reference;
1694 1694
1695 ------------------- 1695 -------------------
1696 -- Query_Element -- 1696 -- Query_Element --