From 90707ac1bbeaa670d0a93de3f4299254dd4579c9 Mon Sep 17 00:00:00 2001 From: Jerome Lambourg Date: Mon, 26 Oct 2015 13:14:49 +0000 Subject: sysdep.c (__gnat_get_task_options): Refine the workaround for the VX_USR_TASK_OPTION bug in VxWorks 7... 2015-10-26 Jerome Lambourg * sysdep.c (__gnat_get_task_options): Refine the workaround for the VX_USR_TASK_OPTION bug in VxWorks 7, as we cannot check the value of VX_DEALLOC_TCB in RTP mode, the macro value not being defined in the headers. * g-arrspl.ads: Fix typo. From-SVN: r229356 --- gcc/ada/sysdep.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gcc/ada/sysdep.c') diff --git a/gcc/ada/sysdep.c b/gcc/ada/sysdep.c index 21cd37c..1ecbd14 100644 --- a/gcc/ada/sysdep.c +++ b/gcc/ada/sysdep.c @@ -871,9 +871,13 @@ __gnat_get_task_options (void) - VX_PRIVATE_UMASK as a user-definable option This leads to VX_USR_TASK_OPTIONS allowing 0x8000 as VX_PRIVATE_UMASK but taskCreate refusing this option (VX_DEALLOC_TCB is not allowed) + + Note that the same error occurs in both RTP and Kernel mode, but + VX_DEALLOC_TCB is not defined in the RTP headers, so we need to + explicitely check if VX_PRIVATE_UMASK has value 0x8000 */ -# if defined (VX_PRIVATE_UMASK) && (VX_DEALLOC_TCB == VX_PRIVATE_UMASK) - options &= ~VX_DEALLOC_TCB; +# if defined (VX_PRIVATE_UMASK) && (0x8000 == VX_PRIVATE_UMASK) + options &= ~VX_PRIVATE_UMASK; # endif options &= VX_USR_TASK_OPTIONS; #endif -- cgit v1.1