mirror of git://gcc.gnu.org/git/gcc.git
gnat_ugn.texi: Fix typos.
gcc/ada/ * gnat_ugn.texi: Fix typos. * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb, restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads, s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads, s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-filofl.ads, s-finimp.adb, s-finroo.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads, s-hibaen.ads, s-htable.ads, s-imgcha.adb, s-imgenu.ads, s-imgint.adb, s-imgrea.adb, s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb, s-interr-vxworks.adb, s-interr.adb, s-interr.ads, s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb, s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads, s-osinte-hpux.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, s-osinte-rtems.ads, s-osinte-solaris-posix.ads, s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads, s-parame.ads, s-parint.adb, s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads, s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads, s-rident.ads: Fix comment typos. From-SVN: r134177
This commit is contained in:
parent
2893f75305
commit
276e95ca15
|
|
@ -1,3 +1,31 @@
|
||||||
|
2008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
|
* gnat_ugn.texi: Fix typos.
|
||||||
|
* raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
|
||||||
|
restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
|
||||||
|
s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
|
||||||
|
s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
|
||||||
|
s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
|
||||||
|
s-finimp.adb, s-finroo.ads, s-fishfl.ads,
|
||||||
|
s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
|
||||||
|
s-hibaen.ads, s-htable.ads, s-imgcha.adb,
|
||||||
|
s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
|
||||||
|
s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
|
||||||
|
s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
|
||||||
|
s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
|
||||||
|
s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
|
||||||
|
s-osinte-darwin.ads, s-osinte-freebsd.ads,
|
||||||
|
s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
|
||||||
|
s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
|
||||||
|
s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
|
||||||
|
s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
|
||||||
|
s-parame-hpux.ads, s-parame-vms-alpha.ads,
|
||||||
|
s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
|
||||||
|
s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
|
||||||
|
s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
|
||||||
|
s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
|
||||||
|
s-rident.ads: Fix comment typos.
|
||||||
|
|
||||||
2008-04-09 Samuel Tardieu <sam@rfc1149.net>
|
2008-04-09 Samuel Tardieu <sam@rfc1149.net>
|
||||||
|
|
||||||
PR ada/28305
|
PR ada/28305
|
||||||
|
|
|
||||||
|
|
@ -22352,10 +22352,10 @@ same location as the @file{.gcno} files. The following executions
|
||||||
will update those files, so that a cumulative result of the covered
|
will update those files, so that a cumulative result of the covered
|
||||||
portions of the program is generated.
|
portions of the program is generated.
|
||||||
|
|
||||||
Finaly, you need to call the @code{gcov} tool. The different options of
|
Finally, you need to call the @code{gcov} tool. The different options of
|
||||||
@code{gcov} are available in the GCC User's Guide, section 'Invoking gcov'.
|
@code{gcov} are available in the GCC User's Guide, section 'Invoking gcov'.
|
||||||
|
|
||||||
This will create anotated source files with a @file{.gcov} extension:
|
This will create annotated source files with a @file{.gcov} extension:
|
||||||
@file{my_main.adb} file will be analysed in @file{my_main.adb.gcov}.
|
@file{my_main.adb} file will be analysed in @file{my_main.adb.gcov}.
|
||||||
|
|
||||||
@node Gnat specifics
|
@node Gnat specifics
|
||||||
|
|
@ -22390,7 +22390,7 @@ most often, and are therefore the most time-consuming.
|
||||||
|
|
||||||
@code{gprof} is the standard GNU profiling tool; it has been enhanced to
|
@code{gprof} is the standard GNU profiling tool; it has been enhanced to
|
||||||
better handle Ada programs and multitasking.
|
better handle Ada programs and multitasking.
|
||||||
It is currently supported on the following platoforms
|
It is currently supported on the following platforms
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
linux x86/x86_64
|
linux x86/x86_64
|
||||||
|
|
|
||||||
|
|
@ -362,7 +362,7 @@ db_phases (int phases)
|
||||||
context stack and not the actual call chain.
|
context stack and not the actual call chain.
|
||||||
|
|
||||||
The ACTION and TTYPES tables remain unchanged, which allows to search them
|
The ACTION and TTYPES tables remain unchanged, which allows to search them
|
||||||
during the propagation phase to determine wether or not the propagated
|
during the propagation phase to determine whether or not the propagated
|
||||||
exception is handled somewhere. When it is, we only "jump" up once directly
|
exception is handled somewhere. When it is, we only "jump" up once directly
|
||||||
to the context where the handler will be found. Besides, this allows "break
|
to the context where the handler will be found. Besides, this allows "break
|
||||||
exception unhandled" to work also
|
exception unhandled" to work also
|
||||||
|
|
@ -811,7 +811,7 @@ get_call_site_action_for (_Unwind_Context *uw_context,
|
||||||
|
|
||||||
/* With CHOICE an exception choice representing an "exception - when"
|
/* With CHOICE an exception choice representing an "exception - when"
|
||||||
argument, and PROPAGATED_EXCEPTION a pointer to the currently propagated
|
argument, and PROPAGATED_EXCEPTION a pointer to the currently propagated
|
||||||
occurrence, return true iif the latter matches the former, that is, if
|
occurrence, return true if the latter matches the former, that is, if
|
||||||
PROPAGATED_EXCEPTION is caught by the handling code controlled by CHOICE.
|
PROPAGATED_EXCEPTION is caught by the handling code controlled by CHOICE.
|
||||||
This takes care of the special Non_Ada_Error case on VMS. */
|
This takes care of the special Non_Ada_Error case on VMS. */
|
||||||
|
|
||||||
|
|
@ -1135,7 +1135,7 @@ PERSONALITY_FUNCTION (version_arg_t version_arg,
|
||||||
/* If we are going to install a cleanup context, decrement the cleanup
|
/* If we are going to install a cleanup context, decrement the cleanup
|
||||||
count. This is required in a FORCED_UNWINDing phase (for an unhandled
|
count. This is required in a FORCED_UNWINDing phase (for an unhandled
|
||||||
exception), as this is used from the forced unwinding handler in
|
exception), as this is used from the forced unwinding handler in
|
||||||
Ada.Exceptions.Exception_Propagation to decide wether unwinding should
|
Ada.Exceptions.Exception_Propagation to decide whether unwinding should
|
||||||
proceed further or Unhandled_Exception_Terminate should be called. */
|
proceed further or Unhandled_Exception_Terminate should be called. */
|
||||||
if (action.kind == cleanup)
|
if (action.kind == cleanup)
|
||||||
Adjust_N_Cleanups_For (gnat_exception, -1);
|
Adjust_N_Cleanups_For (gnat_exception, -1);
|
||||||
|
|
|
||||||
|
|
@ -1095,7 +1095,7 @@ package body Repinfo is
|
||||||
-- Bit_And_Expr, for which there is no direct support in uintp. Uint
|
-- Bit_And_Expr, for which there is no direct support in uintp. Uint
|
||||||
-- values out of the Int range are expected to be seen in such
|
-- values out of the Int range are expected to be seen in such
|
||||||
-- expressions only with overflowing byte sizes around, introducing
|
-- expressions only with overflowing byte sizes around, introducing
|
||||||
-- inherent unreliabilties in computations anyway.
|
-- inherent unreliabilities in computations anyway.
|
||||||
|
|
||||||
-------
|
-------
|
||||||
-- B --
|
-- B --
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ package Repinfo is
|
||||||
-- which contains the Size (more accurately the Object_SIze) value
|
-- which contains the Size (more accurately the Object_SIze) value
|
||||||
-- for the type or subtype.
|
-- for the type or subtype.
|
||||||
|
|
||||||
-- For E_Component and E_Distriminant entities, the Esize (size
|
-- For E_Component and E_Discriminant entities, the Esize (size
|
||||||
-- of component) and Component_Bit_Offset fields. Note that gigi
|
-- of component) and Component_Bit_Offset fields. Note that gigi
|
||||||
-- does not (yet ???) back annotate Normalized_Position/First_Bit.
|
-- does not (yet ???) back annotate Normalized_Position/First_Bit.
|
||||||
|
|
||||||
|
|
@ -156,12 +156,12 @@ package Repinfo is
|
||||||
Truth_Or_Expr : constant TCode := 19; -- Boolean or 2
|
Truth_Or_Expr : constant TCode := 19; -- Boolean or 2
|
||||||
Truth_Xor_Expr : constant TCode := 20; -- Boolean xor 2
|
Truth_Xor_Expr : constant TCode := 20; -- Boolean xor 2
|
||||||
Truth_Not_Expr : constant TCode := 21; -- Boolean not 1
|
Truth_Not_Expr : constant TCode := 21; -- Boolean not 1
|
||||||
Lt_Expr : constant TCode := 22; -- comparision < 2
|
Lt_Expr : constant TCode := 22; -- comparison < 2
|
||||||
Le_Expr : constant TCode := 23; -- comparision <= 2
|
Le_Expr : constant TCode := 23; -- comparison <= 2
|
||||||
Gt_Expr : constant TCode := 24; -- comparision > 2
|
Gt_Expr : constant TCode := 24; -- comparison > 2
|
||||||
Ge_Expr : constant TCode := 25; -- comparision >= 2
|
Ge_Expr : constant TCode := 25; -- comparison >= 2
|
||||||
Eq_Expr : constant TCode := 26; -- comparision = 2
|
Eq_Expr : constant TCode := 26; -- comparison = 2
|
||||||
Ne_Expr : constant TCode := 27; -- comparision /= 2
|
Ne_Expr : constant TCode := 27; -- comparison /= 2
|
||||||
Bit_And_Expr : constant TCode := 28; -- Binary and 2
|
Bit_And_Expr : constant TCode := 28; -- Binary and 2
|
||||||
|
|
||||||
-- The following entry is used to represent a discriminant value in
|
-- The following entry is used to represent a discriminant value in
|
||||||
|
|
@ -188,7 +188,7 @@ package Repinfo is
|
||||||
-- => Discrim_Val, Op1 => discriminant_number).
|
-- => Discrim_Val, Op1 => discriminant_number).
|
||||||
|
|
||||||
function Create_Discrim_Ref (Discr : Entity_Id) return Node_Ref;
|
function Create_Discrim_Ref (Discr : Entity_Id) return Node_Ref;
|
||||||
-- Creates a refrerence to the discriminant whose entity is Discr
|
-- Creates a reference to the discriminant whose entity is Discr
|
||||||
|
|
||||||
--------------------------------------------------------
|
--------------------------------------------------------
|
||||||
-- Front-End Interface for Dynamic Size/Offset Values --
|
-- Front-End Interface for Dynamic Size/Offset Values --
|
||||||
|
|
@ -223,7 +223,7 @@ package Repinfo is
|
||||||
|
|
||||||
-- In the case of components, if the location of the component is static,
|
-- In the case of components, if the location of the component is static,
|
||||||
-- then all four fields (Component_Bit_Offset, Normalized_Position, Esize,
|
-- then all four fields (Component_Bit_Offset, Normalized_Position, Esize,
|
||||||
-- and Normalized_First_Bit) are set to appropraite values. In the case of
|
-- and Normalized_First_Bit) are set to appropriate values. In the case of
|
||||||
-- a non-static component location, Component_Bit_Offset is not used and
|
-- a non-static component location, Component_Bit_Offset is not used and
|
||||||
-- is left set to Unknown. Normalized_Position and Normalized_First_Bit
|
-- is left set to Unknown. Normalized_Position and Normalized_First_Bit
|
||||||
-- are set appropriately.
|
-- are set appropriately.
|
||||||
|
|
@ -258,7 +258,7 @@ package Repinfo is
|
||||||
-- Create_Dynamic_SO_Ref. The approach is that the front end makes
|
-- Create_Dynamic_SO_Ref. The approach is that the front end makes
|
||||||
-- the necessary Create_Dynamic_SO_Ref calls to associate the node
|
-- the necessary Create_Dynamic_SO_Ref calls to associate the node
|
||||||
-- and entity id values and the back end makes Get_Dynamic_SO_Ref
|
-- and entity id values and the back end makes Get_Dynamic_SO_Ref
|
||||||
-- calls to retrive them.
|
-- calls to retrieve them.
|
||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
-- ASIS_Interface --
|
-- ASIS_Interface --
|
||||||
|
|
|
||||||
|
|
@ -172,9 +172,9 @@ package body Restrict is
|
||||||
end if;
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
|
|
||||||
-- If not predefied unit, then one special check still remains.
|
-- If not predefined unit, then one special check still
|
||||||
-- GNAT.Current_Exception is not allowed if we have restriction
|
-- remains. GNAT.Current_Exception is not allowed if we have
|
||||||
-- No_Exception_Propagation active.
|
-- restriction No_Exception_Propagation active.
|
||||||
|
|
||||||
else
|
else
|
||||||
if Name_Buffer (1 .. 8) = "g-curexc" then
|
if Name_Buffer (1 .. 8) = "g-curexc" then
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ package Restrict is
|
||||||
-- This variable records restrictions found in any units in the main
|
-- This variable records restrictions found in any units in the main
|
||||||
-- extended unit, and in the case of restrictions checked for partition
|
-- extended unit, and in the case of restrictions checked for partition
|
||||||
-- consistency, restrictions found in any with'ed units, parent specs
|
-- consistency, restrictions found in any with'ed units, parent specs
|
||||||
-- etc, since we may as well check as much as we can at compile time.
|
-- etc., since we may as well check as much as we can at compile time.
|
||||||
-- These variables should not be referenced directly by clients. Instead
|
-- These variables should not be referenced directly by clients. Instead
|
||||||
-- use Check_Restrictions to record a violation of a restriction, and
|
-- use Check_Restrictions to record a violation of a restriction, and
|
||||||
-- Restriction_Active to test if a given restriction is active.
|
-- Restriction_Active to test if a given restriction is active.
|
||||||
|
|
@ -270,7 +270,7 @@ package Restrict is
|
||||||
function Restricted_Profile return Boolean;
|
function Restricted_Profile return Boolean;
|
||||||
-- Tests if set of restrictions corresponding to Profile (Restricted) is
|
-- Tests if set of restrictions corresponding to Profile (Restricted) is
|
||||||
-- currently in effect (set by pragma Profile, or by an appropriate set
|
-- currently in effect (set by pragma Profile, or by an appropriate set
|
||||||
-- of individual Restrictions pragms). Returns True only if all the
|
-- of individual Restrictions pragmas). Returns True only if all the
|
||||||
-- required restrictions are set.
|
-- required restrictions are set.
|
||||||
|
|
||||||
procedure Set_Profile_Restrictions
|
procedure Set_Profile_Restrictions
|
||||||
|
|
|
||||||
|
|
@ -100,9 +100,9 @@ package body Rtsfind is
|
||||||
-- for the same entity can be satisfied immediately.
|
-- for the same entity can be satisfied immediately.
|
||||||
|
|
||||||
-- NOTE: In order to avoid conflicts between record components and subprgs
|
-- NOTE: In order to avoid conflicts between record components and subprgs
|
||||||
-- that have the same name (ie. subprogram External_Tag and component
|
-- that have the same name (i.e. subprogram External_Tag and
|
||||||
-- External_Tag of package Ada.Tags) this table is not used with
|
-- component External_Tag of package Ada.Tags) this table is not used
|
||||||
-- Record_Components.
|
-- with Record_Components.
|
||||||
|
|
||||||
RE_Table : array (RE_Id) of Entity_Id;
|
RE_Table : array (RE_Id) of Entity_Id;
|
||||||
|
|
||||||
|
|
@ -145,7 +145,7 @@ package body Rtsfind is
|
||||||
-- value in RTU_Id.
|
-- value in RTU_Id.
|
||||||
|
|
||||||
procedure Load_Fail (S : String; U_Id : RTU_Id; Id : RE_Id);
|
procedure Load_Fail (S : String; U_Id : RTU_Id; Id : RE_Id);
|
||||||
-- Internal procedure called if we can't sucessfully locate or process a
|
-- Internal procedure called if we can't successfully locate or process a
|
||||||
-- run-time unit. The parameters give information about the error message
|
-- run-time unit. The parameters give information about the error message
|
||||||
-- to be given. S is a reason for failing to compile the file and U_Id is
|
-- to be given. S is a reason for failing to compile the file and U_Id is
|
||||||
-- the unit id. RE_Id is the RE_Id originally passed to RTE. The message in
|
-- the unit id. RE_Id is the RE_Id originally passed to RTE. The message in
|
||||||
|
|
@ -1214,7 +1214,7 @@ package body Rtsfind is
|
||||||
-- If we didn't find the entity we want, something is wrong. The
|
-- If we didn't find the entity we want, something is wrong. The
|
||||||
-- appropriate action will be taken by Check_CRT when we exit.
|
-- appropriate action will be taken by Check_CRT when we exit.
|
||||||
|
|
||||||
-- Cenerate a with-clause if the current unit is part of the extended
|
-- Generate a with-clause if the current unit is part of the extended
|
||||||
-- main code unit, and if we have not already added the with. The clause
|
-- main code unit, and if we have not already added the with. The clause
|
||||||
-- is added to the appropriate unit (the current one). We do not need to
|
-- is added to the appropriate unit (the current one). We do not need to
|
||||||
-- generate it for a call issued from RTE_Component_Available.
|
-- generate it for a call issued from RTE_Component_Available.
|
||||||
|
|
|
||||||
|
|
@ -501,7 +501,7 @@ package Rtsfind is
|
||||||
RE_Detach_Handler, -- Ada.Interrupts
|
RE_Detach_Handler, -- Ada.Interrupts
|
||||||
RE_Reference, -- Ada.Interrupts
|
RE_Reference, -- Ada.Interrupts
|
||||||
|
|
||||||
RE_Names, -- Ada.Interupts.Names
|
RE_Names, -- Ada.Interrupts.Names
|
||||||
|
|
||||||
RE_Root_Stream_Type, -- Ada.Streams
|
RE_Root_Stream_Type, -- Ada.Streams
|
||||||
RE_Stream_Element, -- Ada.Streams
|
RE_Stream_Element, -- Ada.Streams
|
||||||
|
|
@ -2788,7 +2788,7 @@ package Rtsfind is
|
||||||
-- run-time library, but allows only a subset of entities to be
|
-- run-time library, but allows only a subset of entities to be
|
||||||
-- accessed. If any other entity is accessed, then it is treated
|
-- accessed. If any other entity is accessed, then it is treated
|
||||||
-- as a configurable run-time violation, and the exception
|
-- as a configurable run-time violation, and the exception
|
||||||
-- RE_Not_Availble is raised.
|
-- RE_Not_Available is raised.
|
||||||
|
|
||||||
-- The following array defines the set of units that contain entities
|
-- The following array defines the set of units that contain entities
|
||||||
-- that can be referenced in No_Run_Time mode. For each of these units,
|
-- that can be referenced in No_Run_Time mode. For each of these units,
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ package System.Arith_64 is
|
||||||
-- or if the quotient does not fit in 64-bits. Round indicates if
|
-- or if the quotient does not fit in 64-bits. Round indicates if
|
||||||
-- the result should be rounded. If Round is False, then Q, R are
|
-- the result should be rounded. If Round is False, then Q, R are
|
||||||
-- the normal quotient and remainder from a truncating division.
|
-- the normal quotient and remainder from a truncating division.
|
||||||
-- If Round is True, then Q is the rounded quotient. the remainder
|
-- If Round is True, then Q is the rounded quotient. The remainder
|
||||||
-- R is not affected by the setting of the Round flag.
|
-- R is not affected by the setting of the Round flag.
|
||||||
|
|
||||||
procedure Double_Divide
|
procedure Double_Divide
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,7 @@ package body System.AST_Handling is
|
||||||
|
|
||||||
-- Note: When we say it works fine, there is one delicate point, which
|
-- Note: When we say it works fine, there is one delicate point, which
|
||||||
-- is that the code for the AST procedure itself requires the original
|
-- is that the code for the AST procedure itself requires the original
|
||||||
-- descriptor address. We handle this by saving the orignal descriptor
|
-- descriptor address. We handle this by saving the original descriptor
|
||||||
-- address in this structure and restoring in Process_AST.
|
-- address in this structure and restoring in Process_AST.
|
||||||
|
|
||||||
type AST_Handler_Data is record
|
type AST_Handler_Data is record
|
||||||
|
|
@ -237,7 +237,7 @@ package body System.AST_Handling is
|
||||||
-- number of AST instances that can be stored in the buffer. Since
|
-- number of AST instances that can be stored in the buffer. Since
|
||||||
-- these entries are immediately serviced by the high priority server
|
-- these entries are immediately serviced by the high priority server
|
||||||
-- task that does the actual entry queuing, it is very unusual to have
|
-- task that does the actual entry queuing, it is very unusual to have
|
||||||
-- any significant number of entries simulaneously queued.
|
-- any significant number of entries simultaneously queued.
|
||||||
|
|
||||||
AST_Service_Queue : array (AST_Service_Queue_Index) of AST_Instance;
|
AST_Service_Queue : array (AST_Service_Queue_Index) of AST_Instance;
|
||||||
pragma Volatile_Components (AST_Service_Queue);
|
pragma Volatile_Components (AST_Service_Queue);
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ package System.Aux_DEC is
|
||||||
-- name Short_Address is used for the short address form. To avoid
|
-- name Short_Address is used for the short address form. To avoid
|
||||||
-- difficulties (in regression tests and elsewhere) with units that
|
-- difficulties (in regression tests and elsewhere) with units that
|
||||||
-- reference Short_Address, it is provided for other targets as a
|
-- reference Short_Address, it is provided for other targets as a
|
||||||
-- synonum for the normal Address type, and, as in the case where
|
-- synonym for the normal Address type, and, as in the case where
|
||||||
-- the lengths are different, Address and Short_Address can be
|
-- the lengths are different, Address and Short_Address can be
|
||||||
-- freely inter-converted.
|
-- freely inter-converted.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ package System.Case_Util is
|
||||||
-- returns the input argument unchanged.
|
-- returns the input argument unchanged.
|
||||||
|
|
||||||
procedure To_Upper (A : in out String);
|
procedure To_Upper (A : in out String);
|
||||||
-- Folds all characters of string A to upper csae
|
-- Folds all characters of string A to upper case
|
||||||
|
|
||||||
function To_Lower (A : Character) return Character;
|
function To_Lower (A : Character) return Character;
|
||||||
-- Converts A to lower case if it is an upper case letter, otherwise
|
-- Converts A to lower case if it is an upper case letter, otherwise
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ with System.Fat_Gen;
|
||||||
package System.Fat_Flt is
|
package System.Fat_Flt is
|
||||||
pragma Pure;
|
pragma Pure;
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ package body System.Fat_Gen is
|
||||||
Invrad : constant T := 1.0 / Rad;
|
Invrad : constant T := 1.0 / Rad;
|
||||||
|
|
||||||
subtype Expbits is Integer range 0 .. 6;
|
subtype Expbits is Integer range 0 .. 6;
|
||||||
-- 2 ** (2 ** 7) might overflow. how big can radix-16 exponents get?
|
-- 2 ** (2 ** 7) might overflow. How big can radix-16 exponents get?
|
||||||
|
|
||||||
Log_Power : constant array (Expbits) of Integer := (1, 2, 4, 8, 16, 32, 64);
|
Log_Power : constant array (Expbits) of Integer := (1, 2, 4, 8, 16, 32, 64);
|
||||||
|
|
||||||
|
|
@ -569,7 +569,7 @@ package body System.Fat_Gen is
|
||||||
return X;
|
return X;
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
-- Nonzero x. essentially, just multiply repeatedly by Rad ** (+-2**n)
|
-- Nonzero x essentially, just multiply repeatedly by Rad ** (+-2**n)
|
||||||
|
|
||||||
declare
|
declare
|
||||||
Y : T := X;
|
Y : T := X;
|
||||||
|
|
@ -660,7 +660,7 @@ package body System.Fat_Gen is
|
||||||
-- since the exponent is going to be reduced.
|
-- since the exponent is going to be reduced.
|
||||||
|
|
||||||
-- Note that X_Frac has the same sign as X, so if X_Frac is -0.5,
|
-- Note that X_Frac has the same sign as X, so if X_Frac is -0.5,
|
||||||
-- then we know that we have a ngeative number (and hence a
|
-- then we know that we have a negative number (and hence a
|
||||||
-- negative power of 2).
|
-- negative power of 2).
|
||||||
|
|
||||||
if X_Frac = -0.5 then
|
if X_Frac = -0.5 then
|
||||||
|
|
@ -809,14 +809,14 @@ package body System.Fat_Gen is
|
||||||
-- entire floating-point value. Do not take into account excessive
|
-- entire floating-point value. Do not take into account excessive
|
||||||
-- padding, as occurs on IA-64 where 80 bits floats get padded to 128
|
-- padding, as occurs on IA-64 where 80 bits floats get padded to 128
|
||||||
-- bits. In general, the exponent field cannot be larger than 15 bits,
|
-- bits. In general, the exponent field cannot be larger than 15 bits,
|
||||||
-- even for 128-bit floating-poin t types, so the final format size
|
-- even for 128-bit floating-point types, so the final format size
|
||||||
-- won't be larger than T'Mantissa + 16.
|
-- won't be larger than T'Mantissa + 16.
|
||||||
|
|
||||||
type Float_Rep is
|
type Float_Rep is
|
||||||
array (Rep_Index range 0 .. Rep_Index (Rep_Words - 1)) of Float_Word;
|
array (Rep_Index range 0 .. Rep_Index (Rep_Words - 1)) of Float_Word;
|
||||||
|
|
||||||
pragma Suppress_Initialization (Float_Rep);
|
pragma Suppress_Initialization (Float_Rep);
|
||||||
-- This pragma supresses the generation of an initialization procedure
|
-- This pragma suppresses the generation of an initialization procedure
|
||||||
-- for type Float_Rep when operating in Initialize/Normalize_Scalars
|
-- for type Float_Rep when operating in Initialize/Normalize_Scalars
|
||||||
-- mode. This is not just a matter of efficiency, but of functionality,
|
-- mode. This is not just a matter of efficiency, but of functionality,
|
||||||
-- since Valid has a pragma Inline_Always, which is not permitted if
|
-- since Valid has a pragma Inline_Always, which is not permitted if
|
||||||
|
|
@ -873,8 +873,8 @@ package body System.Fat_Gen is
|
||||||
begin
|
begin
|
||||||
if T'Denorm then
|
if T'Denorm then
|
||||||
|
|
||||||
-- All denormalized numbers are valid, so only invalid numbers are
|
-- All denormalized numbers are valid, so the only invalid numbers
|
||||||
-- overflows and NaN's, both with exponent = Emax + 1.
|
-- are overflows and NaNs, both with exponent = Emax + 1.
|
||||||
|
|
||||||
return E /= IEEE_Emax + 1;
|
return E /= IEEE_Emax + 1;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ with System.Fat_Gen;
|
||||||
package System.Fat_LFlt is
|
package System.Fat_LFlt is
|
||||||
pragma Pure;
|
pragma Pure;
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ with System.Fat_Gen;
|
||||||
package System.Fat_LLF is
|
package System.Fat_LLF is
|
||||||
pragma Pure;
|
pragma Pure;
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ with System.Fat_Gen;
|
||||||
package System.Fat_SFlt is
|
package System.Fat_SFlt is
|
||||||
pragma Pure;
|
pragma Pure;
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
-- This package contains an instantiation of the floating-point attribute
|
-- This package contains an instantiation of the floating-point attribute
|
||||||
-- runtime routines for IEEE long float. This is used on VMS targest where
|
-- runtime routines for IEEE long float. This is used on VMS targets where
|
||||||
-- we can't just use Long_Float, since this may have been mapped to Vax_Float
|
-- we can't just use Long_Float, since this may have been mapped to Vax_Float
|
||||||
-- using a Float_Representation configuration pragma.
|
-- using a Float_Representation configuration pragma.
|
||||||
|
|
||||||
|
|
@ -44,7 +44,7 @@ package System.Fat_IEEE_Long_Float is
|
||||||
type Fat_IEEE_Long is digits 15;
|
type Fat_IEEE_Long is digits 15;
|
||||||
pragma Float_Representation (IEEE_Float, Fat_IEEE_Long);
|
pragma Float_Representation (IEEE_Float, Fat_IEEE_Long);
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ package body System.Finalization_Implementation is
|
||||||
-- Subtract the offset to the pointer
|
-- Subtract the offset to the pointer
|
||||||
|
|
||||||
procedure Reverse_Adjust (P : Finalizable_Ptr);
|
procedure Reverse_Adjust (P : Finalizable_Ptr);
|
||||||
-- Ajust the components in the reverse order in which they are stored
|
-- Adjust the components in the reverse order in which they are stored
|
||||||
-- on the finalization list. (Adjust and Finalization are not done in
|
-- on the finalization list. (Adjust and Finalization are not done in
|
||||||
-- the same order)
|
-- the same order)
|
||||||
|
|
||||||
|
|
@ -139,7 +139,7 @@ package body System.Finalization_Implementation is
|
||||||
|
|
||||||
First_Comp := Object.F;
|
First_Comp := Object.F;
|
||||||
Object.F := null; -- nothing adjusted yet.
|
Object.F := null; -- nothing adjusted yet.
|
||||||
Ptr_Adjust (First_Comp); -- set addresss of first component.
|
Ptr_Adjust (First_Comp); -- set address of first component.
|
||||||
Reverse_Adjust (First_Comp);
|
Reverse_Adjust (First_Comp);
|
||||||
|
|
||||||
-- Then Adjust the controller itself
|
-- Then Adjust the controller itself
|
||||||
|
|
@ -412,7 +412,7 @@ package body System.Finalization_Implementation is
|
||||||
-- At this stage, we know that the controller is part of the
|
-- At this stage, we know that the controller is part of the
|
||||||
-- ancestor corresponding to the tag "The_Tag" and that its parent
|
-- ancestor corresponding to the tag "The_Tag" and that its parent
|
||||||
-- is variable sized. We assume that the _controller is the first
|
-- is variable sized. We assume that the _controller is the first
|
||||||
-- compoment right after the parent.
|
-- component right after the parent.
|
||||||
|
|
||||||
-- ??? note that it may not be true if there are new discriminants
|
-- ??? note that it may not be true if there are new discriminants
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ package System.Finalization_Root is
|
||||||
procedure Finalize (Object : in out Root_Controlled);
|
procedure Finalize (Object : in out Root_Controlled);
|
||||||
procedure Adjust (Object : in out Root_Controlled);
|
procedure Adjust (Object : in out Root_Controlled);
|
||||||
|
|
||||||
-- Stream-oriented attibutes for Root_Controlled. These must be empty so
|
-- Stream-oriented attributes for Root_Controlled. These must be empty so
|
||||||
-- as to not copy the finalization chain pointers. They are declared in
|
-- as to not copy the finalization chain pointers. They are declared in
|
||||||
-- a nested package so that they do not create primitive operations of
|
-- a nested package so that they do not create primitive operations of
|
||||||
-- Root_Controlled. Otherwise this would add unwanted primitives to (the
|
-- Root_Controlled. Otherwise this would add unwanted primitives to (the
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
-- This package contains an instantiation of the floating-point attribute
|
-- This package contains an instantiation of the floating-point attribute
|
||||||
-- runtime routines for IEEE short float. This is used on VMS targest where
|
-- runtime routines for IEEE short float. This is used on VMS targets where
|
||||||
-- we can't just use Float, since this may have been mapped to Vax_Float
|
-- we can't just use Float, since this may have been mapped to Vax_Float
|
||||||
-- using a Float_Representation configuration pragma.
|
-- using a Float_Representation configuration pragma.
|
||||||
|
|
||||||
|
|
@ -44,7 +44,7 @@ package System.Fat_IEEE_Short_Float is
|
||||||
type Fat_IEEE_Short is digits 6;
|
type Fat_IEEE_Short is digits 6;
|
||||||
pragma Float_Representation (IEEE_Float, Fat_IEEE_Short);
|
pragma Float_Representation (IEEE_Float, Fat_IEEE_Short);
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -41,12 +41,12 @@ package System.Fat_VAX_D_Float is
|
||||||
|
|
||||||
pragma Warnings (Off);
|
pragma Warnings (Off);
|
||||||
-- This unit is normally used only for VMS, but we compile it for other
|
-- This unit is normally used only for VMS, but we compile it for other
|
||||||
-- targest for the convenience of testing vms code using -gnatdm.
|
-- targets for the convenience of testing vms code using -gnatdm.
|
||||||
|
|
||||||
type Fat_VAX_D is digits 9;
|
type Fat_VAX_D is digits 9;
|
||||||
pragma Float_Representation (VAX_Float, Fat_VAX_D);
|
pragma Float_Representation (VAX_Float, Fat_VAX_D);
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -41,12 +41,12 @@ package System.Fat_VAX_F_Float is
|
||||||
|
|
||||||
pragma Warnings (Off);
|
pragma Warnings (Off);
|
||||||
-- This unit is normally used only for VMS, but we compile it for other
|
-- This unit is normally used only for VMS, but we compile it for other
|
||||||
-- targest for the convenience of testing vms code using -gnatdm.
|
-- targets for the convenience of testing vms code using -gnatdm.
|
||||||
|
|
||||||
type Fat_VAX_F is digits 6;
|
type Fat_VAX_F is digits 6;
|
||||||
pragma Float_Representation (VAX_Float, Fat_VAX_F);
|
pragma Float_Representation (VAX_Float, Fat_VAX_F);
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -41,12 +41,12 @@ package System.Fat_VAX_G_Float is
|
||||||
|
|
||||||
pragma Warnings (Off);
|
pragma Warnings (Off);
|
||||||
-- This unit is normally used only for VMS, but we compile it for other
|
-- This unit is normally used only for VMS, but we compile it for other
|
||||||
-- targest for the convenience of testing vms code using -gnatdm.
|
-- targets for the convenience of testing vms code using -gnatdm.
|
||||||
|
|
||||||
type Fat_VAX_G is digits 15;
|
type Fat_VAX_G is digits 15;
|
||||||
pragma Float_Representation (VAX_Float, Fat_VAX_G);
|
pragma Float_Representation (VAX_Float, Fat_VAX_G);
|
||||||
|
|
||||||
-- Note the only entity from this package that is acccessed by Rtsfind
|
-- Note the only entity from this package that is accessed by Rtsfind
|
||||||
-- is the name of the package instantiation. Entities within this package
|
-- is the name of the package instantiation. Entities within this package
|
||||||
-- (i.e. the individual floating-point attribute routines) are accessed
|
-- (i.e. the individual floating-point attribute routines) are accessed
|
||||||
-- by name using selected notation.
|
-- by name using selected notation.
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ package System.HIE_Back_End is
|
||||||
-- This entity controls whether the front end allows generation of
|
-- This entity controls whether the front end allows generation of
|
||||||
-- long shift instructions, i.e. shifts that operate on 64-bit values.
|
-- long shift instructions, i.e. shifts that operate on 64-bit values.
|
||||||
-- Such shifts are required for the implementation of fixed-point
|
-- Such shifts are required for the implementation of fixed-point
|
||||||
-- types longer than 32 bits. This can safetly be set as High_Integrity
|
-- types longer than 32 bits. This can safely be set as High_Integrity
|
||||||
-- on 64-bit machines that provide this operation at the hardware level,
|
-- on 64-bit machines that provide this operation at the hardware level,
|
||||||
-- but on some 32-bit machines a run time call is required. If there
|
-- but on some 32-bit machines a run time call is required. If there
|
||||||
-- is a certifiable version available of the relevant run-time routines,
|
-- is a certifiable version available of the relevant run-time routines,
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ package System.HTable is
|
||||||
function Get_Next return Elmt_Ptr;
|
function Get_Next return Elmt_Ptr;
|
||||||
-- Returns a non-specified element that has not been returned by the
|
-- Returns a non-specified element that has not been returned by the
|
||||||
-- same function since the last call to Get_First or Null_Ptr if
|
-- same function since the last call to Get_First or Null_Ptr if
|
||||||
-- there is no such element or Get_First has bever been called. If
|
-- there is no such element or Get_First has never been called. If
|
||||||
-- there is no call to 'Set' in between Get_Next calls, all the
|
-- there is no call to 'Set' in between Get_Next calls, all the
|
||||||
-- elements of the HTable will be traversed.
|
-- elements of the HTable will be traversed.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,7 @@ package body System.Img_Char is
|
||||||
end;
|
end;
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
-- Normal characters yield the character enlosed in quotes (RM 3.5(32))
|
-- Normal characters yield the character enclosed in quotes (RM 3.5(32))
|
||||||
|
|
||||||
else
|
else
|
||||||
S (1) := ''';
|
S (1) := ''';
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,8 @@
|
||||||
-- Note: this is an obsolete package, replaced by System.Img_Enum_New, which
|
-- Note: this is an obsolete package, replaced by System.Img_Enum_New, which
|
||||||
-- provides procedures instead of functions for these enumeration image calls.
|
-- provides procedures instead of functions for these enumeration image calls.
|
||||||
-- The reason we maintain this package is that when bootstrapping with old
|
-- The reason we maintain this package is that when bootstrapping with old
|
||||||
-- compilers, the old compiler will search for this unit, expectinng to find
|
-- compilers, the old compiler will search for this unit, expecting to find
|
||||||
-- these functions. The new commpiler will search for procedures in the new
|
-- these functions. The new compiler will search for procedures in the new
|
||||||
-- version of the unit.
|
-- version of the unit.
|
||||||
|
|
||||||
pragma Warnings (Off);
|
pragma Warnings (Off);
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ package body System.Img_Int is
|
||||||
end if;
|
end if;
|
||||||
end Set_Digits;
|
end Set_Digits;
|
||||||
|
|
||||||
-- Start of processinng for Image_Integer
|
-- Start of processing for Image_Integer
|
||||||
|
|
||||||
begin
|
begin
|
||||||
P := 1;
|
P := 1;
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ package body System.Img_Real is
|
||||||
pragma Assert (S'First = 1);
|
pragma Assert (S'First = 1);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
-- Decide wether a blank should be prepended before the call to
|
-- Decide whether a blank should be prepended before the call to
|
||||||
-- Set_Image_Real. We generate a blank for positive values, and
|
-- Set_Image_Real. We generate a blank for positive values, and
|
||||||
-- also for positive zeroes. For negative zeroes, we generate a
|
-- also for positive zeroes. For negative zeroes, we generate a
|
||||||
-- space only if Signed_Zeroes is True (the RM only permits the
|
-- space only if Signed_Zeroes is True (the RM only permits the
|
||||||
|
|
|
||||||
|
|
@ -134,9 +134,9 @@ package body System.Interrupt_Management.Operations is
|
||||||
null;
|
null;
|
||||||
end Empty_Interrupt_Mask;
|
end Empty_Interrupt_Mask;
|
||||||
|
|
||||||
-----------------------
|
---------------------------
|
||||||
-- Add_To_Sigal_Mask --
|
-- Add_To_Interrupt_Mask --
|
||||||
-----------------------
|
---------------------------
|
||||||
|
|
||||||
procedure Add_To_Interrupt_Mask
|
procedure Add_To_Interrupt_Mask
|
||||||
(Mask : access Interrupt_Mask;
|
(Mask : access Interrupt_Mask;
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ package System.Interrupt_Management.Operations is
|
||||||
|
|
||||||
procedure Copy_Interrupt_Mask (X : out Interrupt_Mask; Y : Interrupt_Mask);
|
procedure Copy_Interrupt_Mask (X : out Interrupt_Mask; Y : Interrupt_Mask);
|
||||||
pragma Inline (Copy_Interrupt_Mask);
|
pragma Inline (Copy_Interrupt_Mask);
|
||||||
-- Assigment needed for limited private type Interrupt_Mask
|
-- Assignment needed for limited private type Interrupt_Mask
|
||||||
|
|
||||||
procedure Interrupt_Self_Process (Interrupt : Interrupt_ID);
|
procedure Interrupt_Self_Process (Interrupt : Interrupt_ID);
|
||||||
pragma Inline (Interrupt_Self_Process);
|
pragma Inline (Interrupt_Self_Process);
|
||||||
|
|
|
||||||
|
|
@ -222,7 +222,7 @@ package body System.Interrupts is
|
||||||
begin
|
begin
|
||||||
-- This routine registers the Handler as usable for Dynamic
|
-- This routine registers the Handler as usable for Dynamic
|
||||||
-- Interrupt Handler. Routines attaching and detaching Handler
|
-- Interrupt Handler. Routines attaching and detaching Handler
|
||||||
-- dynamically should first consult if the Handler is rgistered.
|
-- dynamically should first consult if the Handler is registered.
|
||||||
-- A Program Error should be raised if it is not registered.
|
-- A Program Error should be raised if it is not registered.
|
||||||
|
|
||||||
-- The pragma Interrupt_Handler can only appear in the library
|
-- The pragma Interrupt_Handler can only appear in the library
|
||||||
|
|
@ -372,7 +372,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- Calling this procedure with New_Handler = null and Static = True
|
-- Calling this procedure with New_Handler = null and Static = True
|
||||||
-- means we want to detach the current handler regardless of the
|
-- means we want to detach the current handler regardless of the
|
||||||
-- previous handler's binding status (ie. do not care if it is a
|
-- previous handler's binding status (i.e. do not care if it is a
|
||||||
-- dynamic or static handler).
|
-- dynamic or static handler).
|
||||||
|
|
||||||
-- This option is needed so that during the finalization of a PO, we
|
-- This option is needed so that during the finalization of a PO, we
|
||||||
|
|
@ -398,7 +398,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- Calling this procedure with New_Handler = null and Static = True means
|
-- Calling this procedure with New_Handler = null and Static = True means
|
||||||
-- we want to detach the current handler regardless of the previous
|
-- we want to detach the current handler regardless of the previous
|
||||||
-- handler's binding status (ie. do not care if it is dynamic or static
|
-- handler's binding status (i.e. do not care if it is dynamic or static
|
||||||
-- handler).
|
-- handler).
|
||||||
|
|
||||||
-- This option is needed so that during the finalization of a PO, we can
|
-- This option is needed so that during the finalization of a PO, we can
|
||||||
|
|
@ -630,7 +630,7 @@ package body System.Interrupts is
|
||||||
"dynamic Handler";
|
"dynamic Handler";
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
-- The interrupt should no longer be ingnored if it was ever ignored
|
-- The interrupt should no longer be ignored if it was ever ignored
|
||||||
|
|
||||||
Ignored (Interrupt) := False;
|
Ignored (Interrupt) := False;
|
||||||
|
|
||||||
|
|
@ -715,7 +715,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
System.Tasking.Utilities.Make_Independent;
|
System.Tasking.Utilities.Make_Independent;
|
||||||
|
|
||||||
-- Environmen task gets its own interrupt mask, saves it,
|
-- Environment task gets its own interrupt mask, saves it,
|
||||||
-- and then masks all interrupts except the Keep_Unmasked set.
|
-- and then masks all interrupts except the Keep_Unmasked set.
|
||||||
|
|
||||||
-- During rendezvous, the Interrupt_Manager receives the old
|
-- During rendezvous, the Interrupt_Manager receives the old
|
||||||
|
|
@ -741,17 +741,17 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- This sigwaiting is needed so that we make sure a Server_Task is
|
-- This sigwaiting is needed so that we make sure a Server_Task is
|
||||||
-- out of its own sigwait state. This extra synchronization is
|
-- out of its own sigwait state. This extra synchronization is
|
||||||
-- necessary to prevent following senarios.
|
-- necessary to prevent following scenarios.
|
||||||
|
|
||||||
-- 1) Interrupt_Manager sends an Abort_Task_Interrupt to the
|
-- 1) Interrupt_Manager sends an Abort_Task_Interrupt to the
|
||||||
-- Server_Task then changes its own interrupt mask (OS level).
|
-- Server_Task then changes its own interrupt mask (OS level).
|
||||||
-- If an interrupt (corresponding to the Server_Task) arrives
|
-- If an interrupt (corresponding to the Server_Task) arrives
|
||||||
-- in the nean time we have the Interrupt_Manager umnasked and
|
-- in the mean time we have the Interrupt_Manager unmasked and
|
||||||
-- the Server_Task waiting on sigwait.
|
-- the Server_Task waiting on sigwait.
|
||||||
|
|
||||||
-- 2) For unbinding handler, we install a default action in the
|
-- 2) For unbinding handler, we install a default action in the
|
||||||
-- Interrupt_Manager. POSIX.1c states that the result of using
|
-- Interrupt_Manager. POSIX.1c states that the result of using
|
||||||
-- "sigwait" and "sigaction" simaltaneously on the same interrupt
|
-- "sigwait" and "sigaction" simultaneously on the same interrupt
|
||||||
-- is undefined. Therefore, we need to be informed from the
|
-- is undefined. Therefore, we need to be informed from the
|
||||||
-- Server_Task of the fact that the Server_Task is out of its
|
-- Server_Task of the fact that the Server_Task is out of its
|
||||||
-- sigwait stage.
|
-- sigwait stage.
|
||||||
|
|
@ -806,7 +806,7 @@ package body System.Interrupts is
|
||||||
"A binding for this interrupt is already present";
|
"A binding for this interrupt is already present";
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
-- The interrupt should no longer be ingnored if
|
-- The interrupt should no longer be ignored if
|
||||||
-- it was ever ignored.
|
-- it was ever ignored.
|
||||||
|
|
||||||
Ignored (Interrupt) := False;
|
Ignored (Interrupt) := False;
|
||||||
|
|
@ -938,7 +938,7 @@ package body System.Interrupts is
|
||||||
-- (Abort_Task_Interrupt) from the Interrupt_Manager for unbinding
|
-- (Abort_Task_Interrupt) from the Interrupt_Manager for unbinding
|
||||||
-- a Procedure Handler or an Entry. Or it could be a wake up
|
-- a Procedure Handler or an Entry. Or it could be a wake up
|
||||||
-- from status change (Unblocked -> Blocked). If that is not
|
-- from status change (Unblocked -> Blocked). If that is not
|
||||||
-- the case, we should exceute the attached Procedure or Entry.
|
-- the case, we should execute the attached Procedure or Entry.
|
||||||
|
|
||||||
if Single_Lock then
|
if Single_Lock then
|
||||||
POP.Lock_RTS;
|
POP.Lock_RTS;
|
||||||
|
|
|
||||||
|
|
@ -232,7 +232,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- Calling this procedure with New_Handler = null and Static = True
|
-- Calling this procedure with New_Handler = null and Static = True
|
||||||
-- means we want to detach the current handler regardless of the
|
-- means we want to detach the current handler regardless of the
|
||||||
-- previous handler's binding status (ie. do not care if it is a
|
-- previous handler's binding status (i.e. do not care if it is a
|
||||||
-- dynamic or static handler).
|
-- dynamic or static handler).
|
||||||
|
|
||||||
-- This option is needed so that during the finalization of a PO, we
|
-- This option is needed so that during the finalization of a PO, we
|
||||||
|
|
@ -342,7 +342,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- Calling this procedure with New_Handler = null and Static = True
|
-- Calling this procedure with New_Handler = null and Static = True
|
||||||
-- means we want to detach the current handler regardless of the
|
-- means we want to detach the current handler regardless of the
|
||||||
-- previous handler's binding status (ie. do not care if it is a
|
-- previous handler's binding status (i.e. do not care if it is a
|
||||||
-- dynamic or static handler).
|
-- dynamic or static handler).
|
||||||
|
|
||||||
-- This option is needed so that during the finalization of a PO, we
|
-- This option is needed so that during the finalization of a PO, we
|
||||||
|
|
@ -616,7 +616,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- Each Interrupt_Server_Task has an associated binary semaphore
|
-- Each Interrupt_Server_Task has an associated binary semaphore
|
||||||
-- on which it pends once it's been started. This routine determines
|
-- on which it pends once it's been started. This routine determines
|
||||||
-- The appropriate semaphore and and issues a semGive call, waking
|
-- The appropriate semaphore and issues a semGive call, waking
|
||||||
-- the server task. When a handler is unbound,
|
-- the server task. When a handler is unbound,
|
||||||
-- System.Interrupts.Unbind_Handler issues a semFlush, and the
|
-- System.Interrupts.Unbind_Handler issues a semFlush, and the
|
||||||
-- server task deletes its semaphore and terminates.
|
-- server task deletes its semaphore and terminates.
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
-- Note : Direct calls to sigaction, sigprocmask, pthread_sigsetmask or any
|
-- Note : Direct calls to sigaction, sigprocmask, pthread_sigsetmask or any
|
||||||
-- other low-level interface that changes the interrupt action or
|
-- other low-level interface that changes the interrupt action or
|
||||||
-- interrupt mask needs a careful thought.
|
-- interrupt mask needs a careful thought.
|
||||||
-- One may acheive the effect of system calls first masking RTS blocked
|
-- One may achieve the effect of system calls first masking RTS blocked
|
||||||
-- (by calling Block_Interrupt) for the interrupt under consideration.
|
-- (by calling Block_Interrupt) for the interrupt under consideration.
|
||||||
-- This will make all the tasks in RTS blocked for the Interrupt.
|
-- This will make all the tasks in RTS blocked for the Interrupt.
|
||||||
|
|
||||||
|
|
@ -224,7 +224,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- Calling this procedure with New_Handler = null and Static = True means
|
-- Calling this procedure with New_Handler = null and Static = True means
|
||||||
-- we want to detach the current handler regardless of the previous
|
-- we want to detach the current handler regardless of the previous
|
||||||
-- handler's binding status (ie. do not care if it is a dynamic or static
|
-- handler's binding status (i.e. do not care if it is a dynamic or static
|
||||||
-- handler).
|
-- handler).
|
||||||
|
|
||||||
-- This option is needed so that during the finalization of a PO, we can
|
-- This option is needed so that during the finalization of a PO, we can
|
||||||
|
|
@ -342,7 +342,7 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- Calling this procedure with New_Handler = null and Static = True means
|
-- Calling this procedure with New_Handler = null and Static = True means
|
||||||
-- we want to detach the current handler regardless of the previous
|
-- we want to detach the current handler regardless of the previous
|
||||||
-- handler's binding status (ie. do not care if it is a dynamic or static
|
-- handler's binding status (i.e. do not care if it is a dynamic or static
|
||||||
-- handler).
|
-- handler).
|
||||||
|
|
||||||
-- This option is needed so that during the finalization of a PO, we can
|
-- This option is needed so that during the finalization of a PO, we can
|
||||||
|
|
@ -705,7 +705,7 @@ package body System.Interrupts is
|
||||||
if not Blocked (Interrupt) then
|
if not Blocked (Interrupt) then
|
||||||
|
|
||||||
-- Mask this task for the given Interrupt so that all tasks
|
-- Mask this task for the given Interrupt so that all tasks
|
||||||
-- are masked for the Interrupt and the actuall delivery of the
|
-- are masked for the Interrupt and the actual delivery of the
|
||||||
-- Interrupt will be caught using "sigwait" by the
|
-- Interrupt will be caught using "sigwait" by the
|
||||||
-- corresponding Server_Task.
|
-- corresponding Server_Task.
|
||||||
|
|
||||||
|
|
@ -867,7 +867,7 @@ package body System.Interrupts is
|
||||||
"dynamic Handler";
|
"dynamic Handler";
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
-- The interrupt should no longer be ingnored if
|
-- The interrupt should no longer be ignored if
|
||||||
-- it was ever ignored.
|
-- it was ever ignored.
|
||||||
|
|
||||||
Ignored (Interrupt) := False;
|
Ignored (Interrupt) := False;
|
||||||
|
|
@ -958,17 +958,17 @@ package body System.Interrupts is
|
||||||
|
|
||||||
-- This sigwaiting is needed so that we make sure a Server_Task is
|
-- This sigwaiting is needed so that we make sure a Server_Task is
|
||||||
-- out of its own sigwait state. This extra synchronization is
|
-- out of its own sigwait state. This extra synchronization is
|
||||||
-- necessary to prevent following senarios.
|
-- necessary to prevent following scenarios.
|
||||||
|
|
||||||
-- 1) Interrupt_Manager sends an Abort_Task_Interrupt to the
|
-- 1) Interrupt_Manager sends an Abort_Task_Interrupt to the
|
||||||
-- Server_Task then changes its own interrupt mask (OS level).
|
-- Server_Task then changes its own interrupt mask (OS level).
|
||||||
-- If an interrupt (corresponding to the Server_Task) arrives
|
-- If an interrupt (corresponding to the Server_Task) arrives
|
||||||
-- in the nean time we have the Interrupt_Manager umnasked and
|
-- in the mean time we have the Interrupt_Manager unmasked and
|
||||||
-- the Server_Task waiting on sigwait.
|
-- the Server_Task waiting on sigwait.
|
||||||
|
|
||||||
-- 2) For unbinding handler, we install a default action in the
|
-- 2) For unbinding handler, we install a default action in the
|
||||||
-- Interrupt_Manager. POSIX.1c states that the result of using
|
-- Interrupt_Manager. POSIX.1c states that the result of using
|
||||||
-- "sigwait" and "sigaction" simaltaneously on the same interrupt
|
-- "sigwait" and "sigaction" simultaneously on the same interrupt
|
||||||
-- is undefined. Therefore, we need to be informed from the
|
-- is undefined. Therefore, we need to be informed from the
|
||||||
-- Server_Task of the fact that the Server_Task is out of its
|
-- Server_Task of the fact that the Server_Task is out of its
|
||||||
-- sigwait stage.
|
-- sigwait stage.
|
||||||
|
|
@ -1029,7 +1029,7 @@ package body System.Interrupts is
|
||||||
"A binding for this interrupt is already present";
|
"A binding for this interrupt is already present";
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
-- The interrupt should no longer be ingnored if
|
-- The interrupt should no longer be ignored if
|
||||||
-- it was ever ignored.
|
-- it was ever ignored.
|
||||||
|
|
||||||
Ignored (Interrupt) := False;
|
Ignored (Interrupt) := False;
|
||||||
|
|
@ -1067,7 +1067,7 @@ package body System.Interrupts is
|
||||||
if not Is_Reserved (J) then
|
if not Is_Reserved (J) then
|
||||||
if User_Entry (J).T = T then
|
if User_Entry (J).T = T then
|
||||||
|
|
||||||
-- The interrupt should no longer be ingnored if
|
-- The interrupt should no longer be ignored if
|
||||||
-- it was ever ignored.
|
-- it was ever ignored.
|
||||||
|
|
||||||
Ignored (J) := False;
|
Ignored (J) := False;
|
||||||
|
|
@ -1301,7 +1301,7 @@ package body System.Interrupts is
|
||||||
-- (Abort_Task_Interrupt) from the Interrupt_Manager for unbinding
|
-- (Abort_Task_Interrupt) from the Interrupt_Manager for unbinding
|
||||||
-- a Procedure Handler or an Entry. Or it could be a wake up
|
-- a Procedure Handler or an Entry. Or it could be a wake up
|
||||||
-- from status change (Unblocked -> Blocked). If that is not
|
-- from status change (Unblocked -> Blocked). If that is not
|
||||||
-- the case, we should exceute the attached Procedure or Entry.
|
-- the case, we should execute the attached Procedure or Entry.
|
||||||
|
|
||||||
Self_ID.Common.State := Interrupt_Server_Blocked_On_Event_Flag;
|
Self_ID.Common.State := Interrupt_Server_Blocked_On_Event_Flag;
|
||||||
POP.Unlock (Self_ID);
|
POP.Unlock (Self_ID);
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,7 @@ package System.Interrupts is
|
||||||
-- Comment needed ???
|
-- Comment needed ???
|
||||||
|
|
||||||
procedure Ignore_Interrupt (Interrupt : Interrupt_ID);
|
procedure Ignore_Interrupt (Interrupt : Interrupt_ID);
|
||||||
-- Set the sigacion for the interrupt to SIG_IGN
|
-- Set the sigaction for the interrupt to SIG_IGN
|
||||||
|
|
||||||
procedure Unignore_Interrupt (Interrupt : Interrupt_ID);
|
procedure Unignore_Interrupt (Interrupt : Interrupt_ID);
|
||||||
-- Comment needed ???
|
-- Comment needed ???
|
||||||
|
|
@ -162,7 +162,7 @@ package System.Interrupts is
|
||||||
-- other low-level interface that changes the signal action or signal mask
|
-- other low-level interface that changes the signal action or signal mask
|
||||||
-- needs a careful thought.
|
-- needs a careful thought.
|
||||||
|
|
||||||
-- One may acheive the effect of system calls first making RTS blocked (by
|
-- One may achieve the effect of system calls first making RTS blocked (by
|
||||||
-- calling Block_Interrupt) for the signal under consideration. This will
|
-- calling Block_Interrupt) for the signal under consideration. This will
|
||||||
-- make all the tasks in RTS blocked for the Interrupt.
|
-- make all the tasks in RTS blocked for the Interrupt.
|
||||||
|
|
||||||
|
|
@ -188,7 +188,7 @@ package System.Interrupts is
|
||||||
|
|
||||||
-- (2) Attach_Handler pragmas are used, and possibly Interrupt_Handler
|
-- (2) Attach_Handler pragmas are used, and possibly Interrupt_Handler
|
||||||
-- pragma. We need to attach the handlers to the given interrupts when the
|
-- pragma. We need to attach the handlers to the given interrupts when the
|
||||||
-- objet is elaborated. This should be done by constructing an array of
|
-- object is elaborated. This should be done by constructing an array of
|
||||||
-- pairs (interrupt, handler) from the pragmas and calling Install_Handlers
|
-- pairs (interrupt, handler) from the pragmas and calling Install_Handlers
|
||||||
-- with it (types to be used are New_Handler_Item and New_Handler_Array).
|
-- with it (types to be used are New_Handler_Item and New_Handler_Array).
|
||||||
-- On finalization, we need to restore the handlers that were installed
|
-- On finalization, we need to restore the handlers that were installed
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
-- Interrupt_ID is used to derive the type in Ada.Interrupts, and
|
-- Interrupt_ID is used to derive the type in Ada.Interrupts, and
|
||||||
-- adding more operations to that type would be illegal according
|
-- adding more operations to that type would be illegal according
|
||||||
-- to the Ada Reference Manual. This is the reason why the signals
|
-- to the Ada Reference Manual. This is the reason why the signals
|
||||||
-- sets are implemeneted using visible arrays rather than functions.
|
-- sets are implemented using visible arrays rather than functions.
|
||||||
|
|
||||||
with System.OS_Interface;
|
with System.OS_Interface;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
-- Interrupt_ID into the visible part of this package. The type Interrupt_ID
|
-- Interrupt_ID into the visible part of this package. The type Interrupt_ID
|
||||||
-- is used to derive the type in Ada.Interrupts, and adding more operations
|
-- is used to derive the type in Ada.Interrupts, and adding more operations
|
||||||
-- to that type would be illegal according to the Ada Reference Manual. This
|
-- to that type would be illegal according to the Ada Reference Manual. This
|
||||||
-- is the reason why the signals sets are implemeneted using visible arrays
|
-- is the reason why the signals sets are implemented using visible arrays
|
||||||
-- rather than functions.
|
-- rather than functions.
|
||||||
|
|
||||||
with System.OS_Interface;
|
with System.OS_Interface;
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ package body System.Machine_State_Operations is
|
||||||
|
|
||||||
use System.Storage_Elements;
|
use System.Storage_Elements;
|
||||||
|
|
||||||
-- The exc_unwind function in libexc operats on a Sigcontext
|
-- The exc_unwind function in libexc operates on a Sigcontext
|
||||||
|
|
||||||
-- Type sigcontext_t is defined in /usr/include/sys/signal.h.
|
-- Type sigcontext_t is defined in /usr/include/sys/signal.h.
|
||||||
-- We define an equivalent Ada type here. From the comments in
|
-- We define an equivalent Ada type here. From the comments in
|
||||||
|
|
@ -115,7 +115,7 @@ package body System.Machine_State_Operations is
|
||||||
o32n : constant Natural := Boolean'Pos (o32);
|
o32n : constant Natural := Boolean'Pos (o32);
|
||||||
n32n : constant Natural := Boolean'Pos (n32);
|
n32n : constant Natural := Boolean'Pos (n32);
|
||||||
-- Flags to indicate which ABI is in effect for this compilation. For the
|
-- Flags to indicate which ABI is in effect for this compilation. For the
|
||||||
-- purposes of this unit, the n32 and n64 ABI's are identical.
|
-- purposes of this unit, the n32 and n64 ABIs are identical.
|
||||||
|
|
||||||
LSC : constant Character := Character'Val (o32n * Character'Pos ('w') +
|
LSC : constant Character := Character'Val (o32n * Character'Pos ('w') +
|
||||||
n32n * Character'Pos ('d'));
|
n32n * Character'Pos ('d'));
|
||||||
|
|
|
||||||
|
|
@ -293,7 +293,7 @@ package body System.OS_Lib is
|
||||||
-- Internal exception raised to signal error in copy
|
-- Internal exception raised to signal error in copy
|
||||||
|
|
||||||
function Build_Path (Dir : String; File : String) return String;
|
function Build_Path (Dir : String; File : String) return String;
|
||||||
-- Returns pathname Dir catenated with File adding the directory
|
-- Returns pathname Dir concatenated with File adding the directory
|
||||||
-- separator only if needed.
|
-- separator only if needed.
|
||||||
|
|
||||||
procedure Copy (From, To : File_Descriptor);
|
procedure Copy (From, To : File_Descriptor);
|
||||||
|
|
@ -1833,7 +1833,7 @@ package body System.OS_Lib is
|
||||||
|
|
||||||
-- First, convert VMS file spec to Unix file spec.
|
-- First, convert VMS file spec to Unix file spec.
|
||||||
-- If Name is not in VMS syntax, then this is equivalent
|
-- If Name is not in VMS syntax, then this is equivalent
|
||||||
-- to put Name at the begining of Path_Buffer.
|
-- to put Name at the beginning of Path_Buffer.
|
||||||
|
|
||||||
VMS_Conversion : begin
|
VMS_Conversion : begin
|
||||||
The_Name (1 .. Name'Length) := Name;
|
The_Name (1 .. Name'Length) := Name;
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ package System.OS_Lib is
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
-- These are reexported from package Strings (which was introduced to
|
-- These are reexported from package Strings (which was introduced to
|
||||||
-- avoid different packages declarting different types unnecessarily).
|
-- avoid different packages declaring different types unnecessarily).
|
||||||
-- See package System.Strings for details.
|
-- See package System.Strings for details.
|
||||||
|
|
||||||
subtype String_Access is Strings.String_Access;
|
subtype String_Access is Strings.String_Access;
|
||||||
|
|
@ -875,7 +875,7 @@ private
|
||||||
-- bootstrap path problems. To be changed later ???
|
-- bootstrap path problems. To be changed later ???
|
||||||
|
|
||||||
Invalid_Time : constant OS_Time := -1;
|
Invalid_Time : constant OS_Time := -1;
|
||||||
-- This value should match the return valud by __gnat_file_time_*
|
-- This value should match the return value from __gnat_file_time_*
|
||||||
|
|
||||||
pragma Inline ("<");
|
pragma Inline ("<");
|
||||||
pragma Inline (">");
|
pragma Inline (">");
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ package System.OS_Interface is
|
||||||
SIGCPUFAIL : constant := 59; -- Predictive De-configuration of Processors
|
SIGCPUFAIL : constant := 59; -- Predictive De-configuration of Processors
|
||||||
SIGKAP : constant := 60; -- keep alive poll from native keyboard
|
SIGKAP : constant := 60; -- keep alive poll from native keyboard
|
||||||
SIGGRANT : constant := SIGKAP; -- monitor mode granted
|
SIGGRANT : constant := SIGKAP; -- monitor mode granted
|
||||||
SIGRETRACT : constant := 61; -- monitor mode should be relinguished
|
SIGRETRACT : constant := 61; -- monitor mode should be relinquished
|
||||||
SIGSOUND : constant := 62; -- sound control has completed
|
SIGSOUND : constant := 62; -- sound control has completed
|
||||||
SIGSAK : constant := 63; -- secure attention key
|
SIGSAK : constant := 63; -- secure attention key
|
||||||
|
|
||||||
|
|
@ -311,7 +311,7 @@ package System.OS_Interface is
|
||||||
-- No alternate signal stack is used on this platform
|
-- No alternate signal stack is used on this platform
|
||||||
|
|
||||||
Stack_Base_Available : constant Boolean := False;
|
Stack_Base_Available : constant Boolean := False;
|
||||||
-- Indicates wether the stack base is available on this target
|
-- Indicates whether the stack base is available on this target
|
||||||
|
|
||||||
function Get_Stack_Base (thread : pthread_t) return Address;
|
function Get_Stack_Base (thread : pthread_t) return Address;
|
||||||
pragma Inline (Get_Stack_Base);
|
pragma Inline (Get_Stack_Base);
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ package System.OS_Interface is
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Time_Slice_Supported : constant Boolean := True;
|
Time_Slice_Supported : constant Boolean := True;
|
||||||
-- Indicates wether time slicing is supported
|
-- Indicates whether time slicing is supported
|
||||||
|
|
||||||
type timespec is private;
|
type timespec is private;
|
||||||
|
|
||||||
|
|
@ -284,9 +284,9 @@ package System.OS_Interface is
|
||||||
-- No alternate signal stack is used on this platform
|
-- No alternate signal stack is used on this platform
|
||||||
|
|
||||||
Stack_Base_Available : constant Boolean := False;
|
Stack_Base_Available : constant Boolean := False;
|
||||||
-- Indicates wether the stack base is available on this target. This allows
|
-- Indicates whether the stack base is available on this target. This
|
||||||
-- us to share s-osinte.adb between all the FSU run time. Note that this
|
-- allows us to share s-osinte.adb between all the FSU run time. Note that
|
||||||
-- value can only be true if pthread_t has a complete definition that
|
-- this value can only be true if pthread_t has a complete definition that
|
||||||
-- corresponds exactly to the C header files.
|
-- corresponds exactly to the C header files.
|
||||||
|
|
||||||
function Get_Stack_Base (thread : pthread_t) return System.Address;
|
function Get_Stack_Base (thread : pthread_t) return System.Address;
|
||||||
|
|
|
||||||
|
|
@ -195,7 +195,7 @@ package System.OS_Interface is
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Time_Slice_Supported : constant Boolean := True;
|
Time_Slice_Supported : constant Boolean := True;
|
||||||
-- Indicates wether time slicing is supported (i.e SCHED_RR is supported)
|
-- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
|
||||||
|
|
||||||
type timespec is private;
|
type timespec is private;
|
||||||
|
|
||||||
|
|
@ -313,9 +313,9 @@ package System.OS_Interface is
|
||||||
-- No alternate signal stack is used on this platform
|
-- No alternate signal stack is used on this platform
|
||||||
|
|
||||||
Stack_Base_Available : constant Boolean := False;
|
Stack_Base_Available : constant Boolean := False;
|
||||||
-- Indicates wether the stack base is available on this target. This allows
|
-- Indicates whether the stack base is available on this target. This
|
||||||
-- us to share s-osinte.adb between all the FSU run time. Note that this
|
-- allows us to share s-osinte.adb between all the FSU run time. Note that
|
||||||
-- value can only be true if pthread_t has a complete definition that
|
-- this value can only be true if pthread_t has a complete definition that
|
||||||
-- corresponds exactly to the C header files.
|
-- corresponds exactly to the C header files.
|
||||||
|
|
||||||
function Get_Stack_Base (thread : pthread_t) return Address;
|
function Get_Stack_Base (thread : pthread_t) return Address;
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ package System.OS_Interface is
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Time_Slice_Supported : constant Boolean := True;
|
Time_Slice_Supported : constant Boolean := True;
|
||||||
-- Indicates wether time slicing is supported
|
-- Indicates whether time slicing is supported
|
||||||
|
|
||||||
type timespec is private;
|
type timespec is private;
|
||||||
|
|
||||||
|
|
@ -299,7 +299,7 @@ package System.OS_Interface is
|
||||||
-- This must be in keeping with init.c:__gnat_alternate_stack
|
-- This must be in keeping with init.c:__gnat_alternate_stack
|
||||||
|
|
||||||
Stack_Base_Available : constant Boolean := False;
|
Stack_Base_Available : constant Boolean := False;
|
||||||
-- Indicates wether the stack base is available on this target
|
-- Indicates whether the stack base is available on this target
|
||||||
|
|
||||||
function Get_Stack_Base (thread : pthread_t) return Address;
|
function Get_Stack_Base (thread : pthread_t) return Address;
|
||||||
pragma Inline (Get_Stack_Base);
|
pragma Inline (Get_Stack_Base);
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ package body System.OS_Interface is
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
-- For all the following functions, LynxOS threads has the POSIX Draft 4
|
-- For all the following functions, LynxOS threads has the POSIX Draft 4
|
||||||
-- begavior; it sets errno but the standard Posix requires it to be
|
-- behavior; it sets errno but the standard Posix requires it to be
|
||||||
-- returned.
|
-- returned.
|
||||||
|
|
||||||
function pthread_mutexattr_init
|
function pthread_mutexattr_init
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ package System.OS_Interface is
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Time_Slice_Supported : constant Boolean := True;
|
Time_Slice_Supported : constant Boolean := True;
|
||||||
-- Indicates wether time slicing is supported
|
-- Indicates whether time slicing is supported
|
||||||
|
|
||||||
type timespec is private;
|
type timespec is private;
|
||||||
|
|
||||||
|
|
@ -271,7 +271,7 @@ package System.OS_Interface is
|
||||||
-- No alternate signal stack is used on this platform
|
-- No alternate signal stack is used on this platform
|
||||||
|
|
||||||
Stack_Base_Available : constant Boolean := False;
|
Stack_Base_Available : constant Boolean := False;
|
||||||
-- Indicates wether the stack base is available on this target
|
-- Indicates whether the stack base is available on this target
|
||||||
|
|
||||||
function Get_Stack_Base (thread : pthread_t) return Address;
|
function Get_Stack_Base (thread : pthread_t) return Address;
|
||||||
pragma Inline (Get_Stack_Base);
|
pragma Inline (Get_Stack_Base);
|
||||||
|
|
@ -383,7 +383,7 @@ package System.OS_Interface is
|
||||||
mutex : access pthread_mutex_t;
|
mutex : access pthread_mutex_t;
|
||||||
reltime : access timespec) return int;
|
reltime : access timespec) return int;
|
||||||
pragma Inline (pthread_cond_timedwait);
|
pragma Inline (pthread_cond_timedwait);
|
||||||
-- LynxOS has a nonstandard pthrad_cond_timedwait
|
-- LynxOS has a nonstandard pthread_cond_timedwait
|
||||||
|
|
||||||
Relative_Timed_Wait : constant Boolean := True;
|
Relative_Timed_Wait : constant Boolean := True;
|
||||||
-- pthread_cond_timedwait requires a relative delay time
|
-- pthread_cond_timedwait requires a relative delay time
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ package System.OS_Interface is
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- The lowest numbered signal is 1, but 0 is a valid argument to some
|
-- The lowest numbered signal is 1, but 0 is a valid argument to some
|
||||||
-- library functions, eg. kill(2). However, 0 is not just another
|
-- library functions, e.g. kill(2). However, 0 is not just another
|
||||||
-- signal: For instance 'I in Signal' and similar should be used with
|
-- signal: For instance 'I in Signal' and similar should be used with
|
||||||
-- caution.
|
-- caution.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -159,7 +159,7 @@ package System.OS_Interface is
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Time_Slice_Supported : constant Boolean := True;
|
Time_Slice_Supported : constant Boolean := True;
|
||||||
-- Indicates wether time slicing is supported (i.e SCHED_RR is supported)
|
-- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
|
||||||
|
|
||||||
type timespec is private;
|
type timespec is private;
|
||||||
|
|
||||||
|
|
@ -250,7 +250,7 @@ package System.OS_Interface is
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Stack_Base_Available : constant Boolean := False;
|
Stack_Base_Available : constant Boolean := False;
|
||||||
-- Indicates wether the stack base is available on this target.
|
-- Indicates whether the stack base is available on this target.
|
||||||
-- This allows us to share s-osinte.adb between all the FSU/RTEMS
|
-- This allows us to share s-osinte.adb between all the FSU/RTEMS
|
||||||
-- run time.
|
-- run time.
|
||||||
-- Note that this value can only be true if pthread_t has a complete
|
-- Note that this value can only be true if pthread_t has a complete
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,7 @@ package System.OS_Interface is
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Time_Slice_Supported : constant Boolean := True;
|
Time_Slice_Supported : constant Boolean := True;
|
||||||
-- Indicates wether time slicing is supported
|
-- Indicates whether time slicing is supported
|
||||||
|
|
||||||
type timespec is private;
|
type timespec is private;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -130,10 +130,10 @@ package body System.OS_Primitives is
|
||||||
Duration (Long_Long_Float (Current_Ticks - BTA.all) /
|
Duration (Long_Long_Float (Current_Ticks - BTA.all) /
|
||||||
Long_Long_Float (TFA.all));
|
Long_Long_Float (TFA.all));
|
||||||
|
|
||||||
-- If we have a shift of more than Max_Shift seconds we resynchonize the
|
-- If we have a shift of more than Max_Shift seconds we resynchronize
|
||||||
-- Clock. This is probably due to a manual Clock adjustment, an DST
|
-- the Clock. This is probably due to a manual Clock adjustment, an
|
||||||
-- adjustment or an NTP synchronisation. And we want to adjust the time
|
-- DST adjustment or an NTP synchronisation. And we want to adjust the
|
||||||
-- for this system (non-monotonic) clock.
|
-- time for this system (non-monotonic) clock.
|
||||||
|
|
||||||
if abs (Elap_Secs_Sys - Elap_Secs_Tick) > Max_Shift then
|
if abs (Elap_Secs_Sys - Elap_Secs_Tick) > Max_Shift then
|
||||||
Get_Base_Time;
|
Get_Base_Time;
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ package body System.OS_Primitives is
|
||||||
-- pidadr = address of process id to be woken up
|
-- pidadr = address of process id to be woken up
|
||||||
-- prcnam = name of process to be woken up
|
-- prcnam = name of process to be woken up
|
||||||
-- daytim = time to wake up
|
-- daytim = time to wake up
|
||||||
-- reptim = repitition interval of wakeup calls
|
-- reptim = repetition interval of wakeup calls
|
||||||
--
|
--
|
||||||
|
|
||||||
procedure Sys_Schdwk
|
procedure Sys_Schdwk
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ package System.Parameters is
|
||||||
|
|
||||||
-- The system releases all storage on program termination only,
|
-- The system releases all storage on program termination only,
|
||||||
-- but not other garbage collection occurs, so finalization calls
|
-- but not other garbage collection occurs, so finalization calls
|
||||||
-- are ommitted only for outer level onjects can be omitted if
|
-- are omitted only for outer level objects can be omitted if
|
||||||
-- pragma Finalize_Storage_Only is used.
|
-- pragma Finalize_Storage_Only is used.
|
||||||
|
|
||||||
-- Garbage_Collected = True
|
-- Garbage_Collected = True
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ package System.Parameters is
|
||||||
|
|
||||||
-- The system releases all storage on program termination only,
|
-- The system releases all storage on program termination only,
|
||||||
-- but not other garbage collection occurs, so finalization calls
|
-- but not other garbage collection occurs, so finalization calls
|
||||||
-- are ommitted only for outer level onjects can be omitted if
|
-- are omitted only for outer level objects can be omitted if
|
||||||
-- pragma Finalize_Storage_Only is used.
|
-- pragma Finalize_Storage_Only is used.
|
||||||
|
|
||||||
-- Garbage_Collected = True
|
-- Garbage_Collected = True
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ package System.Parameters is
|
||||||
|
|
||||||
-- The system releases all storage on program termination only,
|
-- The system releases all storage on program termination only,
|
||||||
-- but not other garbage collection occurs, so finalization calls
|
-- but not other garbage collection occurs, so finalization calls
|
||||||
-- are ommitted only for outer level onjects can be omitted if
|
-- are omitted only for outer level objects can be omitted if
|
||||||
-- pragma Finalize_Storage_Only is used.
|
-- pragma Finalize_Storage_Only is used.
|
||||||
|
|
||||||
-- Garbage_Collected = True
|
-- Garbage_Collected = True
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ package System.Parameters is
|
||||||
|
|
||||||
-- The system releases all storage on program termination only,
|
-- The system releases all storage on program termination only,
|
||||||
-- but not other garbage collection occurs, so finalization calls
|
-- but not other garbage collection occurs, so finalization calls
|
||||||
-- are ommitted only for outer level onjects can be omitted if
|
-- are omitted only for outer level objects can be omitted if
|
||||||
-- pragma Finalize_Storage_Only is used.
|
-- pragma Finalize_Storage_Only is used.
|
||||||
|
|
||||||
-- Garbage_Collected = True
|
-- Garbage_Collected = True
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ package System.Parameters is
|
||||||
|
|
||||||
-- The system releases all storage on program termination only,
|
-- The system releases all storage on program termination only,
|
||||||
-- but not other garbage collection occurs, so finalization calls
|
-- but not other garbage collection occurs, so finalization calls
|
||||||
-- are ommitted only for outer level onjects can be omitted if
|
-- are omitted only for outer level objects can be omitted if
|
||||||
-- pragma Finalize_Storage_Only is used.
|
-- pragma Finalize_Storage_Only is used.
|
||||||
|
|
||||||
-- Garbage_Collected = True
|
-- Garbage_Collected = True
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ package System.Parameters is
|
||||||
|
|
||||||
-- The system releases all storage on program termination only,
|
-- The system releases all storage on program termination only,
|
||||||
-- but not other garbage collection occurs, so finalization calls
|
-- but not other garbage collection occurs, so finalization calls
|
||||||
-- are ommitted only for outer level onjects can be omitted if
|
-- are omitted only for outer level objects can be omitted if
|
||||||
-- pragma Finalize_Storage_Only is used.
|
-- pragma Finalize_Storage_Only is used.
|
||||||
|
|
||||||
-- Garbage_Collected = True
|
-- Garbage_Collected = True
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ package System.Parameters is
|
||||||
|
|
||||||
-- The system releases all storage on program termination only,
|
-- The system releases all storage on program termination only,
|
||||||
-- but not other garbage collection occurs, so finalization calls
|
-- but not other garbage collection occurs, so finalization calls
|
||||||
-- are ommitted only for outer level onjects can be omitted if
|
-- are omitted only for outer level objects can be omitted if
|
||||||
-- pragma Finalize_Storage_Only is used.
|
-- pragma Finalize_Storage_Only is used.
|
||||||
|
|
||||||
-- Garbage_Collected = True
|
-- Garbage_Collected = True
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
|
|
||||||
package body System.Partition_Interface is
|
package body System.Partition_Interface is
|
||||||
|
|
||||||
pragma Warnings (Off); -- supress warnings for unreferenced formals
|
pragma Warnings (Off); -- suppress warnings for unreferenced formals
|
||||||
|
|
||||||
M : constant := 7;
|
M : constant := 7;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ package System.Partition_Interface is
|
||||||
pragma No_Strict_Aliasing (RAS_Proxy_Type_Access);
|
pragma No_Strict_Aliasing (RAS_Proxy_Type_Access);
|
||||||
-- This type is used by the expansion to implement distributed objects.
|
-- This type is used by the expansion to implement distributed objects.
|
||||||
-- Do not change its definition or its layout without updating
|
-- Do not change its definition or its layout without updating
|
||||||
-- Exp_Dist.Build_Remote_Supbrogram_Proxy_Type.
|
-- Exp_Dist.Build_Remote_Subprogram_Proxy_Type.
|
||||||
|
|
||||||
-- The Request_Access type is used for communication between the PCS
|
-- The Request_Access type is used for communication between the PCS
|
||||||
-- and the RPC receiver generated by the compiler: it contains all the
|
-- and the RPC receiver generated by the compiler: it contains all the
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ package body System.Pool_Size is
|
||||||
|
|
||||||
-- Embedded pool that manages allocation of variable-size data
|
-- Embedded pool that manages allocation of variable-size data
|
||||||
|
|
||||||
-- This pool is used as soon as the Elmt_sizS of the pool object is 0
|
-- This pool is used as soon as the Elmt_Size of the pool object is 0
|
||||||
|
|
||||||
-- Allocation is done on the first chunk long enough for the request.
|
-- Allocation is done on the first chunk long enough for the request.
|
||||||
-- Deallocation just puts the freed chunk at the beginning of the list.
|
-- Deallocation just puts the freed chunk at the beginning of the list.
|
||||||
|
|
@ -261,7 +261,7 @@ package body System.Pool_Size is
|
||||||
raise Storage_Error;
|
raise Storage_Error;
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
-- When the chunk is bigger than what is needed, take appropraite
|
-- When the chunk is bigger than what is needed, take appropriate
|
||||||
-- amount and build a new shrinked chunk with the remainder.
|
-- amount and build a new shrinked chunk with the remainder.
|
||||||
|
|
||||||
if Size (Pool, Chunk) - Align_Size > Minimum_Size then
|
if Size (Pool, Chunk) - Align_Size > Minimum_Size then
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ package System.Program_Info is
|
||||||
|
|
||||||
function Default_Task_Stack return Integer;
|
function Default_Task_Stack return Integer;
|
||||||
-- The default stack size for each created thread. This default value can
|
-- The default stack size for each created thread. This default value can
|
||||||
-- be overriden on a per-task basis by the language-defined Storage_Size
|
-- be overridden on a per-task basis by the language-defined Storage_Size
|
||||||
-- pragma.
|
-- pragma.
|
||||||
|
|
||||||
function Stack_Guard_Pages return Integer;
|
function Stack_Guard_Pages return Integer;
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ package System.Program_Info is
|
||||||
|
|
||||||
function Default_Task_Stack return Integer;
|
function Default_Task_Stack return Integer;
|
||||||
-- The default stack size for each created thread. This default value
|
-- The default stack size for each created thread. This default value
|
||||||
-- can be overriden on a per-task basis by the language-defined
|
-- can be overridden on a per-task basis by the language-defined
|
||||||
-- Storage_Size pragma.
|
-- Storage_Size pragma.
|
||||||
|
|
||||||
end System.Program_Info;
|
end System.Program_Info;
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ package body System.Regexp is
|
||||||
Num_States : out State_Index;
|
Num_States : out State_Index;
|
||||||
Start_State : out State_Index;
|
Start_State : out State_Index;
|
||||||
End_State : out State_Index);
|
End_State : out State_Index);
|
||||||
-- Creates the first version of the regexp (this is a non determinist
|
-- Creates the first version of the regexp (this is a non deterministic
|
||||||
-- finite state machine, which is unadapted for a fast pattern
|
-- finite state machine, which is unadapted for a fast pattern
|
||||||
-- matching algorithm). We use a recursive algorithm to process the
|
-- matching algorithm). We use a recursive algorithm to process the
|
||||||
-- parenthesis sub-expressions.
|
-- parenthesis sub-expressions.
|
||||||
|
|
@ -1137,7 +1137,7 @@ package body System.Regexp is
|
||||||
end loop;
|
end loop;
|
||||||
end Closure;
|
end Closure;
|
||||||
|
|
||||||
-- Start of procesing for Create_Secondary_Table
|
-- Start of processing for Create_Secondary_Table
|
||||||
|
|
||||||
begin
|
begin
|
||||||
-- Create a new state
|
-- Create a new state
|
||||||
|
|
|
||||||
|
|
@ -136,10 +136,10 @@ package body System.Regpat is
|
||||||
-- Matches after or before a word
|
-- Matches after or before a word
|
||||||
|
|
||||||
BOL, -- no Match "" at beginning of line
|
BOL, -- no Match "" at beginning of line
|
||||||
MBOL, -- no Same, assuming mutiline (match after \n)
|
MBOL, -- no Same, assuming multiline (match after \n)
|
||||||
SBOL, -- no Same, assuming single line (don't match at \n)
|
SBOL, -- no Same, assuming single line (don't match at \n)
|
||||||
EOL, -- no Match "" at end of line
|
EOL, -- no Match "" at end of line
|
||||||
MEOL, -- no Same, assuming mutiline (match before \n)
|
MEOL, -- no Same, assuming multiline (match before \n)
|
||||||
SEOL, -- no Same, assuming single line (don't match at \n)
|
SEOL, -- no Same, assuming single line (don't match at \n)
|
||||||
|
|
||||||
BOUND, -- no Match "" at any word boundary
|
BOUND, -- no Match "" at any word boundary
|
||||||
|
|
@ -386,7 +386,7 @@ package body System.Regpat is
|
||||||
function Emit_Node (Op : Opcode) return Pointer;
|
function Emit_Node (Op : Opcode) return Pointer;
|
||||||
-- If code-generation is enabled, Emit_Node outputs the
|
-- If code-generation is enabled, Emit_Node outputs the
|
||||||
-- opcode Op and reserves space for a pointer to the next node.
|
-- opcode Op and reserves space for a pointer to the next node.
|
||||||
-- Return value is the location of new opcode, ie old Emit_Ptr.
|
-- Return value is the location of new opcode, i.e. old Emit_Ptr.
|
||||||
|
|
||||||
procedure Emit_Natural (IP : Pointer; N : Natural);
|
procedure Emit_Natural (IP : Pointer; N : Natural);
|
||||||
-- Split N on two characters at position IP
|
-- Split N on two characters at position IP
|
||||||
|
|
@ -449,7 +449,7 @@ package body System.Regpat is
|
||||||
-- Link_Tail sets the next-pointer at the end of a node chain
|
-- Link_Tail sets the next-pointer at the end of a node chain
|
||||||
|
|
||||||
procedure Link_Operand_Tail (P, Val : Pointer);
|
procedure Link_Operand_Tail (P, Val : Pointer);
|
||||||
-- Link_Tail on operand of first argument; nop if operandless
|
-- Link_Tail on operand of first argument; noop if operand-less
|
||||||
|
|
||||||
function Next_Instruction (P : Pointer) return Pointer;
|
function Next_Instruction (P : Pointer) return Pointer;
|
||||||
-- Dig the "next" pointer out of a node
|
-- Dig the "next" pointer out of a node
|
||||||
|
|
@ -460,7 +460,7 @@ package body System.Regpat is
|
||||||
|
|
||||||
function Is_Curly_Operator (IP : Natural) return Boolean;
|
function Is_Curly_Operator (IP : Natural) return Boolean;
|
||||||
-- Return True if IP is looking at a '{' that is the beginning
|
-- Return True if IP is looking at a '{' that is the beginning
|
||||||
-- of a curly operator, ie it matches {\d+,?\d*}
|
-- of a curly operator, i.e. it matches {\d+,?\d*}
|
||||||
|
|
||||||
function Is_Mult (IP : Natural) return Boolean;
|
function Is_Mult (IP : Natural) return Boolean;
|
||||||
-- Return True if C is a regexp multiplier: '+', '*' or '?'
|
-- Return True if C is a regexp multiplier: '+', '*' or '?'
|
||||||
|
|
@ -484,8 +484,8 @@ package body System.Regpat is
|
||||||
-- Parse_Literal encodes a string of characters to be matched exactly
|
-- Parse_Literal encodes a string of characters to be matched exactly
|
||||||
|
|
||||||
function Parse_Posix_Character_Class return Std_Class;
|
function Parse_Posix_Character_Class return Std_Class;
|
||||||
-- Parse a posic character class, like [:alpha:] or [:^alpha:].
|
-- Parse a posix character class, like [:alpha:] or [:^alpha:].
|
||||||
-- The called is suppoed to absorbe the opening [.
|
-- The caller is supposed to absorb the opening [.
|
||||||
|
|
||||||
pragma Inline (Is_Mult);
|
pragma Inline (Is_Mult);
|
||||||
pragma Inline (Emit_Natural);
|
pragma Inline (Emit_Natural);
|
||||||
|
|
|
||||||
|
|
@ -414,7 +414,7 @@ package System.Regpat is
|
||||||
-- approach, in addition to the improved efficiency, is that the same
|
-- approach, in addition to the improved efficiency, is that the same
|
||||||
-- Pattern_Matcher variable can be used to hold the compiled code for
|
-- Pattern_Matcher variable can be used to hold the compiled code for
|
||||||
-- several different regular expressions by setting a size that is large
|
-- several different regular expressions by setting a size that is large
|
||||||
-- enough to accomodate all possibilities.
|
-- enough to accommodate all possibilities.
|
||||||
--
|
--
|
||||||
-- In this version of the procedure call, the actual required code size is
|
-- In this version of the procedure call, the actual required code size is
|
||||||
-- returned. Also if Matcher.Size is zero on entry, then the resulting code
|
-- returned. Also if Matcher.Size is zero on entry, then the resulting code
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ package System.Rident is
|
||||||
-- Boolean restrictions that are not checked for partition consistency
|
-- Boolean restrictions that are not checked for partition consistency
|
||||||
-- and that thus apply only to the current unit. Note that for these
|
-- and that thus apply only to the current unit. Note that for these
|
||||||
-- restrictions, the compiler does not apply restrictions found in
|
-- restrictions, the compiler does not apply restrictions found in
|
||||||
-- with'ed units, parent specs etc to the main unit.
|
-- with'ed units, parent specs etc. to the main unit.
|
||||||
|
|
||||||
subtype All_Parameter_Restrictions is
|
subtype All_Parameter_Restrictions is
|
||||||
Restriction_Id range
|
Restriction_Id range
|
||||||
|
|
@ -305,7 +305,7 @@ package System.Rident is
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
type Profile_Name is (Ravenscar, Restricted);
|
type Profile_Name is (Ravenscar, Restricted);
|
||||||
-- Names of recognized pfofiles
|
-- Names of recognized profiles
|
||||||
|
|
||||||
type Profile_Data is record
|
type Profile_Data is record
|
||||||
Set : Restriction_Flags;
|
Set : Restriction_Flags;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue