From bf75cdbe7bfae38a0cd222933072bea69c10cf24 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Thu, 24 Nov 2011 16:27:31 +0000 Subject: Fix bootstrap error in s-taprop-tru64.adb * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access. From-SVN: r181696 --- gcc/ada/ChangeLog | 4 ++++ gcc/ada/s-taprop-tru64.adb | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'gcc') diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 4533244..77fd4bf 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2011-11-24 Rainer Orth + + * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access. + 2011-11-23 Thomas Quinot * thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup diff --git a/gcc/ada/s-taprop-tru64.adb b/gcc/ada/s-taprop-tru64.adb index cb534ad..8d69e5b 100644 --- a/gcc/ada/s-taprop-tru64.adb +++ b/gcc/ada/s-taprop-tru64.adb @@ -889,9 +889,15 @@ package body System.Task_Primitives.Operations is -- do not need to manipulate caller's signal mask at this point. -- All tasks in RTS will have All_Tasks_Mask initially. + -- Note: the use of Unrestricted_Access in the following call is needed + -- because otherwise we have an error of getting a access-to-volatile + -- value which points to a non-volatile object. But in this case it is + -- safe to do this, since we know we have no problems with aliasing and + -- Unrestricted_Access bypasses this check. + Result := pthread_create - (T.Common.LL.Thread'Access, + (T.Common.LL.Thread'Unrestricted_Access, Attributes'Access, Thread_Body_Access (Wrapper), To_Address (T)); -- cgit v1.1