sysdep.c (__gnat_get_task_options): Refine the workaround for the VX_USR_TASK_OPTION...
authorJerome Lambourg <lambourg@adacore.com>
Mon, 26 Oct 2015 13:14:49 +0000 (13:14 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 26 Oct 2015 13:14:49 +0000 (14:14 +0100)
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

gcc/ada/ChangeLog
gcc/ada/g-arrspl.ads
gcc/ada/sysdep.c

index 6b12af2500547894701f82cfcf7d90e71b89e0a3..49aab446b9f207165f8bc352bf42416b742fa297 100644 (file)
@@ -1,3 +1,11 @@
+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
index fa7e6603c14e9e82302e3fe079c7c94e714cc027..ce3158c5ef37ac9fdd3cbc0a0b1729f091f92dae 100644 (file)
@@ -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.
index 21cd37cc540d38aada3705bd2246b126959d2fb1..1ecbd1462bcd5b1e06028b2de1dc10cca82a9a0e 100644 (file)
@@ -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