From: Rainer Orth Date: Thu, 24 Nov 2011 16:27:31 +0000 (+0000) Subject: Fix bootstrap error in s-taprop-tru64.adb X-Git-Tag: releases/gcc-4.7.0~1971 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bf75cdbe7bfae38a0cd222933072bea69c10cf24;p=thirdparty%2Fgcc.git Fix bootstrap error in s-taprop-tru64.adb * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access. From-SVN: r181696 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 4533244cd742..77fd4bf15d1e 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 cb534adf5b62..8d69e5b19b1e 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));