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
This commit is contained in:
parent
fa73fc3d39
commit
90707ac1bb
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user