aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-11-24 16:27:31 +0000
committerRainer Orth <ro@gcc.gnu.org>2011-11-24 16:27:31 +0000
commitbf75cdbe7bfae38a0cd222933072bea69c10cf24 (patch)
tree100585ee78dfe554c9011a84f52643b88200ede8 /gcc
parent49ec778e046ff6d8e23392355126aed3f2b2a98c (diff)
downloadgcc-bf75cdbe7bfae38a0cd222933072bea69c10cf24.zip
gcc-bf75cdbe7bfae38a0cd222933072bea69c10cf24.tar.gz
gcc-bf75cdbe7bfae38a0cd222933072bea69c10cf24.tar.bz2
Fix bootstrap error in s-taprop-tru64.adb
* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access. From-SVN: r181696
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog4
-rw-r--r--gcc/ada/s-taprop-tru64.adb8
2 files changed, 11 insertions, 1 deletions
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 <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
+
2011-11-23 Thomas Quinot <quinot@adacore.com>
* 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));