mirror of git://gcc.gnu.org/git/gcc.git
[multiple changes]
2014-06-13 Geert Bosch <bosch@adacore.com> * gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi, s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads, s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent. 2014-06-13 Robert Dewar <dewar@adacore.com> * s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting. From-SVN: r211616
This commit is contained in:
parent
c00b86e2c3
commit
65ede00530
|
|
@ -1,3 +1,13 @@
|
||||||
|
2014-06-13 Geert Bosch <bosch@adacore.com>
|
||||||
|
|
||||||
|
* gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi,
|
||||||
|
s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads,
|
||||||
|
s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent.
|
||||||
|
|
||||||
|
2014-06-13 Robert Dewar <dewar@adacore.com>
|
||||||
|
|
||||||
|
* s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting.
|
||||||
|
|
||||||
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
|
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
|
||||||
|
|
||||||
* freeze.adb (Freeze_Entity): Remove the check concerning volatile
|
* freeze.adb (Freeze_Entity): Remove the check concerning volatile
|
||||||
|
|
|
||||||
|
|
@ -630,7 +630,6 @@ The GNAT Library
|
||||||
* System.Restrictions (s-restri.ads)::
|
* System.Restrictions (s-restri.ads)::
|
||||||
* System.Rident (s-rident.ads)::
|
* System.Rident (s-rident.ads)::
|
||||||
* System.Strings.Stream_Ops (s-ststop.ads)::
|
* System.Strings.Stream_Ops (s-ststop.ads)::
|
||||||
* System.Task_Info (s-tasinf.ads)::
|
|
||||||
* System.Unsigned_Types (s-unstyp.ads)::
|
* System.Unsigned_Types (s-unstyp.ads)::
|
||||||
* System.Wch_Cnv (s-wchcnv.ads)::
|
* System.Wch_Cnv (s-wchcnv.ads)::
|
||||||
* System.Wch_Con (s-wchcon.ads)::
|
* System.Wch_Con (s-wchcon.ads)::
|
||||||
|
|
@ -1082,7 +1081,6 @@ consideration, the use of these pragmas should be minimized.
|
||||||
* Pragma Suppress_Debug_Info::
|
* Pragma Suppress_Debug_Info::
|
||||||
* Pragma Suppress_Exception_Locations::
|
* Pragma Suppress_Exception_Locations::
|
||||||
* Pragma Suppress_Initialization::
|
* Pragma Suppress_Initialization::
|
||||||
* Pragma Task_Info::
|
|
||||||
* Pragma Task_Name::
|
* Pragma Task_Name::
|
||||||
* Pragma Task_Storage::
|
* Pragma Task_Storage::
|
||||||
* Pragma Test_Case::
|
* Pragma Test_Case::
|
||||||
|
|
@ -6870,27 +6868,6 @@ to apply to the base type and all its subtypes. If the pragma is given
|
||||||
for other than a first subtype, then it applies only to the given subtype.
|
for other than a first subtype, then it applies only to the given subtype.
|
||||||
The pragma may not be given after the type is frozen.
|
The pragma may not be given after the type is frozen.
|
||||||
|
|
||||||
@node Pragma Task_Info
|
|
||||||
@unnumberedsec Pragma Task_Info
|
|
||||||
@findex Task_Info
|
|
||||||
@noindent
|
|
||||||
Syntax
|
|
||||||
|
|
||||||
@smallexample @c ada
|
|
||||||
pragma Task_Info (EXPRESSION);
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
This pragma appears within a task definition (like pragma
|
|
||||||
@code{Priority}) and applies to the task in which it appears. The
|
|
||||||
argument must be of type @code{System.Task_Info.Task_Info_Type}.
|
|
||||||
The @code{Task_Info} pragma provides system dependent control over
|
|
||||||
aspects of tasking implementation, for example, the ability to map
|
|
||||||
tasks to specific processors. For details on the facilities available
|
|
||||||
for the version of GNAT that you are using, see the documentation
|
|
||||||
in the spec of package System.Task_Info in the runtime
|
|
||||||
library.
|
|
||||||
|
|
||||||
@node Pragma Task_Name
|
@node Pragma Task_Name
|
||||||
@unnumberedsec Pragma Task_Name
|
@unnumberedsec Pragma Task_Name
|
||||||
@findex Task_Name
|
@findex Task_Name
|
||||||
|
|
@ -19872,15 +19849,6 @@ It is intended primarily to support implicit use of such subprograms when
|
||||||
stream attributes are applied to string types, but the subprograms in this
|
stream attributes are applied to string types, but the subprograms in this
|
||||||
package can be used directly by application programs.
|
package can be used directly by application programs.
|
||||||
|
|
||||||
@node System.Task_Info (s-tasinf.ads)
|
|
||||||
@section @code{System.Task_Info} (@file{s-tasinf.ads})
|
|
||||||
@cindex @code{System.Task_Info} (@file{s-tasinf.ads})
|
|
||||||
@cindex Task_Info pragma
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
This package provides target dependent functionality that is used
|
|
||||||
to support the @code{Task_Info} pragma
|
|
||||||
|
|
||||||
@node System.Unsigned_Types (s-unstyp.ads)
|
@node System.Unsigned_Types (s-unstyp.ads)
|
||||||
@section @code{System.Unsigned_Types} (@file{s-unstyp.ads})
|
@section @code{System.Unsigned_Types} (@file{s-unstyp.ads})
|
||||||
@cindex @code{System.Unsigned_Types} (@file{s-unstyp.ads})
|
@cindex @code{System.Unsigned_Types} (@file{s-unstyp.ads})
|
||||||
|
|
@ -22431,6 +22399,7 @@ compatibility purposes.
|
||||||
* pragma No_Run_Time::
|
* pragma No_Run_Time::
|
||||||
* pragma Ravenscar::
|
* pragma Ravenscar::
|
||||||
* pragma Restricted_Run_Time::
|
* pragma Restricted_Run_Time::
|
||||||
|
* pragma Task_Info::
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node pragma No_Run_Time
|
@node pragma No_Run_Time
|
||||||
|
|
@ -22459,6 +22428,41 @@ pragma @code{Profile (Restricted)}. The latter usage is
|
||||||
preferred since the Ada 2005 pragma @code{Profile} is intended for
|
preferred since the Ada 2005 pragma @code{Profile} is intended for
|
||||||
this kind of implementation dependent addition.
|
this kind of implementation dependent addition.
|
||||||
|
|
||||||
|
@node pragma Task_Info
|
||||||
|
@section pragma Task_Info
|
||||||
|
|
||||||
|
The functionality provided by pragma @code{Task_Info} is now part of the
|
||||||
|
Ada language. The @code{CPU} aspect and the package
|
||||||
|
@code{System.Multiprocessors} offer a less system-dependent way to specify
|
||||||
|
task affinity or to query the number of processsors.
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Syntax
|
||||||
|
|
||||||
|
@smallexample @c ada
|
||||||
|
pragma Task_Info (EXPRESSION);
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
This pragma appears within a task definition (like pragma
|
||||||
|
@code{Priority}) and applies to the task in which it appears. The
|
||||||
|
argument must be of type @code{System.Task_Info.Task_Info_Type}.
|
||||||
|
The @code{Task_Info} pragma provides system dependent control over
|
||||||
|
aspects of tasking implementation, for example, the ability to map
|
||||||
|
tasks to specific processors. For details on the facilities available
|
||||||
|
for the version of GNAT that you are using, see the documentation
|
||||||
|
in the spec of package System.Task_Info in the runtime
|
||||||
|
library.
|
||||||
|
|
||||||
|
@node package System.Task_Info (s-tasinf.ads)
|
||||||
|
@section package System.Task_Info (@file{s-tasinf.ads})
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
This package provides target dependent functionality that is used
|
||||||
|
to support the @code{Task_Info} pragma. The predefined Ada package
|
||||||
|
@code{System.Multiprocessors} and the @code{CPU} aspect now provide a
|
||||||
|
standard replacement for GNAT's @code{Task_Info} functionality.
|
||||||
|
|
||||||
@include fdl.texi
|
@include fdl.texi
|
||||||
@c GNU Free Documentation License
|
@c GNU Free Documentation License
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22873,14 +22873,7 @@ stack overflow.) On OpenVMS Alpha systems, if the pragma
|
||||||
area is created. In the absence of a pragma @code{TASK_STORAGE},
|
area is created. In the absence of a pragma @code{TASK_STORAGE},
|
||||||
a default guard area is created.
|
a default guard area is created.
|
||||||
|
|
||||||
GNAT supplies the following task-related pragmas:
|
GNAT supplies the following task-related pragma:
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{TASK_INFO}
|
|
||||||
|
|
||||||
This pragma appears within a task definition and
|
|
||||||
applies to the task in which it appears. The argument
|
|
||||||
must be of type @code{SYSTEM.TASK_INFO.TASK_INFO_TYPE}.
|
|
||||||
|
|
||||||
@item @code{TASK_STORAGE}
|
@item @code{TASK_STORAGE}
|
||||||
|
|
||||||
|
|
@ -23075,8 +23068,6 @@ following:
|
||||||
|
|
||||||
@item @code{SOURCE_REFERENCE}
|
@item @code{SOURCE_REFERENCE}
|
||||||
|
|
||||||
@item @code{TASK_INFO}
|
|
||||||
|
|
||||||
@item @code{UNCHECKED_UNION}
|
@item @code{UNCHECKED_UNION}
|
||||||
|
|
||||||
@item @code{UNIMPLEMENTED_UNIT}
|
@item @code{UNIMPLEMENTED_UNIT}
|
||||||
|
|
|
||||||
|
|
@ -31,17 +31,19 @@
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
pragma Polling (Off);
|
pragma Polling (Off);
|
||||||
-- Turn off polling, we do not want ATC polling to take place during
|
-- Turn off polling, we do not want ATC polling to take place during tasking
|
||||||
-- tasking operations. It causes infinite loops and other problems.
|
-- operations. It causes infinite loops and other problems.
|
||||||
|
|
||||||
with System.Task_Primitives.Operations;
|
with System.Task_Primitives.Operations;
|
||||||
with System.Parameters;
|
with System.Parameters;
|
||||||
with System.Traces;
|
with System.Traces;
|
||||||
with System.Soft_Links.Tasking;
|
with System.Soft_Links.Tasking;
|
||||||
with System.Secondary_Stack; pragma Elaborate_All (System.Secondary_Stack);
|
|
||||||
|
with System.Secondary_Stack;
|
||||||
|
pragma Elaborate_All (System.Secondary_Stack);
|
||||||
pragma Unreferenced (System.Secondary_Stack);
|
pragma Unreferenced (System.Secondary_Stack);
|
||||||
-- Make sure the body of Secondary_Stack is elaborated before calling
|
-- Make sure the body of Secondary_Stack is elaborated before calling
|
||||||
-- Init_Tasking_Soft_Links.
|
-- Init_Tasking_Soft_Links. See comments for this routine for explanation.
|
||||||
|
|
||||||
package body System.Tasking.Protected_Objects is
|
package body System.Tasking.Protected_Objects is
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,9 +49,10 @@ with System.Task_Primitives.Operations;
|
||||||
with System.Soft_Links.Tasking;
|
with System.Soft_Links.Tasking;
|
||||||
with System.Storage_Elements;
|
with System.Storage_Elements;
|
||||||
|
|
||||||
with System.Secondary_Stack; pragma Elaborate_All (System.Secondary_Stack);
|
with System.Secondary_Stack;
|
||||||
|
pragma Elaborate_All (System.Secondary_Stack);
|
||||||
-- Make sure the body of Secondary_Stack is elaborated before calling
|
-- Make sure the body of Secondary_Stack is elaborated before calling
|
||||||
-- Init_Tasking_Soft_Links.
|
-- Init_Tasking_Soft_Links. See comments for this routine for explanation.
|
||||||
|
|
||||||
with System.Soft_Links;
|
with System.Soft_Links;
|
||||||
-- Used for the non-tasking routines (*_NT) that refer to global data. They
|
-- Used for the non-tasking routines (*_NT) that refer to global data. They
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- S p e c --
|
-- S p e c --
|
||||||
-- --
|
-- --
|
||||||
-- Copyright (C) 2007-2012, Free Software Foundation, Inc. --
|
-- Copyright (C) 2007-2014, Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
-- 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- --
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||||
|
|
@ -36,14 +36,15 @@
|
||||||
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
||||||
-- Any changes to this interface may require corresponding compiler changes.
|
-- Any changes to this interface may require corresponding compiler changes.
|
||||||
|
|
||||||
-- This unit may be used directly from an application program by providing
|
-- The functionality in this unit is now provided by the predefined package
|
||||||
-- an appropriate WITH, and the interface can be expected to remain stable.
|
-- System.Multiprocessors and the CPU aspect. This package is obsolescent.
|
||||||
|
|
||||||
-- This is the GNU/Linux version of this module
|
-- This is the GNU/Linux version of this module
|
||||||
|
|
||||||
with System.OS_Interface;
|
with System.OS_Interface;
|
||||||
|
|
||||||
package System.Task_Info is
|
package System.Task_Info is
|
||||||
|
pragma Obsolescent (Task_Info, "use System.Multiprocessors and CPU aspect");
|
||||||
pragma Preelaborate;
|
pragma Preelaborate;
|
||||||
pragma Elaborate_Body;
|
pragma Elaborate_Body;
|
||||||
-- To ensure that a body is allowed
|
-- To ensure that a body is allowed
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- S p e c --
|
-- S p e c --
|
||||||
-- --
|
-- --
|
||||||
-- Copyright (C) 2007-2009, Free Software Foundation, Inc. --
|
-- Copyright (C) 2007-2014, Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
-- 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- --
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||||
|
|
@ -36,14 +36,15 @@
|
||||||
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
||||||
-- Any changes to this interface may require corresponding compiler changes.
|
-- Any changes to this interface may require corresponding compiler changes.
|
||||||
|
|
||||||
-- This unit may be used directly from an application program by providing
|
-- The functionality in this unit is now provided by the predefined package
|
||||||
-- an appropriate WITH, and the interface can be expected to remain stable.
|
-- System.Multiprocessors and the CPU aspect. This package is obsolescent.
|
||||||
|
|
||||||
-- This is the Windows (native) version of this module
|
-- This is the Windows (native) version of this module
|
||||||
|
|
||||||
with System.Win32;
|
with System.Win32;
|
||||||
|
|
||||||
package System.Task_Info is
|
package System.Task_Info is
|
||||||
|
pragma Obsolescent (Task_Info, "use System.Multiprocessors and CPU aspect");
|
||||||
pragma Preelaborate;
|
pragma Preelaborate;
|
||||||
pragma Elaborate_Body;
|
pragma Elaborate_Body;
|
||||||
-- To ensure that a body is allowed
|
-- To ensure that a body is allowed
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- S p e c --
|
-- S p e c --
|
||||||
-- --
|
-- --
|
||||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
-- 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- --
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||||
|
|
@ -36,14 +36,15 @@
|
||||||
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
||||||
-- Any changes to this interface may require corresponding compiler changes.
|
-- Any changes to this interface may require corresponding compiler changes.
|
||||||
|
|
||||||
-- This unit may be used directly from an application program by providing
|
-- The functionality in this unit is now provided by the predefined package
|
||||||
-- an appropriate WITH, and the interface can be expected to remain stable.
|
-- System.Multiprocessors and the CPU aspect. This package is obsolescent.
|
||||||
|
|
||||||
-- This is the Solaris (native) version of this module
|
-- This is the Solaris (native) version of this module
|
||||||
|
|
||||||
with System.OS_Interface;
|
with System.OS_Interface;
|
||||||
|
|
||||||
package System.Task_Info is
|
package System.Task_Info is
|
||||||
|
pragma Obsolescent (Task_Info, "use System.Multiprocessors and CPU aspect");
|
||||||
pragma Preelaborate;
|
pragma Preelaborate;
|
||||||
pragma Elaborate_Body;
|
pragma Elaborate_Body;
|
||||||
-- To ensure that a body is allowed
|
-- To ensure that a body is allowed
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- S p e c --
|
-- S p e c --
|
||||||
-- --
|
-- --
|
||||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
-- 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- --
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||||
|
|
@ -36,14 +36,15 @@
|
||||||
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
||||||
-- Any changes to this interface may require corresponding compiler changes.
|
-- Any changes to this interface may require corresponding compiler changes.
|
||||||
|
|
||||||
-- This unit may be used directly from an application program by providing
|
-- The functionality in this unit is now provided by the predefined package
|
||||||
-- an appropriate WITH, and the interface can be expected to remain stable.
|
-- System.Multiprocessors and the CPU aspect. This package is obsolescent.
|
||||||
|
|
||||||
-- This is the VxWorks version of this package
|
-- This is the VxWorks version of this package
|
||||||
|
|
||||||
with Interfaces.C;
|
with Interfaces.C;
|
||||||
|
|
||||||
package System.Task_Info is
|
package System.Task_Info is
|
||||||
|
pragma Obsolescent (Task_Info, "use System.Multiprocessors and CPU aspect");
|
||||||
pragma Preelaborate;
|
pragma Preelaborate;
|
||||||
pragma Elaborate_Body;
|
pragma Elaborate_Body;
|
||||||
-- To ensure that a body is allowed
|
-- To ensure that a body is allowed
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
-- --
|
-- --
|
||||||
-- S p e c --
|
-- S p e c --
|
||||||
-- --
|
-- --
|
||||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
-- 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- --
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||||
|
|
@ -36,10 +36,11 @@
|
||||||
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
|
||||||
-- Any changes to this interface may require corresponding compiler changes.
|
-- Any changes to this interface may require corresponding compiler changes.
|
||||||
|
|
||||||
-- This unit may be used directly from an application program by providing
|
-- The functionality in this unit is now provided by the predefined package
|
||||||
-- an appropriate WITH, and the interface can be expected to remain stable.
|
-- System.Multiprocessors and the CPU aspect. This package is obsolescent.
|
||||||
|
|
||||||
package System.Task_Info is
|
package System.Task_Info is
|
||||||
|
pragma Obsolescent (Task_Info, "use System.Multiprocessors and CPU aspect");
|
||||||
pragma Preelaborate;
|
pragma Preelaborate;
|
||||||
pragma Elaborate_Body;
|
pragma Elaborate_Body;
|
||||||
-- To ensure that a body is allowed
|
-- To ensure that a body is allowed
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,11 @@ with System.Soft_Links.Tasking;
|
||||||
with System.Tasking.Debug;
|
with System.Tasking.Debug;
|
||||||
with System.Parameters;
|
with System.Parameters;
|
||||||
|
|
||||||
with System.Secondary_Stack; pragma Elaborate_All (System.Secondary_Stack);
|
with System.Secondary_Stack;
|
||||||
|
pragma Elaborate_All (System.Secondary_Stack);
|
||||||
pragma Unreferenced (System.Secondary_Stack);
|
pragma Unreferenced (System.Secondary_Stack);
|
||||||
-- Make sure the body of Secondary_Stack is elaborated before calling
|
-- Make sure the body of Secondary_Stack is elaborated before calling
|
||||||
-- Init_Tasking_Soft_Links.
|
-- Init_Tasking_Soft_Links. See comments for this routine for explanation.
|
||||||
|
|
||||||
package body System.Tasking.Initialization is
|
package body System.Tasking.Initialization is
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20519,6 +20519,12 @@ package body Sem_Prag is
|
||||||
begin
|
begin
|
||||||
GNAT_Pragma;
|
GNAT_Pragma;
|
||||||
|
|
||||||
|
if Warn_On_Obsolescent_Feature then
|
||||||
|
Error_Msg_N
|
||||||
|
("'G'N'A'T pragma Task_Info is now obsolete, use 'C'P'U "
|
||||||
|
& "instead?j?", N);
|
||||||
|
end if;
|
||||||
|
|
||||||
if Nkind (P) /= N_Task_Definition then
|
if Nkind (P) /= N_Task_Definition then
|
||||||
Error_Pragma ("pragma% must appear in task definition");
|
Error_Pragma ("pragma% must appear in task definition");
|
||||||
end if;
|
end if;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue