aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerome Lambourg <lambourg@adacore.com>2015-10-26 13:14:49 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2015-10-26 14:14:49 +0100
commit90707ac1bbeaa670d0a93de3f4299254dd4579c9 (patch)
tree7d1521ce7ef36b2e9a2683fb5fdcf8b29f91d83b /gcc
parentfa73fc3d39956ebf22998dea8bffa96fad34d6f2 (diff)
downloadgcc-90707ac1bbeaa670d0a93de3f4299254dd4579c9.zip
gcc-90707ac1bbeaa670d0a93de3f4299254dd4579c9.tar.gz
gcc-90707ac1bbeaa670d0a93de3f4299254dd4579c9.tar.bz2
sysdep.c (__gnat_get_task_options): Refine the workaround for the VX_USR_TASK_OPTION bug in VxWorks 7...
2015-10-26 Jerome Lambourg <lambourg@adacore.com> * 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog8
-rw-r--r--gcc/ada/g-arrspl.ads6
-rw-r--r--gcc/ada/sysdep.c8
3 files changed, 17 insertions, 5 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6b12af2..49aab44 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,13 @@
2015-10-26 Jerome Lambourg <lambourg@adacore.com>
+ * 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.
+
+2015-10-26 Jerome Lambourg <lambourg@adacore.com>
+
* sysdep.c (__gnat_get_task_options): Workaround a VxWorks
bug where VX_DEALLOC_TCB task option is forbidden when calling
taskCreate but allowed in VX_USR_TASK_OPTIONS.
diff --git a/gcc/ada/g-arrspl.ads b/gcc/ada/g-arrspl.ads
index fa7e660..ce3158c 100644
--- a/gcc/ada/g-arrspl.ads
+++ b/gcc/ada/g-arrspl.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2002-2013, Free Software Foundation, Inc. --
+-- Copyright (C) 2002-2015, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -43,7 +43,7 @@ generic
-- The array which is a sequence of element
type Element_Set is private;
- -- This type represent a set of elements. This set does not defined a
+ -- This type represent a set of elements. This set does not define a
-- specific order of the elements. The conversion of a sequence to a
-- set and membership tests in the set is performed using the routines
-- To_Set and Is_In defined below.
@@ -74,7 +74,7 @@ package GNAT.Array_Split is
type Slice_Set is private;
-- This type uses by-reference semantics. This is a set of slices as
-- returned by Create or Set routines below. The abstraction represents
- -- a set of items. Each item is a part of the original string named a
+ -- a set of items. Each item is a part of the original array named a
-- Slice. It is possible to access individual slices by using the Slice
-- routine below. The first slice in the Set is at the position/index
-- 1. The total number of slices in the set is returned by Slice_Count.
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