diff options
author | sam <sam@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-10 22:20:15 +0000 |
---|---|---|
committer | sam <sam@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-10 22:20:15 +0000 |
commit | 55e9d3a6236e99d3dde9b769294f83935b6e674b (patch) | |
tree | 3a85db7a50b5d2fd33504b0d1ad6b5db42ec7210 /gcc/ada/a-tasatt.adb | |
parent | 5953a6903675cde6632f3b7540d86ad3c62791f0 (diff) | |
download | gcc-55e9d3a6236e99d3dde9b769294f83935b6e674b.tar.gz |
gcc/ada/
* a-tasatt.adb: Revert previous change for this file as it will
generate an error when this package is instantiated from a
local context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130076 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/a-tasatt.adb')
-rw-r--r-- | gcc/ada/a-tasatt.adb | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/gcc/ada/a-tasatt.adb b/gcc/ada/a-tasatt.adb index cd205915708..97e024c0657 100644 --- a/gcc/ada/a-tasatt.adb +++ b/gcc/ada/a-tasatt.adb @@ -415,7 +415,7 @@ package body Ada.Task_Attributes is POP.Lock_RTS; while P /= null loop - if P.Instance = Access_Instance'(Local'Access) then + if P.Instance = Access_Instance'(Local'Unchecked_Access) then POP.Unlock_RTS; Undefer_Abort (Self_Id); return To_Access_Wrapper (P.Wrapper).Value'Access; @@ -429,10 +429,11 @@ package body Ada.Task_Attributes is -- holding any other lock. POP.Unlock_RTS; - W := new Wrapper'((null, Local'Access, null), Initial_Value); + W := new Wrapper' + ((null, Local'Unchecked_Access, null), Initial_Value); POP.Lock_RTS; - P := W.Dummy_Node'Access; + P := W.Dummy_Node'Unchecked_Access; P.Wrapper := To_Access_Dummy_Wrapper (W); P.Next := To_Access_Node (TT.Indirect_Attributes); TT.Indirect_Attributes := To_Access_Address (P); @@ -493,7 +494,7 @@ package body Ada.Task_Attributes is Q := To_Access_Node (TT.Indirect_Attributes); while Q /= null loop - if Q.Instance = Access_Instance'(Local'Access) then + if Q.Instance = Access_Instance'(Local'Unchecked_Access) then if P = null then TT.Indirect_Attributes := To_Access_Address (Q.Next); else @@ -580,7 +581,7 @@ package body Ada.Task_Attributes is while P /= null loop - if P.Instance = Access_Instance'(Local'Access) then + if P.Instance = Access_Instance'(Local'Unchecked_Access) then To_Access_Wrapper (P.Wrapper).Value := Val; POP.Unlock_RTS; Undefer_Abort (Self_Id); @@ -594,9 +595,9 @@ package body Ada.Task_Attributes is -- from using new (i.e the Global_Lock) while holding any other lock. POP.Unlock_RTS; - W := new Wrapper'((null, Local'Access, null), Val); + W := new Wrapper'((null, Local'Unchecked_Access, null), Val); POP.Lock_RTS; - P := W.Dummy_Node'Access; + P := W.Dummy_Node'Unchecked_Access; P.Wrapper := To_Access_Dummy_Wrapper (W); P.Next := To_Access_Node (TT.Indirect_Attributes); TT.Indirect_Attributes := To_Access_Address (P); @@ -668,7 +669,7 @@ package body Ada.Task_Attributes is P := To_Access_Node (TT.Indirect_Attributes); while P /= null loop - if P.Instance = Access_Instance'(Local'Access) then + if P.Instance = Access_Instance'(Local'Unchecked_Access) then Result := To_Access_Wrapper (P.Wrapper).Value; POP.Unlock_RTS; Undefer_Abort (Self_Id); @@ -723,7 +724,8 @@ begin -- Add this instantiation to the list of all instantiations Local.Next := System.Tasking.Task_Attributes.All_Attributes; - System.Tasking.Task_Attributes.All_Attributes := Local'Access; + System.Tasking.Task_Attributes.All_Attributes := + Local'Unchecked_Access; -- Try to find space for the attribute in the TCB |