diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-06 10:43:17 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-06 10:43:17 +0000 |
commit | cce84b09e105d119e21714d124766a8b3a8bfd8f (patch) | |
tree | 1157a2d869f2276dd64328c487465347fc91ac7c /gcc/ada/s-tpopsp-vxworks.adb | |
parent | a3a76ccc41dd9d4d6e05bdcc53a81cc9c98d6ccc (diff) | |
download | gcc-cce84b09e105d119e21714d124766a8b3a8bfd8f.tar.gz |
2011-09-06 Yannick Moy <moy@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Call
Set_Corresponding_Aspect when creating pragma from aspect.
(Add_Predicates): Use new field Corresponding_Aspect.
* sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
name when present, for the purpose of issuing error messages;
remove local procedure Error_Pragma_Arg_Alternate_Name.
* sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
N_Pragma node.
(From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
N_Pragma node.
2011-09-06 Robert Dewar <dewar@adacore.com>
* checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Build_Heap_Allocator): Add new
local variable Desig_Typ. Code and comment reformatting. Add
machinery to ensure that the allocation uses a fat pointer when
the type of the return object is a constrained array and the
function return type is an unconstrained array.
2011-09-06 Vincent Celier <celier@adacore.com>
* make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
parameters in subprograms.
2011-09-06 Arnaud Charlet <charlet@adacore.com>
* s-taprop-mingw.adb (Finalize_TCB): Fix typo.
2011-09-06 Thomas Quinot <quinot@adacore.com>
* s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
(System.Tasking.Primitive_Operations.Specific.Delete): Remove
subprogram.
(System.Tasking.Primitive_Operations.Specific.Set): If argument
is null, destroy task specific data, to make API consistent with
other platforms, and thus compatible with the shared version
of s-tpoaal.adb.
(System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
Document the above assumption.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178583 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-tpopsp-vxworks.adb')
-rw-r--r-- | gcc/ada/s-tpopsp-vxworks.adb | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/gcc/ada/s-tpopsp-vxworks.adb b/gcc/ada/s-tpopsp-vxworks.adb index 64bf10c4d94..09c03efe061 100644 --- a/gcc/ada/s-tpopsp-vxworks.adb +++ b/gcc/ada/s-tpopsp-vxworks.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- -- -- -- GNARL 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- -- @@ -44,17 +44,6 @@ package body Specific is -- implementation. This mechanism is used to minimize impact on other -- targets. - ------------ - -- Delete -- - ------------ - - procedure Delete is - Result : STATUS; - begin - Result := taskVarDelete (taskIdSelf, ATCB_Key'Access); - pragma Assert (Result /= ERROR); - end Delete; - ---------------- -- Initialize -- ---------------- @@ -81,6 +70,14 @@ package body Specific is Result : STATUS; begin + -- If Self_Id is null, delete task specific data + + if Self_Id = null then + Result := taskVarDelete (taskIdSelf, ATCB_Key'Access); + pragma Assert (Result /= ERROR); + return; + end if; + if taskVarGet (0, ATCB_Key'Access) = ERROR then Result := taskVarAdd (0, ATCB_Key'Access); pragma Assert (Result = OK); |