-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT Hi Integrity Edition. In accordance with the copyright of that --
-- document, you can freely copy and modify this specification, provided --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
------------------------------------------------------------------------------
+-- Version for use in HI-E mode
+
with System.Storage_Elements;
package System.Secondary_Stack is
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2002, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (No Tasking Version) --
-- --
--- --
--- Copyright (C) 1991,92,93,94,95,1996 Free Software Foundation, Inc. --
+-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-1997 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (C Library Version for x86) --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2000 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
--- This specification is adapted from the Ada Reference Manual for use with --
--- GNAT. In accordance with the copyright of that document, you can freely --
--- copy and modify this specification, provided that if you redistribute a --
--- modified version, any changes that you have made are clearly indicated. --
+-- This specification is derived from the Ada Reference Manual for use with --
+-- GNAT. The copyright notice above, and the license provisions that follow --
+-- apply solely to the contents of the part following the private keyword. --
+-- --
+-- GNAT is free software; you can redistribute it and/or modify it under --
+-- terms of the GNU General Public License as published by the Free Soft- --
+-- ware Foundation; either version 2, or (at your option) any later ver- --
+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
+-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
+-- for more details. You should have received a copy of the GNU General --
+-- Public License distributed with GNAT; see file COPYING. If not, write --
+-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
+-- MA 02111-1307, USA. --
+-- --
+-- As a special exception, if other files instantiate generics from this --
+-- unit, or you link this unit with other files to produce an executable, --
+-- this unit does not by itself cause the resulting executable to be --
+-- covered by the GNU General Public License. This exception does not --
+-- however invalidate any other reasons why the executable file might be --
+-- covered by the GNU Public License. --
+-- --
+-- GNAT was originally developed by the GNAT team at New York University. --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1991-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- time based on 1 january 1970) and add there the sub-seconds part.
declare
- Sub_Sec : Duration := Seconds - Duration (Int_Secs);
+ Sub_Sec : constant Duration := Seconds - Duration (Int_Secs);
begin
Date := Time ((Now - epoch_1970) * system_time_ns / Sec_Unit) +
Sub_Sec;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1998 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (C Library Version, VxWorks) --
-- --
--- --
--- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
------------------------------------------------------------------------------
with Interfaces.C;
+
package body Ada.Synchronous_Task_Control is
use System.OS_Interface;
use type Interfaces.C.int;
procedure Set_False (S : in out Suspension_Object) is
St : STATUS;
+
begin
-- Need to get the semaphore into the "empty" state.
-- On return, this task will have made the semaphore
-- empty (St = OK) or have left it empty.
+
St := semTake (S.Sema, NO_WAIT);
end Set_False;
procedure Set_True (S : in out Suspension_Object) is
St : STATUS;
+
begin
St := semGive (S.Sema);
end Set_True;
procedure Suspend_Until_True (S : in out Suspension_Object) is
St : STATUS;
- -- Declare local exception so the mutex can still be reset
- -- to full if Program_Error is raised
-
- Task_Already_Pending : exception;
begin
-- Determine whether another task is pending on the suspension
-- object. Should never be called from an ISR. Therefore semTake can
-- be called on the mutex
+
St := semTake (S.Mutex, NO_WAIT);
if St = OK then
+
-- Wait for suspension object
St := semTake (S.Sema, WAIT_FOREVER);
else
-- Another task is pending on the suspension object
- raise Task_Already_Pending;
- end if;
- exception
- when Task_Already_Pending =>
raise Program_Error;
- when others =>
- St := semGive (S.Mutex);
- raise;
+ end if;
end Suspend_Until_True;
+ ----------------
+ -- Initialize --
+ ----------------
+
procedure Initialize (S : in out Suspension_Object) is
begin
S.Sema := semBCreate (SEM_Q_FIFO, SEM_EMPTY);
S.Mutex := semBCreate (SEM_Q_FIFO, SEM_FULL);
end Initialize;
+ --------------
+ -- Finalize --
+ --------------
+
procedure Finalize (S : in out Suspension_Object) is
St : STATUS;
+
begin
St := semDelete (S.Sema);
St := semDelete (S.Mutex);
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1999-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
F := F + 1.0;
end if;
- return timespec' (tv_sec => S,
- tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
+ return timespec'(tv_sec => S,
+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
end To_Timespec;
----------------
F := F + 1.0;
end if;
- return struct_timeval' (tv_sec => S,
- tv_usec => long (Long_Long_Integer (F * 10#1#E6)));
+ return
+ struct_timeval'
+ (tv_sec => S,
+ tv_usec => long (Long_Long_Integer (F * 10#1#E6)));
end To_Timeval;
-------------------
function clock_gettime
(clock_id : clockid_t;
- tp : access timespec) return int
+ tp : access timespec)
+ return int
is
+ pragma Warnings (Off, clock_id);
+
Result : int;
tv : aliased struct_timeval;
function gettimeofday
- (tv : access struct_timeval;
- tz : System.Address := System.Null_Address) return int;
+ (tv : access struct_timeval;
+ tz : System.Address := System.Null_Address)
+ return int;
pragma Import (C, gettimeofday, "gettimeofday");
begin
end pthread_kill;
function Get_Stack_Base (thread : pthread_t) return Address is
+ pragma Warnings (Off, thread);
+
begin
return Null_Address;
end Get_Stack_Base;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1999-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1999-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
function clock_gettime
(clock_id : clockid_t;
tp : access timespec)
- return int
+ return int
is
function clock_gettime_base
(clock_id : clockid_t;
tp : access timespec)
- return int;
+ return int;
pragma Import (C, clock_gettime_base, "clock_gettime");
begin
F := F + 1.0;
end if;
- return timespec' (tv_sec => S,
+ return timespec'(tv_sec => S,
tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
end To_Timespec;
F := F + 1.0;
end if;
- return struct_timeval' (tv_sec => S,
+ return struct_timeval'(tv_sec => S,
tv_usec => time_t (Long_Long_Integer (F * 10#1#E6)));
end To_Timeval;
function sigwait_base
(set : access sigset_t;
value : System.Address)
- return Signal;
+ return Signal;
pragma Import (C, sigwait_base, "sigwait");
begin
end pthread_getspecific;
function Get_Stack_Base (thread : pthread_t) return Address is
+ pragma Warnings (Off, thread);
+
begin
return Null_Address;
end Get_Stack_Base;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (LynxOS PPC/x86 Version)
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1999-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
tp : access timespec) return int;
pragma Import (C, clock_gettime, "clock_gettime");
+ function clock_getres
+ (clock_id : clockid_t;
+ res : access timespec) return int;
+ pragma Import (C, clock_getres, "clock_getres");
+
function To_Duration (TS : timespec) return Duration;
pragma Inline (To_Duration);
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 2000-2002 Ada Core Technologies, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
function sigwait
(set : access sigset_t;
sig : access Signal) return int;
- pragma Import (C, sigwait, "sigwait");
+ pragma Import (C, sigwait, "__posix_sigwait");
function pthread_kill
(thread : pthread_t;
-- B o d y --
-- (Version for Alpha/Dec Unix) --
-- --
--- --
--- Copyright (C) 1999-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 1999-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- asm instruction takes 4 bytes. So we must remove this value from
-- c_get_code_loc to have the call point.
+ Loc : Code_Loc := c_get_code_loc (M);
begin
- return c_get_code_loc (M) - Asm_Call_Size;
+ if Loc = 0 then
+ return 0;
+ else
+ return Loc - Asm_Call_Size;
+ end if;
end Get_Code_Loc;
--------------------------
(M : Machine_State;
Info : Subprogram_Info_Type)
is
+ pragma Warnings (Off, Info);
+
procedure exc_virtual_unwind
(Fcn : System.Address;
M : Machine_State);
procedure Set_Signal_Machine_State
(M : Machine_State;
- Context : System.Address) is
+ Context : System.Address)
+ is
+ pragma Warnings (Off, M);
+ pragma Warnings (Off, Context);
+
begin
null;
end Set_Signal_Machine_State;
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-2001 Florida State University --
+-- Copyright (C) 1998-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- however invalidate any other reasons why the executable file might be --
-- covered by the GNU Public License. --
-- --
--- GNARL was developed by the GNARL team at Florida State University. It is --
--- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
--- State University (http://www.gnat.com). --
+-- GNARL was developed by the GNARL team at Florida State University. --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
--- This is the DEC Unix and IRIX version of this package.
+-- This is the DEC Unix version of this package.
-- This package encapsulates all direct interfaces to OS services
-- that are needed by children of System.
-- tasking operations. It causes infinite loops and other problems.
with Interfaces.C; use Interfaces.C;
+with System.Machine_Code; use System.Machine_Code;
+
package body System.OS_Interface is
------------------
null;
end pthread_init;
+ ------------------
+ -- pthread_self --
+ ------------------
+
+ function pthread_self return pthread_t is
+ Self : pthread_t;
+ begin
+ Asm ("call_pal 0x9e" & ASCII.LF & ASCII.HT &
+ "bis $31, $0, %0",
+ Outputs => pthread_t'Asm_Output ("=r", Self),
+ Clobber => "$0");
+ return Self;
+ end pthread_self;
+
-----------------
-- To_Duration --
-----------------
F := F + 1.0;
end if;
- return timespec' (tv_sec => S,
- tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
+ return timespec'(tv_sec => S,
+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
end To_Timespec;
+ ----------------
+ -- To_Timeval --
+ ----------------
+
function To_Timeval (D : Duration) return struct_timeval is
S : time_t;
F : Duration;
F := F + 1.0;
end if;
- return struct_timeval' (tv_sec => S,
- tv_usec => time_t (Long_Long_Integer (F * 10#1#E6)));
+ return
+ struct_timeval'
+ (tv_sec => S,
+ tv_usec => time_t (Long_Long_Integer (F * 10#1#E6)));
end To_Timeval;
end System.OS_Interface;
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
pragma Import (C, pthread_exit, "__pthread_exit");
function pthread_self return pthread_t;
- pragma Import (C, pthread_self, "__pthread_self");
+ pragma Inline (pthread_self);
--------------------------
-- POSIX.1c Section 17 --
-- S p e c --
-- (DEC Unix Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 1.0 / 1024.0;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := False;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (Compiler Interface) --
-- --
--- --
-- Copyright (C) 1998-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2001, Free Software Fundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (AIX/PPC Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := True;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S Y S T E M --
-- --
-- S p e c --
--- (X86 Solaris Version) --
+-- (x86 Solaris Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := True;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-1998, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (SGI Irix, o32 ABI) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := False;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := True;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (Compiler Interface) --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Fundation --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1998, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- B o d y --
-- (Version for IRIX/MIPS) --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (SGI Irix, n32 ABI) --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2000 Free Software Fundation --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- when Size < Minimum_Stack_Size, return Minimum_Stack_Size
-- otherwise return given Size
+ Default_Env_Stack_Size : constant Size_Type := 8_192_000;
+ -- Assumed size of the environment task, if no other information
+ -- is available. This value is used when stack checking is
+ -- enabled and no GNAT_STACK_LIMIT environment variable is set.
+
Stack_Grows_Down : constant Boolean := False;
-- This constant indicates whether the stack grows up (False) or
-- down (True) in memory as functions are called. It is used for
-- S p e c --
-- (HP-UX Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
private
+ pragma Linker_Options ("-lpthread");
+ -- To ease supporting --enable-threads=posix at configure-time.
+
type Address is mod Memory_Size;
Null_Address : constant Address := 0;
Backend_Divide_Checks : constant Boolean := False;
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
- Denorm : constant Boolean := False;
+ Denorm : constant Boolean := True;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
Stack_Check_Default : constant Boolean := False;
Stack_Check_Probes : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
- ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
+ ZCX_By_Default : constant Boolean := True;
+ GCC_ZCX_Support : constant Boolean := True;
Front_End_ZCX_Support : constant Boolean := False;
--------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-2001 Florida State University --
+-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
--------------------
function Get_Stack_Base (thread : pthread_t) return Address is
+ pragma Warnings (Off, thread);
+
begin
return Null_Address;
end Get_Stack_Base;
F := F + 1.0;
end if;
- return timespec'
- (tv_sec => S, tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
+ return timespec'(tv_sec => S,
+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
end To_Timespec;
----------------
F := F + 1.0;
end if;
- return struct_timeval'
- (tv_sec => S, tv_usec => time_t (Long_Long_Integer (F * 10#1#E6)));
+ return
+ struct_timeval'
+ (tv_sec => S,
+ tv_usec => time_t (Long_Long_Integer (F * 10#1#E6)));
end To_Timeval;
end System.OS_Interface;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Stack_Guard --
-----------------
- -- The underlying thread system extends the memory (up to 2MB) when
- -- needed.
+ -- The underlying thread system extends the memory (up to 2MB) when needed
procedure Stack_Guard (T : ST.Task_ID; On : Boolean) is
+ pragma Unreferenced (T);
+ pragma Unreferenced (On);
+
begin
null;
end Stack_Guard;
---------------------
-- Note: mutexes and cond_variables needed per-task basis are
- -- initialized in Initialize_TCB and the Storage_Error is
- -- handled. Other mutexes (such as RTS_Lock, Memory_Lock...)
- -- used in RTS is initialized before any status change of RTS.
- -- Therefore rasing Storage_Error in the following routines
- -- should be able to be handled safely.
+ -- initialized in Initialize_TCB and the Storage_Error is
+ -- handled. Other mutexes (such as RTS_Lock, Memory_Lock...)
+ -- used in RTS is initialized before any status change of RTS.
+ -- Therefore rasing Storage_Error in the following routines
+ -- should be able to be handled safely.
procedure Initialize_Lock
(Prio : System.Any_Priority;
L : access Lock)
is
Result : Interfaces.C.int;
+
begin
if Priority_Ceiling_Emulation then
L.Ceiling := Prio;
end Initialize_Lock;
procedure Initialize_Lock (L : access RTS_Lock; Level : Lock_Level) is
+ pragma Unreferenced (Level);
+
Result : Interfaces.C.int;
begin
procedure Write_Lock (L : access Lock; Ceiling_Violation : out Boolean) is
Result : Interfaces.C.int;
+
begin
if Priority_Ceiling_Emulation then
declare
Self_ID : constant Task_ID := Self;
+
begin
if Self_ID.Common.LL.Active_Priority > L.Ceiling then
Ceiling_Violation := True;
return;
end if;
+
L.Saved_Priority := Self_ID.Common.LL.Active_Priority;
+
if Self_ID.Common.LL.Active_Priority < L.Ceiling then
Self_ID.Common.LL.Active_Priority := L.Ceiling;
end if;
+
Result := pthread_mutex_lock (L.L'Access);
pragma Assert (Result = 0);
Ceiling_Violation := False;
end;
+
else
Result := pthread_mutex_lock (L.L'Access);
Ceiling_Violation := Result = EINVAL;
- -- assumes the cause of EINVAL is a priority ceiling violation
+
+ -- Assume the cause of EINVAL is a priority ceiling violation
+
pragma Assert (Result = 0 or else Result = EINVAL);
end if;
end Write_Lock;
procedure Write_Lock
- (L : access RTS_Lock; Global_Lock : Boolean := False)
+ (L : access RTS_Lock;
+ Global_Lock : Boolean := False)
is
Result : Interfaces.C.int;
+
begin
if not Single_Lock or else Global_Lock then
Result := pthread_mutex_lock (L);
procedure Write_Lock (T : Task_ID) is
Result : Interfaces.C.int;
+
begin
if not Single_Lock then
Result := pthread_mutex_lock (T.Common.LL.L'Access);
procedure Unlock (L : access Lock) is
Result : Interfaces.C.int;
+
begin
if Priority_Ceiling_Emulation then
declare
Self_ID : constant Task_ID := Self;
+
begin
Result := pthread_mutex_unlock (L.L'Access);
pragma Assert (Result = 0);
+
if Self_ID.Common.LL.Active_Priority > L.Saved_Priority then
Self_ID.Common.LL.Active_Priority := L.Saved_Priority;
end if;
end;
+
else
Result := pthread_mutex_unlock (L.L'Access);
pragma Assert (Result = 0);
procedure Unlock (L : access RTS_Lock; Global_Lock : Boolean := False) is
Result : Interfaces.C.int;
+
begin
if not Single_Lock or else Global_Lock then
Result := pthread_mutex_unlock (L);
procedure Unlock (T : Task_ID) is
Result : Interfaces.C.int;
+
begin
if not Single_Lock then
Result := pthread_mutex_unlock (T.Common.LL.L'Access);
-----------
procedure Sleep
- (Self_ID : Task_ID;
+ (Self_ID : Task_ID;
Reason : System.Tasking.Task_States)
is
+ pragma Unreferenced (Reason);
+
Result : Interfaces.C.int;
+
begin
pragma Assert (Self_ID = Self);
Timedout : out Boolean;
Yielded : out Boolean)
is
+ pragma Unreferenced (Reason);
+
Check_Time : constant Duration := Monotonic_Clock;
Abs_Time : Duration;
Request : aliased timespec;
Result : Interfaces.C.int;
+
begin
Timedout := True;
Yielded := False;
------------
procedure Wakeup (T : Task_ID; Reason : System.Tasking.Task_States) is
+ pragma Unreferenced (Reason);
+
Result : Interfaces.C.int;
begin
------------------
procedure Set_Priority
- (T : Task_ID;
- Prio : System.Any_Priority;
+ (T : Task_ID;
+ Prio : System.Any_Priority;
Loss_Of_Inheritance : Boolean := False)
is
+ pragma Unreferenced (Loss_Of_Inheritance);
+
Result : Interfaces.C.int;
Param : aliased struct_sched_param;
-- Check_Exit --
----------------
- -- Dummy versions. The only currently working versions is for solaris
- -- (native).
+ -- Dummy version
function Check_Exit (Self_ID : ST.Task_ID) return Boolean is
+ pragma Unreferenced (Self_ID);
+
begin
return True;
end Check_Exit;
--------------------
function Check_No_Locks (Self_ID : ST.Task_ID) return Boolean is
+ pragma Unreferenced (Self_ID);
+
begin
return True;
end Check_No_Locks;
function Suspend_Task
(T : ST.Task_ID;
- Thread_Self : Thread_Id) return Boolean is
+ Thread_Self : Thread_Id)
+ return Boolean
+ is
begin
if T.Common.LL.Thread /= Thread_Self then
return pthread_kill (T.Common.LL.Thread, SIGSTOP) = 0;
function Resume_Task
(T : ST.Task_ID;
- Thread_Self : Thread_Id) return Boolean is
+ Thread_Self : Thread_Id)
+ return Boolean
+ is
begin
if T.Common.LL.Thread /= Thread_Self then
return pthread_kill (T.Common.LL.Thread, SIGCONT) = 0;
pragma Assert (Result = 0 or else Result = ENOMEM);
Initialize_Lock (Single_RTS_Lock'Access, RTS_Lock_Level);
+
-- Initialize the global RTS lock
Specific.Initialize (Environment_Task);
begin
declare
Result : Interfaces.C.int;
+
begin
-- Mask Environment task for all signals. The original mask of the
-- Environment task will be recovered by Interrupt_Server task
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (VxWorks version M68K) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 1.0 / 60.0;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := False;
Denorm : constant Boolean := True;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (GNU-Linux/x86 Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := True;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
ZCX_By_Default : constant Boolean := False;
GCC_ZCX_Support : constant Boolean := False;
Front_End_ZCX_Support : constant Boolean := False;
+
end System;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-1996, 1998 Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
------------------------------------------------------------------------------
+-- This is a NO tasking version of this package.
+
package body System.Interrupt_Management is
---------------------------
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
use System.Tasking;
use System.Parameters;
+ pragma Warnings (Off);
+ -- Turn off warnings since so many unreferenced parameters
+
-----------------
-- Stack_Guard --
-----------------
procedure Initialize_Lock
(Prio : System.Any_Priority;
- L : access Lock) is
+ L : access Lock)
+ is
begin
null;
end Initialize_Lock;
end Write_Lock;
procedure Write_Lock
- (L : access RTS_Lock; Global_Lock : Boolean := False)
+ (L : access RTS_Lock;
+ Global_Lock : Boolean := False)
is
begin
null;
function Suspend_Task
(T : ST.Task_ID;
- Thread_Self : OSI.Thread_Id) return Boolean is
+ Thread_Self : OSI.Thread_Id)
+ return Boolean
+ is
begin
return False;
end Suspend_Task;
function Resume_Task
(T : ST.Task_ID;
- Thread_Self : OSI.Thread_Id) return Boolean is
+ Thread_Self : OSI.Thread_Id)
+ return Boolean
+ is
begin
return False;
end Resume_Task;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-2001 Florida State University --
+-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
--------------------
procedure Attach_Handler
- (New_Handler : in Parameterless_Handler;
- Interrupt : in Interrupt_ID;
- Static : in Boolean := False)
+ (New_Handler : Parameterless_Handler;
+ Interrupt : Interrupt_ID;
+ Static : Boolean := False)
is
begin
Unimplemented;
--------------------
procedure Detach_Handler
- (Interrupt : in Interrupt_ID;
- Static : in Boolean := False)
+ (Interrupt : Interrupt_ID;
+ Static : Boolean := False)
is
begin
Unimplemented;
procedure Exchange_Handler
(Old_Handler : out Parameterless_Handler;
- New_Handler : in Parameterless_Handler;
- Interrupt : in Interrupt_ID;
- Static : in Boolean := False)
+ New_Handler : Parameterless_Handler;
+ Interrupt : Interrupt_ID;
+ Static : Boolean := False)
is
begin
Old_Handler := null;
(Object : access Dynamic_Interrupt_Protection)
return Boolean
is
+ pragma Warnings (Off, Object);
+
begin
Unimplemented;
return True;
(Object : access Static_Interrupt_Protection)
return Boolean
is
+ pragma Warnings (Off, Object);
+
begin
Unimplemented;
return True;
procedure Install_Handlers
(Object : access Static_Interrupt_Protection;
- New_Handlers : in New_Handler_Array)
+ New_Handlers : New_Handler_Array)
is
begin
Unimplemented;
-- B o d y --
-- (Version for x86) --
-- --
--- --
-- Copyright (C) 1999-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
Tick_Count : aliased QWORD;
begin
-
-- Read nr of clock ticks since boot time
+
Must_Not_Fail (DosTmrQueryTime (Tick_Count'Access));
return Tick_Count * Tick_Duration;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (OS/2 Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := True;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- B o d y --
-- (Dummy version) --
-- --
--- --
-- Copyright (C) 2000 Ada Core Technologies, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-2000 Florida State University --
+-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
S := time_t (Long_Long_Integer (D));
F := D - Duration (S);
- -- If F has negative value due to a round-up, adjust for positive F
- -- value.
+ -- If F has negative value due to round-up, adjust for positive F value
+
if F < 0.0 then S := S - 1; F := F + 1.0; end if;
- return timespec' (tv_sec => S,
- tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
+ return timespec'(tv_sec => S,
+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
end To_Timespec;
-
function To_Duration (TV : struct_timeval) return Duration is
begin
return Duration (TV.tv_sec) + Duration (TV.tv_usec) / 10#1#E6;
-- If F has negative value due to a round-up, adjust for positive F
-- value.
if F < 0.0 then S := S - 1; F := F + 1.0; end if;
- return struct_timeval' (tv_sec => S,
- tv_usec => int (Long_Long_Integer (F * 10#1#E6)));
+ return
+ struct_timeval'
+ (tv_sec => S,
+ tv_usec => int (Long_Long_Integer (F * 10#1#E6)));
end To_Timeval;
procedure pthread_init is
end pthread_init;
function Get_Stack_Base (thread : pthread_t) return Address is
+ pragma Warnings (Off, thread);
+
begin
return Null_Address;
end Get_Stack_Base;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2003 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
Max_Interrupt : constant := 31;
type Signal is new int range 0 .. Max_Interrupt;
+ SIGXCPU : constant := 0; -- XCPU
SIGHUP : constant := 1; -- hangup
SIGINT : constant := 2; -- interrupt (rubout)
SIGQUIT : constant := 3; -- quit (ASCD FS)
SIGTERM : constant := 15; -- software termination signal from kill
SIGUSR1 : constant := 16; -- user defined signal 1
SIGUSR2 : constant := 17; -- user defined signal 2
- SIGXCPU : constant := 0; -- XCPU
SIGADAABORT : constant := SIGABRT;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-2001 Florida State University --
+-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- If F has negative value due to a round-up, adjust for positive F
-- value.
if F < 0.0 then S := S - 1; F := F + 1.0; end if;
- return timespec' (tv_sec => S,
- tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
+ return timespec'(tv_sec => S,
+ tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
end To_Timespec;
function To_Duration (TV : struct_timeval) return Duration is
-- If F has negative value due to a round-up, adjust for positive F
-- value.
if F < 0.0 then S := S - 1; F := F + 1.0; end if;
- return struct_timeval' (tv_sec => S,
- tv_usec => long (Long_Long_Integer (F * 10#1#E6)));
+ return
+ struct_timeval'
+ (tv_sec => S,
+ tv_usec => long (Long_Long_Integer (F * 10#1#E6)));
end To_Timeval;
procedure pthread_init is
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Following signals should not be disturbed.
-- See c-posix-signals.c in FLORIST
- Reserved : constant Signal_Set := (SIGKILL, SIGSTOP, SIGWAITING, SIGCANCEL);
+ Reserved : constant Signal_Set :=
+ (SIGKILL, SIGSTOP, SIGWAITING, SIGCANCEL, SIGTRAP, SIGSEGV);
type sigset_t is private;
(clock_id : clockid_t; tp : access timespec) return int;
pragma Import (C, clock_gettime, "clock_gettime");
+ function clock_getres
+ (clock_id : clockid_t; res : access timespec) return int;
+ pragma Import (C, clock_getres, "clock_getres");
+
function To_Duration (TS : timespec) return Duration;
pragma Inline (To_Duration);
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (SUN Solaris Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := True;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
Stack_Check_Default : constant Boolean := False;
Stack_Check_Probes : constant Boolean := True;
Use_Ada_Main_Program_Name : constant Boolean := False;
- ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
+ ZCX_By_Default : constant Boolean := True;
+ GCC_ZCX_Support : constant Boolean := True;
Front_End_ZCX_Support : constant Boolean := False;
end System;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
function New_Unbound_Thread_Attributes return Task_Info_Type is
begin
- return new Thread_Attributes' (False, False);
+ return new Thread_Attributes'(False, False);
end New_Unbound_Thread_Attributes;
function New_Bound_Thread_Attributes return Task_Info_Type is
begin
- return new Thread_Attributes' (False, True);
+ return new Thread_Attributes'(False, True);
end New_Bound_Thread_Attributes;
function New_Bound_Thread_Attributes (CPU : CPU_Number)
return Task_Info_Type is
begin
- return new Thread_Attributes' (True, True, CPU);
+ return new Thread_Attributes'(True, True, CPU);
end New_Bound_Thread_Attributes;
end System.Task_Info;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-2001, Florida State University --
+-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- covered by the GNU Public License. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. It is --
--- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
--- State University (http://www.gnat.com). --
+-- now maintained by Ada Core Technologies, Inc. (http://www.gnat.com). --
-- --
------------------------------------------------------------------------------
procedure Initialize_Interrupts is
Status : Cond_Value_Type;
+
begin
Sys_Crembx
(Status => Status,
Flags => AGN_M_WRITEONLY);
pragma Assert ((Status and 1) = 1);
-
end Initialize_Interrupts;
begin
-- Unused
+
Abort_Task_Interrupt := Interrupt_ID_0;
Reserve := Reserve or Keep_Unmasked or Keep_Masked;
Reserve (Interrupt_ID_0) := True;
Initialize_Interrupts;
-
end System.Interrupt_Management;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- B o d y --
-- (Version for Alpha/VMS) --
-- --
--- --
-- Copyright (C) 2001-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1991-2000 Florida State University --
+-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- tasking operations. It causes infinite loops and other problems.
with Interfaces.C; use Interfaces.C;
+with System.Machine_Code; use System.Machine_Code;
+
package body System.OS_Interface is
+ ------------------
+ -- pthread_self --
+ ------------------
+
+ function pthread_self return pthread_t is
+ use ASCII;
+ Self : pthread_t;
+
+ begin
+ Asm ("call_pal 0x9e" & LF & HT &
+ "bis $31, $0, %0",
+ Outputs => pthread_t'Asm_Output ("=r", Self),
+ Clobber => "$0");
+ return Self;
+ end pthread_self;
+
+ -----------------
+ -- sched_yield --
+ -----------------
+
function sched_yield return int is
procedure sched_yield_base;
pragma Import (C, sched_yield_base, "PTHREAD_YIELD_NP");
+
begin
sched_yield_base;
return 0;
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1991-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1991-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
pragma Import (C, pthread_exit, "PTHREAD_EXIT");
function pthread_self return pthread_t;
- pragma Import (C, pthread_self, "PTHREAD_SELF");
--------------------------
-- POSIX.1c Section 17 --
type pthread_key_t is new unsigned;
+ pragma Inline (pthread_self);
+
end System.OS_Interface;
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
---------------
-- Sys_Hiber --
---------------
- --
+
-- Hibernate (until woken up)
- --
+
-- status = returned status
- --
procedure Sys_Hiber (Status : out Cond_Value_Type);
-- VMS system call to hibernate the current process
-----------------
function To_Duration (T : OS_Time; Mode : Integer) return Duration is
+ pragma Warnings (Off, Mode);
begin
return Duration'Fixed_Value (T - VMS_Epoch_Offset) * 100;
end To_Duration;
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1998-2003 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Calendar.Time is positive.
-- See Ada.Calendar.Delays for more information on VMS Time.
- Max_Sensible_Delay : constant Duration := 183 * 24 * 60 * 60.0;
+ Max_Sensible_Delay : constant Duration :=
+ Duration'Min (183 * 24 * 60 * 60.0,
+ Duration'Last);
-- Max of half a year delay, needed to prevent exceptions for large
-- delay values. It seems unlikely that any test will notice this
-- restriction, except in the case of applications setting the clock at
-- at run time (see s-tastim.adb). Also note that a larger value might
-- cause problems (e.g overflow, or more likely OS limitation in the
- -- primitives used).
+ -- primitives used). In the case where half a year is too long (which
+ -- occurs in high integrity mode with 32-bit words, and possibly on
+ -- some specific ports of GNAT), Duration'Last is used instead.
function OS_Clock return OS_Time;
-- Returns "absolute" time, represented as an offset
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- when Size < Minimum_Stack_Size, return Minimum_Stack_Size
-- otherwise return given Size
+ Default_Env_Stack_Size : constant Size_Type := 8_192_000;
+ -- Assumed size of the environment task, if no other information
+ -- is available. This value is used when stack checking is
+ -- enabled and no GNAT_STACK_LIMIT environment variable is set.
+
Stack_Grows_Down : constant Boolean := True;
-- This constant indicates whether the stack grows up (False) or
-- down (True) in memory as functions are called. It is used for
-- S p e c --
-- (OpenVMS DEC Threads Version) --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
- Tick : constant := 1.0;
+ Tick : constant := 0.01;
-- Storage-related Declarations
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
Denorm : constant Boolean := False;
+ Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Functions_Return_By_DSP : constant Boolean := False;
- Long_Shifts_Inlined : constant Boolean := True;
High_Integrity_Mode : constant Boolean := False;
+ Long_Shifts_Inlined : constant Boolean := False;
Machine_Overflows : constant Boolean := False;
Machine_Rounds : constant Boolean := True;
OpenVMS : constant Boolean := True;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
--- S Y S T E M . T A S K _ P R I M I T I V E S . O P E R A T I O N S --
--- . D E C --
+-- SYSTEM.TASK_PRIMITIVES.OPERATIONS.DEC --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 2000 Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2000 Free Software Foundation, Inc. --
-- (Version for Alpha OpenVMS) --
-- --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 2001 Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
return System.Address
is
Result : System.Address;
- Actual_Size : size_t := Size;
+ Actual_Size : constant size_t := Size;
Old_Size : size_t;
begin
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1997-2001, Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2003, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- (See Operations.Clock)
type LARGE_INTEGER is delta 1.0 range -2.0**63 .. 2.0**63 - 1.0;
- for LARGE_INTEGER'Alignment use 4;
subtype PSZ is Interfaces.C.Strings.chars_ptr;
subtype PCHAR is Interfaces.C.Strings.chars_ptr;
type Thread_Body is access
function (arg : System.Address) return System.Address;
+ procedure SwitchToThread;
+ pragma Import (Stdcall, SwitchToThread, "SwitchToThread");
+
-----------------------
-- Critical sections --
-----------------------
dwPriorityClass : DWORD) return BOOL;
pragma Import (Stdcall, SetPriorityClass, "SetPriorityClass");
+ procedure SetThreadPriorityBoost
+ (hThread : HANDLE;
+ DisablePriorityBoost : BOOL);
+ pragma Import (Stdcall, SetThreadPriorityBoost, "SetThreadPriorityBoost");
+
Normal_Priority_Class : constant := 16#00000020#;
Idle_Priority_Class : constant := 16#00000040#;
High_Priority_Class : constant := 16#00000080#;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (NT Version) --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (VXWORKS Version PPC) --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002 Free Software Foundation --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (VXWORKS Version Alpha) --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1998, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2002, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2000, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- B o d y --
-- (Machine Version for x86) --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (Machine Version for x86) --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
+2003-04-23 Geert Bosch <bosch@gnat.com>
+
+ * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
+ 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
+ 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
+ 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
+ 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
+ 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
+ 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
+ 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
+ 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
+ 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
+ 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
+ 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
+ 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
+ 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
+ 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
+ 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
+ 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
+ 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
+ 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+ 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+ 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
+ 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
+ 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
+ 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
+ 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
+ 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
+ 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
+ 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
+ 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
+ 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
+ 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
+ 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
+ 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
+ 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
+ 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
+ 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
+ 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
+ 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
+ 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
+ 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
+ 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
+ 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
+ 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
+ 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
+ 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
+ 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
+ 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
+ a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
+ a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
+ a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
+ a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
+ a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
+ a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
+ a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
+ a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
+ a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
+ a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
+ a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
+ a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
+ a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
+ a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
+ a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
+ a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
+ a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
+ a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
+ a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
+ a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
+ a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
+ a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
+ a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
+ a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
+ a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
+ a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
+ a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
+ a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
+ a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
+ a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
+ a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
+ a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
+ a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
+ a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
+ a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
+ a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
+ a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
+ a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
+ a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
+ a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
+ a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
+ a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
+ a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
+ a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
+ a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
+ a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
+ a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
+ a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
+ a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
+ a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
+ a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
+ a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
+ a-wttest.ads, ada-tree.h, ada.ads, ada.h,
+ adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
+ ali.adb, ali.ads, alloc.ads, argv.c,
+ atree.adb, atree.ads, atree.h, aux-io.c,
+ back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
+ binde.adb, binde.ads, binderr.adb, binderr.ads,
+ bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
+ butil.adb, butil.ads, cal.c, calendar.ads,
+ casing.adb, casing.ads, ceinfo.adb, checks.adb,
+ checks.ads, cio.c, comperr.adb, comperr.ads,
+ config-lang.in, csets.adb, csets.ads, csinfo.adb,
+ cstand.adb, cstand.ads, cuintp.c, debug.adb,
+ debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
+ dec-io.ads, dec.ads, deftarg.c, directio.ads,
+ einfo.adb, einfo.ads, elists.adb, elists.ads,
+ elists.h, errno.c, errout.adb, errout.ads,
+ eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
+ exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
+ exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
+ exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
+ exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
+ exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+ exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
+ exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
+ exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
+ exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+ exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
+ exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
+ exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
+ exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+ exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
+ fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
+ fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
+ freeze.adb, freeze.ads, frontend.adb, frontend.ads,
+ g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
+ g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
+ g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
+ g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
+ g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
+ g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
+ g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
+ g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
+ g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
+ g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
+ g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
+ g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
+ g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
+ g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
+ g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
+ g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
+ g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
+ g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
+ g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
+ g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
+ g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
+ g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
+ get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
+ gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
+ gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
+ gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+ gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
+ gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
+ gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
+ gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
+ hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
+ i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
+ i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
+ i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
+ i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
+ i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
+ i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
+ inline.adb, inline.ads, interfac.ads, ioexcept.ads,
+ itypes.adb, itypes.ads, krunch.adb, krunch.ads,
+ layout.adb, layout.ads, lib-list.adb, lib-load.adb,
+ lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
+ lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
+ lib.adb, lib.ads, live.adb, live.ads,
+ machcode.ads, make.adb, make.ads, makeusg.adb,
+ makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
+ mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
+ memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
+ mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+ mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
+ mlib.ads, namet.adb, namet.ads, nlists.adb,
+ nlists.ads, opt.adb, opt.ads, osint-b.adb,
+ osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
+ osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
+ osint.ads, output.adb, output.ads, par-ch10.adb,
+ par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
+ par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
+ par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+ par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
+ par-tchk.adb, par-util.adb, par.adb, par.ads,
+ prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
+ prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
+ prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
+ prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
+ prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
+ prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
+ prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
+ prj.adb, prj.ads, repinfo.adb, repinfo.ads,
+ restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
+ rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
+ s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
+ s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
+ s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
+ s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
+ s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
+ s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
+ s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
+ s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
+ s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
+ s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
+ s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
+ s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
+ s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
+ s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
+ s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
+ s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
+ s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
+ s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
+ s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
+ s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
+ s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
+ s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
+ s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
+ s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
+ s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
+ s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
+ s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
+ s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
+ s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
+ s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
+ s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
+ s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
+ s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
+ s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
+ s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
+ s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
+ s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
+ s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
+ s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
+ s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
+ s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
+ s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
+ s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
+ s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
+ s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
+ s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
+ s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
+ s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
+ s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
+ s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
+ s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
+ s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
+ s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
+ s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
+ s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
+ s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
+ s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
+ s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
+ s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
+ s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
+ s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
+ s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
+ s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
+ s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
+ s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
+ s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
+ s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
+ s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
+ s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
+ s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+ s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
+ s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
+ s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
+ s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
+ s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
+ s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
+ s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
+ s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
+ s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
+ s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
+ s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
+ s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
+ s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
+ s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
+ s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
+ s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
+ s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
+ s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
+ s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
+ s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
+ s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
+ s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
+ s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
+ scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
+ sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
+ sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
+ sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
+ sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
+ sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
+ sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
+ sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+ sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
+ sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
+ sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
+ sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
+ sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+ sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
+ sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
+ sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
+ sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
+ sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
+ sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
+ sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
+ sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
+ snames.ads, sprint.adb, sprint.ads, stand.adb,
+ stand.ads, stringt.adb, stringt.ads, style.adb,
+ style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
+ switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+ switch-m.ads, switch.adb, switch.ads, system.ads,
+ table.adb, table.ads, targparm.adb, targparm.ads,
+ tbuild.adb, tbuild.ads, text_io.ads, trans.c,
+ tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
+ tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
+ ttypef.ads, ttypes.ads, types.adb, types.ads,
+ uintp.adb, uintp.ads, uname.adb, uname.ads,
+ unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
+ usage.adb, usage.ads, validsw.adb, validsw.ads,
+ widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
+ xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
+ xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
+ formatting and other trivial changes from ACT.
+
2003-04-12 Zack Weinberg <zack@codesourcery.com>
* gigi.h, utils2.c (build_constructor):
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- B o d y --
-- (dummy version where polling is not used) --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc.
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- S p e c --
-- (C Library Version, non-x86) --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2002, Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
--- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 2, or (at your option) any later ver- --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1993-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
* *
* C Header File *
* *
- * *
- * Copyright (C) 1992-2001 Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
/* Nonzero if this decl is a PARM_DECL for an Ada array being passed to a
foreign convention subprogram. */
-#define DECL_BY_COMPONENT_PTR_P(NODE) DECL_LANG_FLAG_2 (NODE)
+#define DECL_BY_COMPONENT_PTR_P(NODE) DECL_LANG_FLAG_2 (PARM_DECL_CHECK (NODE))
/* Nonzero in a FIELD_DECL that is a dummy built for some internal reason. */
#define DECL_INTERNAL_P(NODE) DECL_LANG_FLAG_3 (FIELD_DECL_CHECK (NODE))
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
* *
* C Header File *
* *
- * *
- * Copyright (C) 1992-2002 Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
SUBTYPE macro defined above. */
#define IN(VALUE,SUBTYPE) \
- (((VALUE) >= (SUBTYPE) CAT (SUBTYPE,__First)) && \
- ((VALUE) <= (SUBTYPE) CAT (SUBTYPE,__Last)))
+ (((VALUE) >= (SUBTYPE) CAT (SUBTYPE,__First)) \
+ && ((VALUE) <= (SUBTYPE) CAT (SUBTYPE,__Last)))
#endif
* *
* G N A T D E C O *
* *
- * *
* C Implementation File *
* *
* Copyright (C) 2001-2002, Free Software Foundation, Inc. *
* *
* G N A T D E C O *
* *
- * *
* C Header File *
* *
* Copyright (C) 2001-2002, Free Software Foundation, Inc. *
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
* *
* C Implementation File *
* *
- * *
- * Copyright (C) 1992-2001 Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2002 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
const char **gnat_argv = (const char **) 0;
const char **gnat_envp = (const char **) 0;
+#ifdef _WIN32
+/* Note that on Windows environment the environ point to a buffer that could
+ be reallocated if needed. It means that gnat_envp needs to be updated
+ before using gnat_envp to point to the right environment space */
+#include <stdlib.h>
+/* for the environ variable definition */
+#define gnat_envp (environ)
+#endif
+
int
__gnat_arg_count ()
{
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* C Header File *
* *
- * *
* Copyright (C) 1992-2001, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* *
* C Implementation File *
* *
- * *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
while Next_Arg < save_argc loop
Look_At_Arg : declare
- Argv_Ptr : constant BSP := save_argv (Next_Arg);
- Argv_Len : constant Nat := Len_Arg (Next_Arg);
- Argv : String := Argv_Ptr (1 .. Natural (Argv_Len));
+ Argv_Ptr : constant BSP := save_argv (Next_Arg);
+ Argv_Len : constant Nat := Len_Arg (Next_Arg);
+ Argv : constant String := Argv_Ptr (1 .. Natural (Argv_Len));
begin
-- If the previous switch has set the Output_File_Name_Present
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
procedure Error_Msg_Output (Msg : String; Info : Boolean) is
Use_Second_Name : Boolean := False;
+ Use_Second_Nat : Boolean := False;
begin
if Warnings_Detected + Errors_Detected > Maximum_Errors then
Write_Str ("error: ");
end if;
- for I in Msg'Range loop
- if Msg (I) = '%' then
+ for J in Msg'Range loop
+ if Msg (J) = '%' then
if Use_Second_Name then
Get_Name_String (Error_Msg_Name_2);
Write_Str (Name_Buffer (1 .. Name_Len));
Write_Char ('"');
- elsif Msg (I) = '&' then
+ elsif Msg (J) = '&' then
Write_Char ('"');
if Use_Second_Name then
Write_Char ('"');
- elsif Msg (I) /= '?' then
- Write_Char (Msg (I));
+ elsif Msg (J) = '#' then
+ if Use_Second_Nat then
+ Write_Int (Error_Msg_Nat_2);
+ else
+ Use_Second_Nat := True;
+ Write_Int (Error_Msg_Nat_1);
+ end if;
+
+ elsif Msg (J) /= '?' then
+ Write_Char (Msg (J));
end if;
end loop;
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- which case it is similarly replaced by the name which is specified
-- by the Name_Id value stored in Error_Msg_Name_2.
+ -- Insertion character # (Pound: insert non-negative number in decimal)
+ -- The character # is replaced by the contents of Error_Msg_Nat_1
+ -- converted into an unsigned decimal string. A second # may appear
+ -- in a single message, in which case it is similarly replaced by
+ -- the value stored in Error_Msg_Nat_2.
+
-- Insertion character ? (Question mark: warning message)
-- The character ?, which must be the first character in the message
-- string, signals a warning message instead of an error message.
Error_Msg_Name_2 : Name_Id;
-- Name_Id values for % insertion characters in message
+ Error_Msg_Nat_1 : Nat;
+ Error_Msg_Nat_2 : Nat;
+ -- Integer values for # insertion characters in message
+
------------------------------
-- Error Output Subprograms --
------------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Line for -T switch
- Write_Str (" -Tn Set time slice value to n microseconds (n >= 0)");
+ Write_Str (" -Tn Set time slice value to n milliseconds (n >= 0)");
Write_Eol;
-- Line for -v switch
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* C Implementation File *
* *
- * *
- * Copyright (C) 1992-2001, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2002, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
#include <sys/time.h>
#endif
+#ifdef __MINGW32__
+#include "mingw32.h"
+#if STD_MINGW
+#include <winsock.h>
+#endif
+#endif
+
void
__gnat_timeval_to_duration (struct timeval *t, long *sec, long *usec)
{
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* C Implementation File *
* *
- * *
- * Copyright (C) 1992-2001 Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
#include "adaint.h"
-#ifdef __RT__
-
-/* Linux kernel modules don't have inputs, so don't define get_int.
- Simple output can be done via printk. */
-
-void
-put_char (c)
- int c;
-{
- printk ("%c", c);
-}
-
-void
-put_char_stderr (c)
- int c;
-{
- put_char (c);
-}
-
-void
-put_int (x)
- int x;
-{
- printk ("%d", x);
-}
-
-void
-put_int_stderr (int x)
-{
- put_int (x);
-}
-
-#else
-
/* Don't use macros on GNU/Linux since they cause incompatible changes between
glibc 2.0 and 2.1 */
#ifdef linux
{
fputc (c, stderr);
}
-#endif
#ifdef __vxworks
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Debug flag K disables this behavior (useful for debugging)
- if Total_Errors_Detected /= 0 and then not Debug_Flag_K then
+ if Serious_Errors_Detected /= 0 and then not Debug_Flag_K then
Errout.Finalize;
Set_Standard_Error;
End_Line;
Write_Str
- ("| concatenated together with no headers between files.");
+ ("| (concatenated together with no headers between files).");
End_Line;
end if;
Write_Eol;
Write_Line ("Please include these source files with error report");
+ Write_Line ("Note that list may not be accurate in some cases, ");
+ Write_Line ("so please double check that the problem can still ");
+ Write_Line ("be reproduced with the set of files listed.");
Write_Eol;
for U in Main_Unit .. Last_Unit loop
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
# Top level configure fragment for GNU Ada (GNAT).
-# Copyright (C) 1994-2001 Free Software Foundation, Inc.
+# Copyright (C) 1994-2003 Free Software Foundation, Inc.
#This file is part of GCC.
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* C Implementation File *
* *
- * *
- * Copyright (C) 1992-2001 Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* Body *
* *
- * *
- * Copyright (C) 1992-2001 Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* C Header File *
* *
- * *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* *
* C Implementation File *
* *
- * *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- using biased rounding (halfway cases round away from zero), round to
-- even, a floor operation or a ceiling operation depending on the setting
-- of Mode (see corresponding descriptions in Urealp).
+ --
-- In case rounding was specified, Rounding_Was_Biased is set True
-- if the input was indeed halfway between to machine numbers and
-- got rounded away from zero to an odd number.
Release_And_Save (Uintp_Mark, Fraction, Exponent);
end Calculate_Fraction_And_Exponent;
-
end Decompose_Int;
----------------
Z := Scaling (RT, Y, L);
return Z;
end if;
-
end Leading_Part;
-------------
return X - Eps_Denorm (RT);
elsif X > Ureal_0 then
+
-- Target does not support denorms, so predecessor is 0.0
+
return Ureal_0;
else
end if;
return Sign_X * IEEE_Rem;
-
end Remainder;
--------------
else
return Result;
end if;
-
end Rounding;
-------------
else
return X;
end if;
-
end Unbiased_Rounding;
end Eval_Fat;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* C Implementation File *
* *
- * *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- of an allocator. This procedure perform in-place aggregate
-- assignent in the newly allocated object.
-
end Exp_Aggr;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- know the type is right, it is sufficient to see if the
-- referenced entity is in a runtime routine.
- if Nkind (N) = N_Identifier
+ if Is_Entity_Name (N)
and then
Is_Predefined_File_Name (Unit_File_Name
(Get_Source_Unit (Entity (N))))
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- objects are always initialized using the initialization procedure for
-- the corresponding base type (see Base_Init_Proc function). A special
-- case arises for concurrent types. Such types do not themselves have an
- -- _init TSR, but initialization is required. The initialization procedure
+ -- _init TSS, but initialization is required. The initialization procedure
-- used is the one fot the corresponding record type (see Base_Init_Proc).
function Base_Init_Proc (Typ : Entity_Id) return Entity_Id;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
end if;
end Equivalent_Integer_Type;
-
-- Start of processing for Expand_Vax_Conversion;
begin
Rewrite (N,
Unchecked_Convert_To (T_Typ, Expr));
-
elsif Is_Fixed_Point_Type (S_Typ) then
-- convert the scaled integer value to the target type, and multiply
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- subtree with an expression. Once the substitution is completed, the
-- Expand routine must call Analyze on the resulting node to do any
-- required semantic analysis. Note that references to children copied
--- from the old tree won't be reanalyzed, since their Analyze flag is set.
+-- from the old tree won't be reanalyzed, since their Analyzed flag
+-- is set.
-- Nodes that are subexpressions (Nkind in N_Subexpr)
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
is
subtype Str8 is String (1 .. 8);
- Predef_Names : array (1 .. 11) of Str8 :=
+ Predef_Names : constant array (1 .. 11) of Str8 :=
("ada ", -- Ada
"calendar", -- Calendar
"interfac", -- Interfaces
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-1999 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Ada Core Technologies, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Ada Core Technologies, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 2000 Ada Core Technologies, Inc. --
+-- Copyright (C) 2000-2003 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2001 Ada Core Technologies, Inc.
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- however invalidate any other reasons why the executable file might be --
-- covered by the GNU Public License. --
-- --
--- Extensive contributions were provided by Ada Core Technologies Inc. --
+-- GNAT is maintained by Ada Core Technologies Inc (http://www.gnat.com). --
-- --
------------------------------------------------------------------------------
begin
if In_Expansion then
declare
- S : String := Expansion (Expansion_It);
+ S : constant String := Expansion (Expansion_It);
begin
if S'Length /= 0 then
GNAT.Directory_Operations.Open
(Iterator.Levels (1).Dir, Iterator.Dir_Name (1 .. Iterator.Start - 1));
- -- If in the current directory and the pattern starts with "./",
- -- drop the "./" from the pattern.
+ -- If in the current directory and the pattern starts with "./" or ".\",
+ -- drop the "./" or ".\" from the pattern.
if Directory = "" and then Pat'Length > 2
- and then Pat (Pat'First .. Pat'First + 1) = "./"
+ and then Pat (Pat'First) = '.'
+ and then Pat (Pat'First + 1) = Directory_Separator
then
First := Pat'First + 2;
end if;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 2001-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
subtype S2 is String (1 .. 2);
function To_S2 is new Unchecked_Conversion (Wide_Character, S2);
- VS : S2 := To_S2 (Value);
+ VS : constant S2 := To_S2 (Value);
begin
Update (C, VS (1));
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1997-1998 Ada Core Technologies, Inc. --
+-- Copyright (C) 1997-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
N : Integer_Address := To_Integer (A);
U : Natural := 0;
- H : array (Integer range 0 .. 15) of Character := "0123456789ABCDEF";
+ H : constant array (Integer range 0 .. 15) of Character :=
+ "0123456789ABCDEF";
begin
S (S'Last) := '#';
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 2000-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 2000-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 2000-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Trace_On --
--------------
- procedure Trace_On (Kind : in Trace_Kind) is
+ procedure Trace_On (Kind : Trace_Kind) is
begin
case Kind is
when Every_Raise =>
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 2000 Ada Core Technologies, Inc. --
+-- Copyright (C) 2000-2003 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- The following procedures can be used to activate and deactivate
-- traces identified by the above trace kind values.
- procedure Trace_On (Kind : in Trace_Kind);
+ procedure Trace_On (Kind : Trace_Kind);
-- Activate the traces denoted by Kind.
procedure Trace_Off;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-1999 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-1999 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-1999 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1995-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 1995-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Get_Line --
--------------
- procedure Get_Line (Item : in out String; Last : out Natural) is
+ procedure Get_Line (Item : out String; Last : out Natural) is
C : Character;
begin
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1995-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 1995-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
procedure Get (X : out Integer);
procedure Get (C : out Character);
- procedure Get_Line (Item : in out String; Last : out Natural);
+ procedure Get_Line (Item : out String; Last : out Natural);
-- These routines always read from Standard_Input
procedure Put (File : File_Type; X : Integer);
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1999-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 1999-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
case S (J) is
when Open_Paren =>
declare
- J_Start : Integer := J + 1;
+ J_Start : constant Integer := J + 1;
Next_Start : State_Index;
Next_End : State_Index;
when '|' =>
declare
- Start_Prev : State_Index := Start_State;
- End_Prev : State_Index := End_State;
+ Start_Prev : constant State_Index := Start_State;
+ End_Prev : constant State_Index := End_State;
+ Start_J : constant Integer := J + 1;
Start_Next : State_Index := 0;
End_Next : State_Index := 0;
- Start_J : Integer := J + 1;
begin
J := Next_Sub_Expression (J, End_Index);
-- Start of processing for Compile
begin
+ -- Special case for the empty string: it always matches, and the
+ -- following processing would fail on it.
+ if S = "" then
+ return (Ada.Finalization.Controlled with
+ R => new Regexp_Value'
+ (Alphabet_Size => 0,
+ Num_States => 1,
+ Map => (others => 0),
+ States => (others => (others => 1)),
+ Is_Final => (others => True),
+ Case_Sensitive => True));
+ end if;
+
if not Case_Sensitive then
GNAT.Case_Util.To_Lower (S);
end if;
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1998-1999 Ada Core Technologies, Inc. --
+-- Copyright (C) 1998-2003 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Compiles a regular expression S. If the syntax of the given
-- expression is invalid (does not match above grammar, Error_In_Regexp
-- is raised. If Glob is True, the pattern is considered as a 'globbing
- -- pattern', that is a pattern as given by the second grammar above
+ -- pattern', that is a pattern as given by the second grammar above.
+ -- As a special case, if Pattern is the empty string it will always
+ -- match.
function Match (S : String; R : Regexp) return Boolean;
-- True if S matches R, otherwise False. Raises Constraint_Error if
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1986 by University of Toronto. --
-- Copyright (C) 1996-2002 Ada Core Technologies, Inc. --
-- --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1986 by University of Toronto. --
-- Copyright (C) 1996-2001 Ada Core Technologies, Inc. --
-- --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1999 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1998 Ada Core Technologies, Inc. --
+-- Copyright (C) 1998-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
--------------------
function Reverse_String (Str : VString) return VString is
- Len : constant Natural := Length (Str);
+ Len : constant Natural := Length (Str);
+ Chars : constant String_Access := Get_String (Str);
Result : String (1 .. Len);
- Chars : String_Access := Get_String (Str);
begin
for J in 1 .. Len loop
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1999 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1998 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1998-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 1998-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
with System; use System;
with System.Memory; use System.Memory;
-with System.Address_To_Access_Conversions;
+
+with Unchecked_Conversion;
package body GNAT.Table is
-- in Max. Works correctly to do an initial allocation if the table
-- is currently null.
- package Table_Conversions is
- new System.Address_To_Access_Conversions (Big_Table_Type);
- -- Address and Access conversions for a Table object.
-
- function To_Address (Table : Table_Ptr) return Address;
- pragma Inline (To_Address);
- -- Returns the Address for the Table object.
-
- function To_Pointer (Table : Address) return Table_Ptr;
- pragma Inline (To_Pointer);
- -- Returns the Access pointer for the Table object.
+ function To_Address is new Unchecked_Conversion (Table_Ptr, Address);
+ function To_Pointer is new Unchecked_Conversion (Address, Table_Ptr);
--------------
-- Allocate --
----------
procedure Init is
- Old_Length : Integer := Length;
+ Old_Length : constant Integer := Length;
begin
Last_Val := Min - 1;
end if;
end Set_Last;
- ----------------
- -- To_Address --
- ----------------
-
- function To_Address (Table : Table_Ptr) return Address is
- begin
- return Table_Conversions.To_Address
- (Table_Conversions.Object_Pointer (Table));
- end To_Address;
-
- ----------------
- -- To_Pointer --
- ----------------
-
- function To_Pointer (Table : Address) return Table_Ptr is
- begin
- return Table_Ptr (Table_Conversions.To_Pointer (Table));
- end To_Pointer;
-
begin
Init;
end GNAT.Table;
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-1999 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1998-2001 Ada Core Technologies, Inc. --
+-- Copyright (C) 1998-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
pragma Inline (Unlock);
-- Releases the global lock, allowing another task to successfully
-- complete a Lock operation. Terminates the critical region.
-
+ --
-- The recommended protocol for using these two procedures is as
-- follows:
-
+ --
-- Locked_Processing : begin
-- Lock;
-- ...
-- Unlock;
-- raise;
-- end Locked_Processing;
-
+ --
-- This ensures that the lock is not left set if an exception is raised
-- explicitly or implicitly during the critical locked region.
-
+ --
-- Note on multiple calls to Lock: It is permissible to call Lock
-- more than once with no intervening Unlock from a single task,
-- and the lock will not be released until the corresponding number
-- of Unlock operations has been performed. For example:
-
+ --
-- GNAT.Task_Lock.Lock; -- acquires lock
-- GNAT.Task_Lock.Lock; -- no effect
-- GNAT.Task_Lock.Lock; -- no effect
-- GNAT.Task_Lock.Unlock; -- no effect
-- GNAT.Task_Lock.Unlock; -- no effect
-- GNAT.Task_Lock.Unlock; -- releases lock
-
+ --
-- However, as previously noted, the Task_Lock facility should only
-- be used for very local locks where the probability of conflict is
-- low, so usually this kind of nesting is not a good idea in any case.
-- In more complex locking situations, it is more appropriate to define
-- an appropriate protected type to provide the required locking.
+ --
+ -- It is an error to call Unlock when there has been no prior call to
+ -- Lock. The effect of such an erroneous call is undefined, and may
+ -- result in deadlock, or other malfunction of the run-time system.
end GNAT.Task_Lock;
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- is used to build a symbolic traceback.
--
-- In order to retrieve symbolic information, functions in this package will
--- read on disk all the debug information of the current executable and load
--- them in memory, causing a significant cpu and memory overhead.
+-- read on disk all the debug information of the executable file (found via
+-- Argument (0), so any path information needed to read the executable file
+-- need to be provided when launching the executable), and load then in
+-- memory, causing a significant cpu and memory overhead.
--
-- This package is not intended to be used within a shared library,
-- symbolic tracebacks are only supported for the main executable
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
end if;
end Width_From_Size;
+ -----------------------------
+ -- Get_Max_Unaligned_Field --
+ -----------------------------
+
+ function Get_Max_Unaligned_Field return Pos is
+ begin
+ return 64; -- Can be different on some targets (e.g., AAMP)
+ end Get_Max_Unaligned_Field;
+
end Get_Targ;
-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
------------------------------------------------------------------------------
-- This package provides an Import to the C functions which provide
--- values related to types on the target system. It is only needed for
+-- values related to types on the target system. It is only needed for
-- exp_dbug and the elaboration of ttypes.
--- NOTE: Any changes in this package must be reflected in jgettarg.ads!
+-- NOTE: Any changes in this package must be reflected in jgettarg.ads
+-- and aa_getta.ads!
-- Note that all these values return sizes of C types with corresponding
-- names. This allows GNAT to define the corresponding Ada types to have
function Get_Strict_Alignment return Nat;
pragma Import (C, Get_Strict_Alignment, "get_strict_alignment");
+ function Get_Max_Unaligned_Field return Pos;
+ -- Returns the maximum supported size in bits for a field that is
+ -- not aligned on a storage unit boundary.
+
function Width_From_Size (Size : Pos) return Pos;
function Digits_From_Size (Size : Pos) return Pos;
-- Calculate values for 'Width or 'Digits from 'Size
\input texinfo @c -*-texinfo-*-
@c %**start of header
+
@c oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
@c o
@c GNAT DOCUMENTATION o
@setfilename gnat-style.info
@settitle GNAT Coding Style
@dircategory Programming
-@direntry
+@direntry
* gnat-style: (gnat-style). GNAT Coding Style
@end direntry
@noindent
Most of GNAT is written in Ada using a consistent style to ensure
readability of the code. This document has been written to help
-maintain this consistent style, while having a large group of developers
+maintain this consistent style, while having a large group of developers
work on the compiler.
@noindent
see the GNU Coding Guidelines.
@noindent
-This document is structured after the Ada Reference manual.
-Those familiar with that document should be able to quickly
+This document is structured after the Ada Reference manual.
+Those familiar with that document should be able to quickly
lookup style rules for particular constructs.
@c -------------------------------------------------------------------------
@itemize @bullet
@item
The character set used should be plain 7-bit ASCII@.
-The only separators allowed are space and the end-of-line sequence.
-No other control character or format effector (such as HT, VT, FF)
+The only separators allowed are space and the end-of-line sequence.
+No other control character or format effector (such as HT, VT, FF)
should be used.
The normal end-of-line sequence is used, which may be LF, CR/LF or CR,
-depending on the host system. An optional SUB (16#1A#) may be present as the
+depending on the host system. An optional SUB (16#1A#) may be present as the
last character in the file on hosts using that character as file terminator.
@item
@itemize @bullet
@item
Identifiers will start with an upper case letter, and each letter following
-an underscore will be upper case. Short acronyms may be all upper case.
-All other letters are lower case.
+an underscore will be upper case. Short acronyms may be all upper case.
+All other letters are lower case.
An exception is for identifiers matching a foreign language. In particular,
we use all lower case where appropriate for C@.
@item
-Use underscores to separate words in an identifier.
+Use underscores to separate words in an identifier.
-@item Try to limit your use of abbreviations in identifiers.
+@item Try to limit your use of abbreviations in identifiers.
It is ok to make a few abbreviations, explain what they mean, and then
use them frequently, but don't use lots of obscure abbreviations. An
example is the @code{ALI} word which stands for Ada Library
@item
Don't use the variable @samp{I}, use @samp{J} instead, @samp{I} is too
easily mixed up with @samp{1} in some fonts. Similarly don't use the
-variable @samp{O}, which is too easily mixed up with @samp{0}.
+variable @samp{O}, which is too easily mixed up with the number @samp{0}.
@end itemize
@subsection Numeric Literals
Comment start with @samp{-- } (i.e.@: @samp{--} followed by two spaces).
The only exception to this rule (i.e.@: one space is tolerated) is when the
comment ends with @samp{ --}.
-It also accepted to have only one space between @samp{--} and the start
-of the comment when the comment is at the end of a line,
+It also accepted to have only one space between @samp{--} and the start
+of the comment when the comment is at the end of a line,
after some Ada code.
@item
@end smallexample
@item
-Declarations should be grouped in a logical order.
+Declarations should be grouped in a logical order.
Related groups of declarations may be preceded by a header comment.
@item
All local subprograms in a subprogram or package body should be declared
-before the first local subprogram body.
+before the first local subprogram body.
@item
Don't declare local entities that hide global entities.
@item
-Don't declare multiple variables in one declaration that spans lines.
+Don't declare multiple variables in one declaration that spans lines.
Start a new declaration on each line, instead.
@item
that give useful information instead.
@item
-Local names can be shorter, because they are used only within
+Local names can be shorter, because they are used only within
one context, where comments explain their purpose.
@end itemize
@itemize @bullet
@item
-Every operator must be surrounded by spaces, except for the
+Every operator must be surrounded by spaces, except for the
exponentiation operator.
@smallexample
When folding a long line, fold before an operator, not after.
@item
-Use parentheses where they make the intended order of evaluation clearer:
+Use parentheses where they clarify the intended association of operands
+with operators:
@smallexample
(A / B) * C
@end smallexample
@end smallexample
@item
-Conditions should use short-circuit forms (@samp{and then},
+Conditions should use short-circuit forms (@samp{and then},
@samp{or else}).
@item
begin
@end smallexample
-Note that the name in the header is preceded by a single space,
+Note that the name in the header is preceded by a single space,
not two spaces as for other comments.
@item
@item
If the declarations in a subprogram contain at least one nested
-subprogram body, then just before the of the enclosing subprogram
-@samp{begin}, there is a line:
+subprogram body, then just before the @samp{begin} of the enclosing
+subprogram, there is a line:
@smallexample
-- @r{Start of processing for @var{Enclosing_Subprogram}}
extension for a body or @samp{.ads} for a spec.
@item
-Unit names should be distinct when krunched to 8 characters
-(see @file{krunch.ads}) and the filenames should match the unit name,
+Unit names should be distinct when krunched to 8 characters
+(see @file{krunch.ads}) and the filenames should match the unit name,
except that they are all lower case.
@end itemize
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- covered by the GNU Public License. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
--- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
* *
* C Implementation File *
* *
- * *
* Copyright (C) 1992-2001 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (ASCII Version) --
-- --
--- --
-- Copyright (C) 1993-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1993-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1993-2000 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1993-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1993-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1993-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1993-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- B o d y --
-- (Version for IBM Mainframe Packed Decimal Format) --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (Version for IBM Mainframe Packed Decimal Format) --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999 - 2002 Ada Core Technologies, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2002, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001-2002, Ada Core Technologies, Inc --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001, Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc.
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/Or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2000 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-1998 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- B o d y --
-- (Dummy version) --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- B o d y --
-- (Dummy body for non-distributed case) --
-- --
--- --
-- Copyright (C) 1995-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2000 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- S Y S T E M . S C A L A R _ V A L U E S --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc.
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (Compiler Interface) --
-- --
--- --
-- Copyright (C) 1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (Compiler Interface) --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-1999, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1995-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1995-2002 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1991-2001 Florida State University --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1997, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1996-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1996-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2000, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1997-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1997 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2000-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- S p e c --
-- (Compiler Version) --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1999-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
here since GNU_RESULT may be a CONST_DECL. */
if (DECL_P (gnu_result)
&& (DECL_BY_REF_P (gnu_result)
- || DECL_BY_COMPONENT_PTR_P (gnu_result)))
+ || (TREE_CODE (gnu_result) == PARM_DECL
+ && DECL_BY_COMPONENT_PTR_P (gnu_result))))
{
int ro = DECL_POINTS_TO_READONLY_P (gnu_result);
- if (DECL_BY_COMPONENT_PTR_P (gnu_result))
+ if (TREE_CODE (gnu_result) == PARM_DECL
+ && DECL_BY_COMPONENT_PTR_P (gnu_result))
gnu_result = convert (build_pointer_type (gnu_result_type),
gnu_result);
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1999 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- S p e c --
-- --
--- --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT. In accordance with the copyright of that document, you can freely --
-- copy and modify this specification, provided that if you redistribute a --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992,1993,1994 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 2001-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1992-1998 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1998-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- S p e c --
-- --
--- --
-- Copyright (C) 1998-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
--- Copyright (C) 1992-2000 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2002 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- --
-- B o d y --
-- --
--- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc.
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --