a-taster.adb, [...]: Minor reformatting.
authorRobert Dewar <dewar@adacore.com>
Wed, 26 Mar 2008 07:35:19 +0000 (08:35 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 26 Mar 2008 07:35:19 +0000 (08:35 +0100)
2008-03-26  Robert Dewar  <dewar@adacore.com>

* a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
s-tasloc.adb: Minor reformatting.
Update comments.
Remove "used for" sections from comments.

From-SVN: r133546

106 files changed:
gcc/ada/a-caldel-vms.adb
gcc/ada/a-caldel.adb
gcc/ada/a-calend.adb
gcc/ada/a-dynpri.adb
gcc/ada/a-elchha.adb
gcc/ada/a-except-2005.adb
gcc/ada/a-except-2005.ads
gcc/ada/a-except.adb
gcc/ada/a-except.ads
gcc/ada/a-excpol-abort.adb
gcc/ada/a-interr.ads
gcc/ada/a-intnam-aix.ads
gcc/ada/a-intnam-darwin.ads
gcc/ada/a-intnam-freebsd.ads
gcc/ada/a-intnam-hpux.ads
gcc/ada/a-intnam-irix.ads
gcc/ada/a-intnam-linux.ads
gcc/ada/a-intnam-lynxos.ads
gcc/ada/a-intnam-mingw.ads
gcc/ada/a-intnam-solaris.ads
gcc/ada/a-intnam-tru64.ads
gcc/ada/a-intnam-vms.ads
gcc/ada/a-retide.adb
gcc/ada/a-rttiev.adb
gcc/ada/a-sytaco.adb
gcc/ada/a-sytaco.ads
gcc/ada/a-tasatt.adb
gcc/ada/a-taside.adb
gcc/ada/a-taster.adb
gcc/ada/a-textio.adb
gcc/ada/a-tigeau.ads
gcc/ada/a-ztinau.ads
gcc/ada/atree.adb
gcc/ada/s-gloloc.adb
gcc/ada/s-inmaop-posix.adb
gcc/ada/s-inmaop-vms.adb
gcc/ada/s-interr-dummy.adb
gcc/ada/s-interr-sigaction.adb
gcc/ada/s-interr-vms.adb
gcc/ada/s-interr-vxworks.adb
gcc/ada/s-interr.adb
gcc/ada/s-interr.ads
gcc/ada/s-intman-vms.ads
gcc/ada/s-intman-vxworks.ads
gcc/ada/s-intman.ads
gcc/ada/s-osinte-aix.ads
gcc/ada/s-osinte-darwin.ads
gcc/ada/s-osinte-dummy.ads
gcc/ada/s-osinte-freebsd.ads
gcc/ada/s-osinte-hpux-dce.ads
gcc/ada/s-osinte-hpux.ads
gcc/ada/s-osinte-irix.ads
gcc/ada/s-osinte-linux-hppa.ads
gcc/ada/s-osinte-linux.ads
gcc/ada/s-osinte-lynxos-3.ads
gcc/ada/s-osinte-lynxos.ads
gcc/ada/s-osinte-mingw.ads
gcc/ada/s-osinte-solaris-posix.ads
gcc/ada/s-osinte-solaris.ads
gcc/ada/s-osinte-tru64.ads
gcc/ada/s-osinte-vms.ads
gcc/ada/s-osinte-vxworks.ads
gcc/ada/s-osinte-vxworks6.ads
gcc/ada/s-osprim-vxworks.adb
gcc/ada/s-shasto.adb
gcc/ada/s-soflin.adb
gcc/ada/s-solita.adb
gcc/ada/s-taasde.adb
gcc/ada/s-taenca.adb
gcc/ada/s-taprob.adb
gcc/ada/s-taprop-dummy.adb
gcc/ada/s-taprop-hpux-dce.adb
gcc/ada/s-taprop-solaris.adb
gcc/ada/s-taprop-vms.adb
gcc/ada/s-taprop.ads
gcc/ada/s-tarest.adb
gcc/ada/s-tarest.ads
gcc/ada/s-tasini.adb
gcc/ada/s-taskin.adb
gcc/ada/s-taskin.ads
gcc/ada/s-tasloc.adb
gcc/ada/s-taspri-dummy.ads
gcc/ada/s-taspri-hpux-dce.ads
gcc/ada/s-taspri-lynxos.ads
gcc/ada/s-taspri-mingw.ads
gcc/ada/s-taspri-posix.ads
gcc/ada/s-taspri-solaris.ads
gcc/ada/s-taspri-tru64.ads
gcc/ada/s-taspri-vms.ads
gcc/ada/s-taspri-vxworks.ads
gcc/ada/s-tasque.adb
gcc/ada/s-tasren.adb
gcc/ada/s-tasren.ads
gcc/ada/s-tassta.adb
gcc/ada/s-tassta.ads
gcc/ada/s-tasuti.adb
gcc/ada/s-tataat.adb
gcc/ada/s-tataat.ads
gcc/ada/s-tpoben.adb
gcc/ada/s-tpoben.ads
gcc/ada/s-tpobop.adb
gcc/ada/s-tpobop.ads
gcc/ada/s-tposen.adb
gcc/ada/s-tposen.ads
gcc/ada/s-valrea.adb
gcc/ada/s-valuti.adb

index b58e17e39e6a4e6ea7288be199c01300a2f7269f..ed52533d081a513addd1dce32fbb5ad32b8b33c8 100644 (file)
@@ -7,7 +7,7 @@
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2005, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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 the Alpha/VMS version
 
 with System.OS_Primitives;
---  Used for Max_Sensible_Delay
-
 with System.Soft_Links;
---  Used for Timed_Delay
 
 package body Ada.Calendar.Delays is
 
index d2b701e815f9978e22b7f70e8f0ddf5964774b96..3410b6135fe1b601acda1d05c1cfee454f4e21c1 100644 (file)
@@ -7,7 +7,7 @@
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2006, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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- --
 ------------------------------------------------------------------------------
 
 with System.OS_Primitives;
---  Used for Delay_Modes
---           Max_Sensible_Delay
-
 with System.Soft_Links;
---  Used for Timed_Delay
-
 with System.Traces;
---  Used for Send_Trace_Info
-
 with System.Parameters;
---  used for Runtime_Traces
 
 package body Ada.Calendar.Delays is
 
index b897fa762ac7c49a0e9220c76623341e4fab6f92..1fe977d68a492b11aa3535997ca1d39a0bb84ed4 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -34,7 +34,6 @@
 with Ada.Unchecked_Conversion;
 
 with System.OS_Primitives;
---  used for Clock
 
 package body Ada.Calendar is
 
index 982c17f99b7cd064ff939c0a5b97440376f10b6a..5950cf82f9085af49d86e43091ded0e77487a956 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 ------------------------------------------------------------------------------
 
 with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Unlock
---           Set_Priority
---           Wakeup
---           Self
-
 with System.Tasking;
---  used for Task_Id
-
 with System.Parameters;
---  used for Single_Lock
-
 with System.Soft_Links;
---  use for Abort_Defer
---          Abort_Undefer
 
 with Ada.Unchecked_Conversion;
 
index 41ca1f57b41471a4a0a4cc0d6c57749b1afc795a..fc4f9621b172a95edd3d548957cac206e0adf67e 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2003-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2003-2008, 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- --
@@ -38,11 +38,7 @@ pragma Compiler_Unit;
 pragma Warnings (On);
 
 with System.Standard_Library; use System.Standard_Library;
---  Used for Adafinal
-
 with System.Soft_Links;
---  Used for Task_Termination_Handler
---           Task_Termination_NT
 
 procedure Ada.Exceptions.Last_Chance_Handler
   (Except : Exception_Occurrence)
index 0994d201402282219e43c4143868d322c05fe128..402a04cbe85000f291dcc37e037ebe3fc9a5d4d5 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 version is used for all Ada 2005 builds. It differs from a-except.ads
---  only with respect to the addition of Wide_[Wide]Exception_Name functions.
+--  This version of Ada.Exceptions fully supports both Ada 95 and Ada 2005.
+--  It is used in all situations except for the build of the compiler and
+--  other basic tools. For these latter builds, we use an Ada 95-only version.
 
 --  The reason for this splitting off of a separate version is that bootstrap
 --  compilers often will be used that do not support Ada 2005 features, and
 --  Ada.Exceptions is part of the compiler sources.
 
---  The base version of this unit Ada.Exceptions omits the Wide version of
---  Exception_Name and is used to build the compiler and other basic tools.
-
 pragma Style_Checks (All_Checks);
 --  No subprogram ordering check, due to logical grouping
 
index 62135090d99d52c3d9c2f0e2c53129b4dec6e6c6..6dae91ff467a25c619c6f96799a0e429f0b2be4f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 --
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  This version is used for all Ada 2005 builds. It differs from a-except.ads
---  only with respect to the addition of Wide_[Wide]Exception_Name functions.
---  The additional entities are marked with pragma Ada_05, so this extended
---  unit is also perfectly suitable for use in Ada 95 or Ada 83 mode.
+--  This version of Ada.Exceptions fully supports both Ada 95 and Ada 2005.
+--  It is used in all situations except for the build of the compiler and
+--  other basic tools. For these latter builds, we use an Ada 95-only version.
 
 --  The reason for this splitting off of a separate version is that bootstrap
 --  compilers often will be used that do not support Ada 2005 features, and
 --  Ada.Exceptions is part of the compiler sources.
 
---  The base version of this unit Ada.Exceptions omits the Wide version of
---  Exception_Name and is used to build the compiler and other basic tools.
-
 pragma Polling (Off);
 --  We must turn polling off for this unit, because otherwise we get
 --  elaboration circularities with ourself.
index 60f59952770966f2f4cd8da35f0a1c7d04dd70fa..a07bf294203d7e8d9cbade4ccbc7c02bcd4a3ccc 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
index f01d1769029d81e7902d071521d301d203bb38ff..a97ccb44032222f2e95b9da3f3f6608ed92784c6 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 --
index db04ec57e4d4b1703f5c0765d182b1b2db2073d9..dd5635bb8594ca2c3e110d37279a6a8b83476be1 100644 (file)
@@ -7,7 +7,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -45,7 +45,6 @@ pragma Warnings (Off);
 --  It is safe in the context of the run-time to violate the rules!
 
 with System.Soft_Links;
---  used for Check_Abort_Status
 
 pragma Warnings (On);
 
index 8c9c7212b6d17c804e4192ffa5953979bdf573f6..8ccbd886a7d1c65f6473288169b8c7cac2b30305 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 --
@@ -36,7 +36,6 @@
 ------------------------------------------------------------------------------
 
 with System.Interrupts;
---  used for Ada_Interrupt_ID
 
 package Ada.Interrupts is
 
index 12287066f61e92c4636b055ee4154090fcf9ec81..cf01fc0a79646e88f3f2d2a3b506952b82046e23 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
 --  supported by the local system.
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
    --  Beware that the mapping of names to signals may be many-to-one. There
-   --  may be aliases. Also, for all signal names that are not supported on the
-   --  current system the value of the corresponding constant will be zero.
+   --  may be aliases. Also, for all signal names that are not supported on
+   --  the current system the value of the corresponding constant will be zero.
 
    SIGHUP : constant Interrupt_ID :=
      System.OS_Interface.SIGHUP;      --  hangup
index 23d12f1de5045eacf558a9e761643d804cfaf20e..fbbb185835b21262640b4d0bdb4017938e03cb9e 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
@@ -45,7 +45,6 @@
 --  supported by the local system.
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
@@ -53,100 +52,100 @@ package Ada.Interrupts.Names is
    --  may be aliases. Also, for all signal names that are not supported on the
    --  current system the value of the corresponding constant will be zero.
 
-   SIGHUP : constant Interrupt_ID :=
+   SIGHUP    : constant Interrupt_ID :=
      System.OS_Interface.SIGHUP;      --  hangup
 
-   SIGINT : constant Interrupt_ID :=
+   SIGINT    : constant Interrupt_ID :=
      System.OS_Interface.SIGINT;      --  interrupt (rubout)
 
-   SIGQUIT : constant Interrupt_ID :=
+   SIGQUIT   : constant Interrupt_ID :=
      System.OS_Interface.SIGQUIT;     --  quit (ASCD FS)
 
-   SIGILL : constant Interrupt_ID :=
+   SIGILL    : constant Interrupt_ID :=
      System.OS_Interface.SIGILL;      --  illegal instruction (not reset)
 
-   SIGTRAP : constant Interrupt_ID :=
+   SIGTRAP   : constant Interrupt_ID :=
      System.OS_Interface.SIGTRAP;     --  trace trap (not reset)
 
-   SIGIOT : constant Interrupt_ID :=
+   SIGIOT    : constant Interrupt_ID :=
      System.OS_Interface.SIGIOT;      --  IOT instruction
 
-   SIGABRT : constant Interrupt_ID := --  used by abort,
+   SIGABRT   : constant Interrupt_ID := --  used by abort,
      System.OS_Interface.SIGABRT;     --  replace SIGIOT in the  future
 
-   SIGEMT : constant Interrupt_ID :=
+   SIGEMT    : constant Interrupt_ID :=
      System.OS_Interface.SIGEMT;      --  EMT instruction
 
-   SIGFPE : constant Interrupt_ID :=
+   SIGFPE    : constant Interrupt_ID :=
      System.OS_Interface.SIGFPE;      --  floating point exception
 
-   SIGKILL : constant Interrupt_ID :=
+   SIGKILL   : constant Interrupt_ID :=
      System.OS_Interface.SIGKILL;     --  kill (cannot be caught or ignored)
 
-   SIGBUS : constant Interrupt_ID :=
+   SIGBUS    : constant Interrupt_ID :=
      System.OS_Interface.SIGBUS;      --  bus error
 
-   SIGSEGV : constant Interrupt_ID :=
+   SIGSEGV   : constant Interrupt_ID :=
      System.OS_Interface.SIGSEGV;     --  segmentation violation
 
-   SIGSYS : constant Interrupt_ID :=
+   SIGSYS    : constant Interrupt_ID :=
      System.OS_Interface.SIGSYS;      --  bad argument to system call
 
-   SIGPIPE : constant Interrupt_ID := --  write on a pipe with
+   SIGPIPE   : constant Interrupt_ID := --  write on a pipe with
      System.OS_Interface.SIGPIPE;     --  no one to read it
 
-   SIGALRM : constant Interrupt_ID :=
+   SIGALRM   : constant Interrupt_ID :=
      System.OS_Interface.SIGALRM;     --  alarm clock
 
-   SIGTERM : constant Interrupt_ID :=
+   SIGTERM   : constant Interrupt_ID :=
      System.OS_Interface.SIGTERM;     --  software termination signal from kill
 
-   SIGURG : constant Interrupt_ID :=
+   SIGURG    : constant Interrupt_ID :=
      System.OS_Interface.SIGURG;      --  urgent condition on IO channel
 
-   SIGSTOP : constant Interrupt_ID :=
+   SIGSTOP   : constant Interrupt_ID :=
      System.OS_Interface.SIGSTOP;     --  stop (cannot be caught or ignored)
 
-   SIGTSTP : constant Interrupt_ID :=
+   SIGTSTP   : constant Interrupt_ID :=
      System.OS_Interface.SIGTSTP;     --  user stop requested from tty
 
-   SIGCONT : constant Interrupt_ID :=
+   SIGCONT   : constant Interrupt_ID :=
      System.OS_Interface.SIGCONT;     --  stopped process has been continued
 
-   SIGCHLD : constant Interrupt_ID :=
+   SIGCHLD   : constant Interrupt_ID :=
      System.OS_Interface.SIGCHLD;     --  4.3BSD's/POSIX name for SIGCLD
 
-   SIGTTIN : constant Interrupt_ID :=
+   SIGTTIN   : constant Interrupt_ID :=
      System.OS_Interface.SIGTTIN;     --  background tty read attempted
 
-   SIGTTOU : constant Interrupt_ID :=
+   SIGTTOU   : constant Interrupt_ID :=
      System.OS_Interface.SIGTTOU;     --  background tty write attempted
 
-   SIGIO : constant Interrupt_ID :=   --  input/output possible,
+   SIGIO     : constant Interrupt_ID :=   --  input/output possible,
      System.OS_Interface.SIGIO;       --  SIGPOLL alias (Solaris)
 
-   SIGXCPU : constant Interrupt_ID :=
+   SIGXCPU   : constant Interrupt_ID :=
      System.OS_Interface.SIGXCPU;     --  CPU time limit exceeded
 
-   SIGXFSZ : constant Interrupt_ID :=
+   SIGXFSZ   : constant Interrupt_ID :=
      System.OS_Interface.SIGXFSZ;     --  filesize limit exceeded
 
    SIGVTALRM : constant Interrupt_ID :=
      System.OS_Interface.SIGVTALRM;   --  virtual timer expired
 
-   SIGPROF : constant Interrupt_ID :=
+   SIGPROF   : constant Interrupt_ID :=
      System.OS_Interface.SIGPROF;     --  profiling timer expired
 
-   SIGWINCH : constant Interrupt_ID :=
+   SIGWINCH  : constant Interrupt_ID :=
      System.OS_Interface.SIGWINCH;    --  window size change
 
-   SIGINFO : constant Interrupt_ID :=
+   SIGINFO   : constant Interrupt_ID :=
      System.OS_Interface.SIGINFO;      -- information request
 
-   SIGUSR1 : constant Interrupt_ID :=
+   SIGUSR1   : constant Interrupt_ID :=
      System.OS_Interface.SIGUSR1;     --  user defined signal 1
 
-   SIGUSR2 : constant Interrupt_ID :=
+   SIGUSR2   : constant Interrupt_ID :=
      System.OS_Interface.SIGUSR2;     --  user defined signal 2
 
 end Ada.Interrupts.Names;
index 329b0f6508ff9483ca24d6adfa212b99ecb853c9..fdae2170510a176353a5424e8668765ccfd4fc9f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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 the FreeBSD THREADS version of this package
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
+   --  Beware that the mapping of names to signals may be many-to-one. There
+   --  may be aliases. Also, for all signal names that are not supported on
+   --  the current system the value of the corresponding constant will be zero.
+
    SIGHUP : constant Interrupt_ID :=
      System.OS_Interface.SIGHUP;      --  hangup
 
@@ -128,9 +131,4 @@ package Ada.Interrupts.Names is
    SIGUSR2 : constant Interrupt_ID :=
      System.OS_Interface.SIGUSR2;     --  user defined signal 2
 
-   --  Beware that the mapping of names to signals may be
-   --  many-to-one.  There may be aliases.  Also, for all
-   --  signal names that are not supported on the current system
-   --  the value of the corresponding constant will be zero.
-
 end Ada.Interrupts.Names;
index 51eee895a9ee9c8d54d6a51fb412e5cb1d75f3ba..2f7b91963f8dfa5957ceba89f93509b16a4c9851 100644 (file)
@@ -6,8 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2005, AdaCore                     --
+--          Copyright (C) 1991-2008, 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- --
 --  supported by the local system.
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
-   --  Beware that the mapping of names to signals may be
-   --  many-to-one.  There may be aliases.  Also, for all
-   --  signal names that are not supported on the current system
-   --  the value of the corresponding constant will be zero.
+   --  Beware that the mapping of names to signals may be many-to-one. There
+   --  may be aliases. Also, for all signal names that are not supported on
+   --  the current system the value of the corresponding constant will be zero.
 
    SIGHUP : constant Interrupt_ID :=
      System.OS_Interface.SIGHUP;      --  hangup
index 43aed4788238dfd36eaed91a18c06bb0da109551..0e7c55919f83be6fa3a45ef3ed0fe163e5713128 100644 (file)
@@ -6,8 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2005, AdaCore                     --
+--          Copyright (C) 1991-2008, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNARL is free software; you can redistribute it  and/or modify it  under --
 -- terms  of  the  GNU  Library General Public License  as published by the --
 --  supported by the local system.
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
-   --  Beware that the mapping of names to signals may be
-   --  many-to-one.  There may be aliases.  Also, for all
-   --  signal names that are not supported on the current system
-   --  the value of the corresponding constant will be zero.
+   --  Beware that the mapping of names to signals may be many-to-one. There
+   --  may be aliases. Also, for all signal names that are not supported on
+   --  the current system the value of the corresponding constant will be zero.
 
    SIGHUP : constant Interrupt_ID :=
      System.OS_Interface.SIGHUP;      --  hangup
index 70fb471b0846d302804c9010d52c42c36b9beb94..5425eb32ae3e91b719ff60516c5843ac537203d8 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
@@ -51,7 +51,6 @@
 --  supported by the local system.
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
index 850eb2af03327eabfd48d0945388dcc9e93e71bf..0f4196261c7d15264a2434a300a72f97625ebce9 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
@@ -43,7 +43,6 @@
 --  SIGINT: made available for Ada handler
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
index a8c5e4ee11a05793e4d3a67bd1905365debc253d..d7a2de73f3a3f240476e404bfb64459cd500b23e 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1997-2008, 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- --
@@ -37,7 +37,6 @@
 --  by the local system.
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
@@ -45,22 +44,22 @@ package Ada.Interrupts.Names is
    --  may be aliases. Also, for all signal names that are not supported on the
    --  current system the value of the corresponding constant will be zero.
 
-   SIGINT : constant Interrupt_ID :=
-     System.OS_Interface.SIGINT;      --  interrupt (rubout)
+   SIGINT  : constant Interrupt_ID :=  -- interrupt (rubout)
+               System.OS_Interface.SIGINT;
 
-   SIGILL : constant Interrupt_ID :=
-     System.OS_Interface.SIGILL;      --  illegal instruction (not reset)
+   SIGILL  : constant Interrupt_ID :=  -- illegal instruction (not reset)
+               System.OS_Interface.SIGILL;
 
-   SIGABRT : constant Interrupt_ID := --  used by abort,
-     System.OS_Interface.SIGABRT;     --  replace SIGIOT in the  future
+   SIGABRT : constant Interrupt_ID :=  -- used by abort (use SIGIOT in future)
+               System.OS_Interface.SIGABRT;
 
-   SIGFPE : constant Interrupt_ID :=
-     System.OS_Interface.SIGFPE;      --  floating point exception
+   SIGFPE  : constant Interrupt_ID :=  -- floating point exception
+               System.OS_Interface.SIGFPE;
 
-   SIGSEGV : constant Interrupt_ID :=
-     System.OS_Interface.SIGSEGV;     --  segmentation violation
+   SIGSEGV : constant Interrupt_ID :=  -- segmentation violation
+               System.OS_Interface.SIGSEGV;
 
-   SIGTERM : constant Interrupt_ID :=
-     System.OS_Interface.SIGTERM;     --  software termination signal from kill
+   SIGTERM : constant Interrupt_ID :=  -- software termination signal from kill
+               System.OS_Interface.SIGTERM;
 
 end Ada.Interrupts.Names;
index 6842d68f9005c290d7ec3fbb85ce0635dcb31f08..f14f7624f2733f30c165f91476d1cf3738153b5f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
@@ -48,7 +48,6 @@
 --  SIGINT: made available for Ada handlers
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
index 8b6a838c101e4182b239a85edb60ba2ff021cf92..ec7c9078f5d131495ac2f032deca3413d6fb0375 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
@@ -43,7 +43,6 @@
 --  SIGINT: made available for Ada handler
 
 with System.OS_Interface;
---  used for names of interrupts
 
 package Ada.Interrupts.Names is
 
index 3b745d17ccbde2ff2c7b9dc56655ac5331dde897..8cfe0ba63aed634964654890cad00de9951d17e1 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
@@ -37,6 +37,7 @@
 --  supported by the local system.
 
 with System.OS_Interface;
+
 package Ada.Interrupts.Names is
 
    package OS renames System.OS_Interface;
index f6ffe7e3d718e32fbc46fbfdb7346c1ae2b3b6fe..42d2d173d533e0e89f6ac3ffaf832ad9d54e726f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2006, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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- --
 ------------------------------------------------------------------------------
 
 with Ada.Exceptions;
---  Used for Raise_Exception
 
 with System.Tasking;
---  Used for Task_Id
---           Initialize
-
 with System.Task_Primitives.Operations;
---  Used for Timed_Delay
---           Self
 
 package body Ada.Real_Time.Delays is
 
index f8cd699497a4af6100d633d869ab62910905a563..7031dfbc7c3407d369005dd46f2bb61757507be0 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---           Copyright (C) 2005-2006, Free Software Foundation, Inc.        --
+--           Copyright (C) 2005-2008, 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- --
@@ -34,7 +34,6 @@
 with System.Task_Primitives.Operations;
 with System.Tasking.Utilities;
 with System.Soft_Links;
---  used for Abort_Defer/Undefer
 
 with Ada.Containers.Doubly_Linked_Lists;
 pragma Elaborate_All (Ada.Containers.Doubly_Linked_Lists);
@@ -46,7 +45,6 @@ pragma Elaborate_All (Ada.Containers.Doubly_Linked_Lists);
 package body Ada.Real_Time.Timing_Events is
 
    use System.Task_Primitives.Operations;
-   --  for Write_Lock and Unlock
 
    package SSL renames System.Soft_Links;
 
index 3d0aaaa8c3bb9d5f832b3057e4f9db13618e1398..cf4d115cc1477f5d3ede48b2d0cb59f63defe23a 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 System.Tasking;
---  Used for Detect_Blocking
---           Self
-
 with Ada.Exceptions;
---  Used for Raise_Exception
 
+with System.Tasking;
 with System.Task_Primitives.Operations;
---  Used for Initialize
---           Finalize
---           Current_State
---           Set_False
---           Set_True
---           Suspend_Until_True
 
 package body Ada.Synchronous_Task_Control is
 
index 96480cf26e84b5668cd38f2c4b9f6660bbd14941..db102f679b3f57be4ea0aae51cb77ae1aac1a2ad 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 --
 ------------------------------------------------------------------------------
 
 with System.Task_Primitives;
---  Used for Suspension_Object
 
 with Ada.Finalization;
---  Used for Limited_Controlled
 
 package Ada.Synchronous_Task_Control is
    pragma Preelaborate_05;
index cc6977fd8c03d9f06fd45532847d4260254f0695..0140df956d4ae4024d828ca4f2a7790eca5560ec 100644 (file)
@@ -7,7 +7,7 @@
 --                                 B o d y                                  --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2007, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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- --
 --  instantiated from within a local context.
 
 with System.Error_Reporting;
---  Used for Shutdown;
-
 with System.Storage_Elements;
---  Used for Integer_Address
-
 with System.Task_Primitives.Operations;
---  Used for Write_Lock
---           Unlock
---           Lock/Unlock_RTS
-
 with System.Tasking;
---  Used for Access_Address
---           Task_Id
---           Direct_Index_Vector
---           Direct_Index
-
 with System.Tasking.Initialization;
---  Used for Defer_Abort
---           Undefer_Abort
---           Initialize_Attributes_Link
---           Finalize_Attributes_Link
-
 with System.Tasking.Task_Attributes;
---  Used for Access_Node
---           Access_Dummy_Wrapper
---           Deallocator
---           Instance
---           Node
---           Access_Instance
 
 with Ada.Exceptions;
---  Used for Raise_Exception
-
 with Ada.Unchecked_Conversion;
 with Ada.Unchecked_Deallocation;
 
index 005d961938764decbaf19bdca58933a8e3a949ed..e9431d1649932997d92128a228e5f9bb8a3d72b8 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -43,7 +43,6 @@ pragma Warnings (Off);
 --  It is safe in the context of the run-time to violate the rules!
 
 with System.Tasking.Utilities;
---  Used for Abort_Tasks
 
 pragma Warnings (On);
 
index aa06c95cae8bf536f71d2a6adeaada20286a87c0..1a1e6492575283c0bc347d26293637c034403ccc 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2005-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2005-2008, 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 System.Tasking;
---  used for Task_Id
-
 with System.Task_Primitives.Operations;
---  used for Self
---           Write_Lock
---           Unlock
---           Lock_RTS
---           Unlock_RTS
-
 with System.Parameters;
---  used for Single_Lock
-
 with System.Soft_Links;
---  use for Abort_Defer
---          Abort_Undefer
 
 with Ada.Unchecked_Conversion;
 
index 3711ab05b380578c0086c49207385e7b3b1e0bdd..050e71d500ce2726427d09f345103e97c72acedc 100644 (file)
@@ -1037,7 +1037,7 @@ package body Ada.Text_IO is
          Item := ASCII.NUL;
 
       --  If we are before an upper half character just return it (this can
-      --  happen if there are two calls to Look_Ahead in a row.
+      --  happen if there are two calls to Look_Ahead in a row).
 
       elsif File.Before_Upper_Half_Character then
          End_Of_Line := False;
@@ -2253,7 +2253,7 @@ begin
    Standard_In.Is_Text_File       := True;
    Standard_In.Access_Method      := 'T';
    Standard_In.Self               := Standard_In;
-   Standard_In.WC_Method         := Default_WCEM;
+   Standard_In.WC_Method          := Default_WCEM;
 
    Standard_Out.Stream            := stdout;
    Standard_Out.Name              := Out_Name'Access;
index d04437391425af936ad1c4614c33851031a2b9af..16299b03b7fcb875435b699add4c4340ac95eb03 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -178,7 +178,7 @@ private package Ada.Text_IO.Generic_Aux is
    procedure String_Skip (Str : String; Ptr : out Integer);
    --  Used in the Get from string procedures to skip leading blanks in the
    --  string. Ptr is set to the index of the first non-blank. If the string
-   --  is all blanks, then the excption End_Error is raised, Note that blank
+   --  is all blanks, then the exception End_Error is raised, Note that blank
    --  is defined as a space or horizontal tab (RM A.10.6(5)).
 
    procedure Ungetc (ch : Integer; File : File_Type);
index b37a9d1a7a850f6c348b3f425fc88e4335aa9f82..71454eb3b908aec8dcf7e3f0577418cf5fd63b9d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 contains the routines for Ada.Wide_Wide_Text_IO.Integer_IO
---  that are shared among separate instantiations of this package. The
---  routines in this package are identical semantically to those in Integer_IO
---  itself, except that the generic parameter Num has been replaced by Integer
---  or Long_Long_Integer, and the default parameters have been removed because
+--  that are shared among separate instantiations of this package. The routines
+--  in this package are identical semantically to those in Integer_IO itself,
+--  except that the generic parameter Num has been replaced by Integer or
+--  Long_Long_Integer, and the default parameters have been removed because
 --  they are supplied explicitly by the calls from within the generic template.
 
 private package Ada.Wide_Wide_Text_IO.Integer_Aux is
index 414fd62d734c07d14e1b2dc2e7a98973ddccfc36..2f504ba7a9e7904f5db24ac1be1da3296e81e7ed 100644 (file)
@@ -2738,12 +2738,13 @@ package body Atree is
 
       if Field2 (Cur_Node) not in Node_Range then
          return Traverse_Field (Cur_Node, Field2 (Cur_Node), 2);
-      elsif Is_Syntactic_Field (Nkind (Cur_Node), 2) and then
-        Field2 (Cur_Node) /= Empty_List_Or_Node
+
+      elsif Is_Syntactic_Field (Nkind (Cur_Node), 2)
+        and then Field2 (Cur_Node) /= Empty_List_Or_Node
       then
-         --  Here is the tail recursion step, we reset Cur_Node and jump
-         --  back to the start of the procedure, which has the same
-         --  semantic effect as a call.
+         --  Here is the tail recursion step, we reset Cur_Node and jump back
+         --  to the start of the procedure, which has the same semantic effect
+         --  as a call.
 
          Cur_Node := Node_Id (Field2 (Cur_Node));
          goto Tail_Recurse;
index 197b4a9abfc9fcd0c5999d39e8351626e8663167..2ab69089426a755b3de65313959cc06431aaf3dc 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1999-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1999-2008, 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- --
@@ -32,7 +32,6 @@
 ------------------------------------------------------------------------------
 
 with System.Soft_Links;
---  used for Lock_Task, Unlock_Task
 
 package body System.Global_Locks is
 
index 2251c23d3c5a56c637b9413be0cdf0dbf0ac0341..3a10e73bc51a5724ba86ab8189fa7dbb6a9c39f8 100644 (file)
@@ -2,13 +2,12 @@
 --                                                                          --
 --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
 --                                                                          --
---          S Y S T E M . I N T E R R U P T _ M A N A G E M E N T .         --
---                            O P E R A T I O N S                           --
+--                  SYSTEM.INTERRUPT_MANAGEMENT.OPERATIONS                  --
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2007, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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 POSIX-like version of this package.
---  Note: this file can only be used for POSIX compliant systems.
+--  This is a POSIX-like version of this package
+
+--  Note: this file can only be used for POSIX compliant systems
 
 with Interfaces.C;
---  used for int
---           size_t
---           unsigned
 
 with System.OS_Interface;
---  used for various type, constant, and operations
-
 with System.Storage_Elements;
---  used for To_Address
---           Integer_Address
 
 package body System.Interrupt_Management.Operations is
 
index 3c04bb0e0748019ea0a69d4c1836a321591b1b68..34eaf09547dc0f231e96e893350d6ebad5c37646 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 OpenVMS/Alpha version of this package
 
 with System.OS_Interface;
---  used for various type, constant, and operations
-
 with System.Aux_DEC;
---  used for Short_Address
-
 with System.Parameters;
-
 with System.Tasking;
-
 with System.Tasking.Initialization;
-
 with System.Task_Primitives.Operations;
-
 with System.Task_Primitives.Operations.DEC;
 
 with Ada.Unchecked_Conversion;
index c0876b8ee58ddcbb5cc61cbdf98945674fa2cfac..075c8b5755ced112fd8b6547419721493c83c7e6 100644 (file)
@@ -7,7 +7,7 @@
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2005, AdaCore                     --
+--                     Copyright (C) 1995-2007, AdaCore                     --
 --                                                                          --
 -- 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- --
@@ -34,8 +34,6 @@
 
 --  This version is for systems that do not support interrupts (or signals)
 
-with Ada.Exceptions;
-
 package body System.Interrupts is
 
    pragma Warnings (Off); -- kill warnings on unreferenced formals
@@ -293,9 +291,7 @@ package body System.Interrupts is
 
    procedure Unimplemented is
    begin
-      Ada.Exceptions.Raise_Exception
-        (Program_Error'Identity, "interrupts/signals not implemented");
-      raise Program_Error;
+      raise Program_Error with "interrupts/signals not implemented";
    end Unimplemented;
 
 end System.Interrupts;
index 38428e5d7d6b78d9352f49bcea5936e20787b662..a63b35aaaa3f974e89abd1b4a8835148bf0d1b35 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---          Copyright (C) 1998-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1998-2008, 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 the IRIX & NT version of this package
 
 with Ada.Task_Identification;
---  used for Task_Id
+with Ada.Unchecked_Conversion;
 
-with Ada.Exceptions;
---  used for Raise_Exception
+with Interfaces.C;
 
 with System.Storage_Elements;
---  used for To_Address
---           To_Integer
-
 with System.Task_Primitives.Operations;
---  used for Self
---           Sleep
---           Wakeup
---           Write_Lock
---           Unlock
-
 with System.Tasking.Utilities;
---  used for Make_Independent
-
 with System.Tasking.Rendezvous;
---  used for Call_Simple
-
 with System.Tasking.Initialization;
---  used for Defer_Abort
---           Undefer_Abort
-
 with System.Interrupt_Management;
-
 with System.Parameters;
---  used for Single_Lock
-
-with Interfaces.C;
---  used for int
-
-with Ada.Unchecked_Conversion;
 
 package body System.Interrupts is
 
    use Parameters;
    use Tasking;
-   use Ada.Exceptions;
    use System.OS_Interface;
    use Interfaces.C;
 
@@ -183,8 +158,8 @@ package body System.Interrupts is
    function Is_Entry_Attached (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Descriptors (Interrupt).T /= Null_Task;
@@ -197,11 +172,11 @@ package body System.Interrupts is
    function Is_Handler_Attached (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
+      else
+         return Descriptors (Interrupt).Kind /= Unknown;
       end if;
-
-      return Descriptors (Interrupt).Kind /= Unknown;
    end Is_Handler_Attached;
 
    ----------------
@@ -370,9 +345,9 @@ package body System.Interrupts is
 
              or else not Is_Registered (New_Handler))
       then
-         Raise_Exception (Program_Error'Identity,
+         raise Program_Error with
            "Trying to overwrite a static Interrupt Handler with a " &
-           "dynamic Handler");
+           "dynamic Handler";
       end if;
 
       if Handlers (Interrupt) = null then
@@ -420,12 +395,12 @@ package body System.Interrupts is
          --  In case we have an Interrupt Entry already installed.
          --  raise a program error. (propagate it to the caller).
 
-         Raise_Exception (Program_Error'Identity,
-           "An interrupt is already installed");
-      end if;
+         raise Program_Error with "An interrupt is already installed";
 
-      Old_Handler := Current_Handler (Interrupt);
-      Attach_Handler (New_Handler, Interrupt, Static);
+      else
+         Old_Handler := Current_Handler (Interrupt);
+         Attach_Handler (New_Handler, Interrupt, Static);
+      end if;
    end Exchange_Handler;
 
    --------------------
@@ -442,13 +417,12 @@ package body System.Interrupts is
       end if;
 
       if Descriptors (Interrupt).Kind = Task_Entry then
-         Raise_Exception (Program_Error'Identity,
-           "Trying to detach an Interrupt Entry");
+         raise Program_Error with "Trying to detach an Interrupt Entry";
       end if;
 
       if not Static and then Descriptors (Interrupt).Static then
-         Raise_Exception (Program_Error'Identity,
-           "Trying to detach a static Interrupt Handler");
+         raise Program_Error with
+           "Trying to detach a static Interrupt Handler";
       end if;
 
       Descriptors (Interrupt) :=
@@ -548,8 +522,8 @@ package body System.Interrupts is
       end if;
 
       if Descriptors (Interrupt).Kind /= Unknown then
-         Raise_Exception (Program_Error'Identity,
-           "A binding for this interrupt is already present");
+         raise Program_Error with
+           "A binding for this interrupt is already present";
       end if;
 
       if Handlers (Interrupt) = null then
index 29c0e7f9b653aa3c8cb5c4887cf3e9006278c04c..3a7124025c26feab0b0f3f180daaa0aae3187e25 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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- --
 --  rendezvous.
 
 with Ada.Task_Identification;
---  used for Task_Id type
-
-with Ada.Exceptions;
---  used for Raise_Exception
+with Ada.Unchecked_Conversion;
 
 with System.Task_Primitives;
---  used for RTS_Lock
---           Self
-
 with System.Interrupt_Management;
---  used for Reserve
---           Interrupt_ID
---           Interrupt_Mask
---           Abort_Task_Interrupt
 
 with System.Interrupt_Management.Operations;
---  used for Thread_Block_Interrupt
---           Thread_Unblock_Interrupt
---           Install_Default_Action
---           Install_Ignore_Action
---           Copy_Interrupt_Mask
---           Set_Interrupt_Mask
---           Empty_Interrupt_Mask
---           Fill_Interrupt_Mask
---           Add_To_Interrupt_Mask
---           Delete_From_Interrupt_Mask
---           Interrupt_Wait
---           Interrupt_Self_Process
---           Get_Interrupt_Mask
---           Set_Interrupt_Mask
---           IS_Member
---           Environment_Mask
 pragma Elaborate_All (System.Interrupt_Management.Operations);
 
 with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Unlock
---           Abort
---           Wakeup_Task
---           Sleep
---           Initialize_Lock
-
 with System.Task_Primitives.Interrupt_Operations;
---  used for Set_Interrupt_ID
-
 with System.Storage_Elements;
---  used for To_Address
---           To_Integer
---           Integer_Address
-
 with System.Tasking.Utilities;
---  used for Make_Independent
 
 with System.Tasking.Rendezvous;
---  used for Call_Simple
 pragma Elaborate_All (System.Tasking.Rendezvous);
 
 with System.Tasking.Initialization;
---  used for Defer_Abort
---           Undefer_Abort
-
 with System.Parameters;
---  used for Single_Lock
-
-with Ada.Unchecked_Conversion;
 
 package body System.Interrupts is
 
    use Tasking;
    use System.Parameters;
-   use Ada.Exceptions;
 
    package POP renames System.Task_Primitives.Operations;
    package PIO renames System.Task_Primitives.Interrupt_Operations;
@@ -345,8 +297,8 @@ package body System.Interrupts is
    function Is_Entry_Attached (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return User_Entry (Interrupt).T /= Null_Task;
@@ -359,8 +311,8 @@ package body System.Interrupts is
    function Is_Handler_Attached (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return User_Handler (Interrupt).H /= null;
@@ -373,8 +325,8 @@ package body System.Interrupts is
    function Is_Blocked (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Blocked (Interrupt);
@@ -387,8 +339,8 @@ package body System.Interrupts is
    function Is_Ignored (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Ignored (Interrupt);
@@ -403,8 +355,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       --  ??? Since Parameterless_Handler is not Atomic, the current
@@ -432,8 +384,8 @@ package body System.Interrupts is
       Static      : Boolean := False) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Attach_Handler (New_Handler, Interrupt, Static);
@@ -460,8 +412,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Exchange_Handler
@@ -486,8 +438,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Detach_Handler (Interrupt, Static);
@@ -500,8 +452,8 @@ package body System.Interrupts is
    function Reference (Interrupt : Interrupt_ID) return System.Address is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Storage_Elements.To_Address
@@ -526,8 +478,8 @@ package body System.Interrupts is
 
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Bind_Interrupt_To_Entry (T, E, Interrupt);
@@ -550,8 +502,8 @@ package body System.Interrupts is
    procedure Block_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Block_Interrupt (Interrupt);
@@ -564,8 +516,8 @@ package body System.Interrupts is
    procedure Unblock_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Unblock_Interrupt (Interrupt);
@@ -579,8 +531,8 @@ package body System.Interrupts is
      (Interrupt : Interrupt_ID) return System.Tasking.Task_Id is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Last_Unblocker (Interrupt);
@@ -593,8 +545,8 @@ package body System.Interrupts is
    procedure Ignore_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Ignore_Interrupt (Interrupt);
@@ -607,8 +559,8 @@ package body System.Interrupts is
    procedure Unignore_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Unignore_Interrupt (Interrupt);
@@ -648,21 +600,21 @@ package body System.Interrupts is
       is
       begin
          if User_Entry (Interrupt).T /= Null_Task then
+
             --  In case we have an Interrupt Entry already installed.
             --  raise a program error. (propagate it to the caller).
 
-            Raise_Exception (Program_Error'Identity,
-              "An interrupt is already installed");
+            raise Program_Error with "An interrupt is already installed";
          end if;
 
-         --  Note : A null handler with Static = True will
-         --  pass the following check. That is the case when we want to
-         --  Detach a handler regardless of the Static status
-         --  of the current_Handler.
-         --  We don't check anything if Restoration is True, since we
-         --  may be detaching a static handler to restore a dynamic one.
+         --  Note: A null handler with Static=True will pass the following
+         --  check. That is the case when we want to Detach a handler
+         --  regardless of the Static status of the current_Handler. We don't
+         --  check anything if Restoration is True, since we may be detaching
+         --  a static handler to restore a dynamic one.
 
          if not Restoration and then not Static
+
             --  Tries to overwrite a static Interrupt Handler with a
             --  dynamic Handler
 
@@ -673,9 +625,9 @@ package body System.Interrupts is
 
                         or else not Is_Registered (New_Handler))
          then
-            Raise_Exception (Program_Error'Identity,
+            raise Program_Error with
               "Trying to overwrite a static Interrupt Handler with a " &
-              "dynamic Handler");
+              "dynamic Handler";
          end if;
 
          --  The interrupt should no longer be ingnored if it was ever ignored
@@ -722,11 +674,12 @@ package body System.Interrupts is
       is
       begin
          if User_Entry (Interrupt).T /= Null_Task then
+
             --  In case we have an Interrupt Entry installed.
             --  raise a program error. (propagate it to the caller).
 
-            Raise_Exception (Program_Error'Identity,
-              "An interrupt entry is already installed");
+            raise Program_Error with
+              "An interrupt entry is already installed";
          end if;
 
          --  Note : Static = True will pass the following check. That is the
@@ -737,8 +690,8 @@ package body System.Interrupts is
             --  Tries to detach a static Interrupt Handler.
             --  raise a program error.
 
-            Raise_Exception (Program_Error'Identity,
-              "Trying to detach a static Interrupt Handler");
+            raise Program_Error with
+              "Trying to detach a static Interrupt Handler";
          end if;
 
          --  The interrupt should no longer be ignored if
@@ -849,8 +802,8 @@ package body System.Interrupts is
                if User_Handler (Interrupt).H /= null
                  or else User_Entry (Interrupt).T /= Null_Task
                then
-                  Raise_Exception (Program_Error'Identity,
-                    "A binding for this interrupt is already present");
+                  raise Program_Error with
+                    "A binding for this interrupt is already present";
                end if;
 
                --  The interrupt should no longer be ingnored if
index 740b5076b6cb618203c8e7b3ff909774af7228cc..ec14f11c89911b11c4458f288fa3e01a5d26d6be 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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- --
 --  any time.
 
 --  Within this package, the lock L is used to protect the various status
---  tables. If there is a Server_Task associated with a signal or interrupt,
---  we use the per-task lock of the Server_Task instead so that we protect the
---  status between Interrupt_Manager and Server_Task. Protection among
---  service requests are ensured via user calls to the Interrupt_Manager
---  entries.
+--  tables. If there is a Server_Task associated with a signal or interrupt, we
+--  use the per-task lock of the Server_Task instead so that we protect the
+--  status between Interrupt_Manager and Server_Task. Protection among service
+--  requests are ensured via user calls to the Interrupt_Manager entries.
 
 --  This is the VxWorks version of this package, supporting vectored hardware
 --  interrupts.
 
 with Ada.Unchecked_Conversion;
-
-with System.OS_Interface; use System.OS_Interface;
-
-with Interfaces.VxWorks;
-
 with Ada.Task_Identification;
---  used for Task_Id type
 
-with Ada.Exceptions;
---  used for Raise_Exception
+with Interfaces.VxWorks;
 
+with System.OS_Interface; use System.OS_Interface;
 with System.Interrupt_Management;
---  used for Reserve
-
 with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Unlock
---           Abort
---           Wakeup_Task
---           Sleep
---           Initialize_Lock
-
 with System.Storage_Elements;
---  used for To_Address
---           To_Integer
---           Integer_Address
-
 with System.Tasking.Utilities;
---  used for Make_Independent
 
 with System.Tasking.Rendezvous;
---  used for Call_Simple
 pragma Elaborate_All (System.Tasking.Rendezvous);
 
 package body System.Interrupts is
 
    use Tasking;
-   use Ada.Exceptions;
 
    package POP renames System.Task_Primitives.Operations;
 
@@ -310,9 +287,8 @@ package body System.Interrupts is
    procedure Check_Reserved_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception
-           (Program_Error'Identity,
-            "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       else
          return;
       end if;
@@ -744,9 +720,7 @@ package body System.Interrupts is
 
    procedure Unimplemented (Feature : String) is
    begin
-      Raise_Exception
-        (Program_Error'Identity,
-         Feature & " not implemented on VxWorks");
+      raise Program_Error with Feature & " not implemented on VxWorks";
    end Unimplemented;
 
    -----------------------
@@ -823,8 +797,8 @@ package body System.Interrupts is
             --  If an interrupt entry is installed raise
             --  Program_Error. (propagate it to the caller).
 
-            Raise_Exception (Program_Error'Identity,
-              "An interrupt entry is already installed");
+            raise Program_Error with
+              "An interrupt entry is already installed";
          end if;
 
          --  Note : Static = True will pass the following check. This is the
@@ -836,8 +810,8 @@ package body System.Interrupts is
             --  Trying to detach a static Interrupt Handler. raise
             --  Program_Error.
 
-            Raise_Exception (Program_Error'Identity,
-              "Trying to detach a static Interrupt Handler");
+            raise Program_Error with
+              "Trying to detach a static Interrupt Handler";
          end if;
 
          Old_Handler := User_Handler (Interrupt).H;
@@ -869,9 +843,7 @@ package body System.Interrupts is
             --  If an interrupt entry is already installed, raise
             --  Program_Error. (propagate it to the caller).
 
-            Raise_Exception
-              (Program_Error'Identity,
-               "An interrupt is already installed");
+            raise Program_Error with "An interrupt is already installed";
          end if;
 
          --  Note : A null handler with Static = True will
@@ -892,10 +864,9 @@ package body System.Interrupts is
 
            or else not Is_Registered (New_Handler))
          then
-            Raise_Exception
-              (Program_Error'Identity,
+            raise Program_Error with
                "Trying to overwrite a static Interrupt Handler with a " &
-               "dynamic Handler");
+               "dynamic Handler";
          end if;
 
          --  Save the old handler
@@ -1003,9 +974,8 @@ package body System.Interrupts is
                   if User_Handler (Interrupt).H /= null
                     or else User_Entry (Interrupt).T /= Null_Task
                   then
-                     Raise_Exception
-                       (Program_Error'Identity,
-                        "A binding for this interrupt is already present");
+                     raise Program_Error with
+                       "A binding for this interrupt is already present";
                   end if;
 
                   User_Entry (Interrupt) := Entry_Assoc'(T => T, E => E);
index 6f112826c4a66df49dead93d3699597d53548320..7b4175eab597499823912ef8d5b0ac131ee6c6f7 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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- --
 --  one Server_Task per interrupt.
 
 with Ada.Task_Identification;
---  used for Task_Id type
-
-with Ada.Exceptions;
---  used for Raise_Exception
 
 with System.Task_Primitives;
---  used for RTS_Lock
---           Self
-
 with System.Interrupt_Management;
---  used for Reserve
---           Interrupt_ID
---           Interrupt_Mask
---           Abort_Task_Interrupt
 
 with System.Interrupt_Management.Operations;
---  used for Thread_Block_Interrupt
---           Thread_Unblock_Interrupt
---           Install_Default_Action
---           Install_Ignore_Action
---           Copy_Interrupt_Mask
---           Set_Interrupt_Mask
---           Empty_Interrupt_Mask
---           Fill_Interrupt_Mask
---           Add_To_Interrupt_Mask
---           Delete_From_Interrupt_Mask
---           Interrupt_Wait
---           Interrupt_Self_Process
---           Get_Interrupt_Mask
---           Set_Interrupt_Mask
---           IS_Member
---           Environment_Mask
---           All_Tasks_Mask
 pragma Elaborate_All (System.Interrupt_Management.Operations);
 
 with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Unlock
---           Abort
---           Wakeup_Task
---           Sleep
---           Initialize_Lock
-
 with System.Task_Primitives.Interrupt_Operations;
---  used for Set_Interrupt_ID
-
 with System.Storage_Elements;
---  used for To_Address
---           To_Integer
---           Integer_Address
-
 with System.Tasking.Utilities;
---  used for Make_Independent
 
 with System.Tasking.Rendezvous;
---  used for Call_Simple
 pragma Elaborate_All (System.Tasking.Rendezvous);
 
 with System.Tasking.Initialization;
---  used for Defer_Abort
---           Undefer_Abort
-
 with System.Parameters;
---  used for Single_Lock
 
 with Ada.Unchecked_Conversion;
 
@@ -126,7 +79,6 @@ package body System.Interrupts is
 
    use Parameters;
    use Tasking;
-   use Ada.Exceptions;
 
    package POP renames System.Task_Primitives.Operations;
    package PIO renames System.Task_Primitives.Interrupt_Operations;
@@ -285,8 +237,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Attach_Handler (New_Handler, Interrupt, Static);
@@ -310,8 +262,8 @@ package body System.Interrupts is
 
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Bind_Interrupt_To_Entry (T, E, Interrupt);
@@ -324,8 +276,8 @@ package body System.Interrupts is
    procedure Block_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Block_Interrupt (Interrupt);
@@ -340,8 +292,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       --  ??? Since Parameterless_Handler is not Atomic, the current
@@ -368,8 +320,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Detach_Handler (Interrupt, Static);
@@ -404,8 +356,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Exchange_Handler
@@ -464,8 +416,8 @@ package body System.Interrupts is
    procedure Ignore_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Ignore_Interrupt (Interrupt);
@@ -506,8 +458,8 @@ package body System.Interrupts is
    function Is_Blocked (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Blocked (Interrupt);
@@ -520,8 +472,8 @@ package body System.Interrupts is
    function Is_Entry_Attached (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return User_Entry (Interrupt).T /= Null_Task;
@@ -534,8 +486,8 @@ package body System.Interrupts is
    function Is_Handler_Attached (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return User_Handler (Interrupt).H /= null;
@@ -548,8 +500,8 @@ package body System.Interrupts is
    function Is_Ignored (Interrupt : Interrupt_ID) return Boolean is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Ignored (Interrupt);
@@ -608,8 +560,8 @@ package body System.Interrupts is
    function Reference (Interrupt : Interrupt_ID) return System.Address is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Storage_Elements.To_Address
@@ -656,8 +608,8 @@ package body System.Interrupts is
    procedure Unblock_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Unblock_Interrupt (Interrupt);
@@ -672,8 +624,8 @@ package body System.Interrupts is
    is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       return Last_Unblocker (Interrupt);
@@ -686,8 +638,8 @@ package body System.Interrupts is
    procedure Unignore_Interrupt (Interrupt : Interrupt_ID) is
    begin
       if Is_Reserved (Interrupt) then
-         Raise_Exception (Program_Error'Identity, "Interrupt" &
-           Interrupt_ID'Image (Interrupt) & " is reserved");
+         raise Program_Error with
+           "Interrupt" & Interrupt_ID'Image (Interrupt) & " is reserved";
       end if;
 
       Interrupt_Manager.Unignore_Interrupt (Interrupt);
@@ -825,8 +777,8 @@ package body System.Interrupts is
             --  In case we have an Interrupt Entry installed.
             --  raise a program error. (propagate it to the caller).
 
-            Raise_Exception (Program_Error'Identity,
-              "An interrupt entry is already installed");
+            raise Program_Error with
+              "An interrupt entry is already installed";
          end if;
 
          --  Note : Static = True will pass the following check. That is the
@@ -838,8 +790,8 @@ package body System.Interrupts is
             --  Tries to detach a static Interrupt Handler.
             --  raise a program error.
 
-            Raise_Exception (Program_Error'Identity,
-              "Trying to detach a static Interrupt Handler");
+            raise Program_Error with
+              "Trying to detach a static Interrupt Handler";
          end if;
 
          --  The interrupt should no longer be ignored if
@@ -876,8 +828,8 @@ package body System.Interrupts is
             --  In case we have an Interrupt Entry already installed.
             --  raise a program error. (propagate it to the caller).
 
-            Raise_Exception (Program_Error'Identity,
-              "An interrupt is already installed");
+            raise Program_Error with
+              "An interrupt is already installed";
          end if;
 
          --  Note : A null handler with Static = True will pass the
@@ -899,9 +851,9 @@ package body System.Interrupts is
 
                         or else not Is_Registered (New_Handler))
          then
-            Raise_Exception (Program_Error'Identity,
+            raise Program_Error with
               "Trying to overwrite a static Interrupt Handler with a " &
-              "dynamic Handler");
+              "dynamic Handler";
          end if;
 
          --  The interrupt should no longer be ingnored if
@@ -1062,8 +1014,8 @@ package body System.Interrupts is
                   if User_Handler (Interrupt).H /= null
                     or else User_Entry (Interrupt).T /= Null_Task
                   then
-                     Raise_Exception (Program_Error'Identity,
-                       "A binding for this interrupt is already present");
+                     raise Program_Error with
+                       "A binding for this interrupt is already present";
                   end if;
 
                   --  The interrupt should no longer be ingnored if
index a01b4c0b4fdec0d804bd4d38917521b8cdcb1308..1eecfdb9af9a258bb165473e6fbc746771c407fb 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 --  Any changes to this interface may require corresponding compiler changes.
 
 --  This package encapsulates the implementation of interrupt or signal
---  handlers.  It is logically an extension of the body of Ada.Interrupts.
---  It is made a child of System to allow visibility of various
---  runtime system internal data and operations.
+--  handlers. It is logically an extension of the body of Ada.Interrupts. It
+--  is made a child of System to allow visibility of various runtime system
+--  internal data and operations.
 
 --  See System.Interrupt_Management for core interrupt/signal interfaces
 
---  These two packages are separated in order to allow
---  System.Interrupt_Management to be used without requiring the whole
---  tasking implementation to be linked and elaborated.
+--  These two packages are separated to allow System.Interrupt_Management to be
+--  used without requiring the whole tasking implementation to be linked and
+--  elaborated.
 
 with System.Tasking;
---  used for Task_Id
-
 with System.Tasking.Protected_Objects.Entries;
---  used for Protection_Entries
-
 with System.OS_Interface;
---  used for Max_Interrupt
 
 package System.Interrupts is
 
@@ -73,11 +68,9 @@ package System.Interrupts is
 
    type Interrupt_ID is range 0 .. System.OS_Interface.Max_Interrupt;
 
-   --  The following renaming is introduced so that the type is accessible
-   --  through rtsfind, otherwise the name clashes with its homonym in
-   --  ada.interrupts.
-
    subtype System_Interrupt_Id is Interrupt_ID;
+   --  This synonym is introduced so that the type is accessible through
+   --  rtsfind, otherwise the name clashes with its homonym in Ada.Interrupts.
 
    type Parameterless_Handler is access protected procedure;
 
@@ -97,10 +90,10 @@ package System.Interrupts is
    function Current_Handler
      (Interrupt : Interrupt_ID) return Parameterless_Handler;
 
-   --  Calling the following procedures with New_Handler = null
-   --  and Static = true means that we want to modify the current handler
-   --  regardless of the previous handler's binding status.
-   --  (i.e. we do not care whether it is a dynamic or static handler)
+   --  Calling the following procedures with New_Handler = null and Static =
+   --  true means that we want to modify the current handler regardless of the
+   --  previous handler's binding status. (i.e. we do not care whether it is a
+   --  dynamic or static handler)
 
    procedure Attach_Handler
      (New_Handler : Parameterless_Handler;
@@ -150,8 +143,8 @@ package System.Interrupts is
    function Unblocked_By
      (Interrupt : Interrupt_ID) return System.Tasking.Task_Id;
    --  It returns the ID of the last Task which Unblocked this Interrupt.
-   --  It returns Null_Task if no tasks have ever requested the
-   --  Unblocking operation or the Interrupt is currently Blocked.
+   --  It returns Null_Task if no tasks have ever requested the Unblocking
+   --  operation or the Interrupt is currently Blocked.
 
    function Is_Blocked (Interrupt : Interrupt_ID) return Boolean;
    --  Comment needed ???
@@ -169,9 +162,9 @@ package System.Interrupts is
    --  other low-level interface that changes the signal action or signal mask
    --  needs a careful thought.
 
-   --  One may acheive the effect of system calls first making RTS blocked
-   --  (by calling Block_Interrupt) for the signal under consideration.
-   --  This will make all the tasks in RTS blocked for the Interrupt.
+   --  One may acheive the effect of system calls first making RTS blocked (by
+   --  calling Block_Interrupt) for the signal under consideration. This will
+   --  make all the tasks in RTS blocked for the Interrupt.
 
    ----------------------
    -- Protection Types --
index ff0c8240193f839a2b30d34bb687c567d8ad8785..ac06d118d54134c3348d5c8fdf36f9d3037111db 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1991-2008, 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- --
@@ -48,8 +48,6 @@
 --  implemented as visible arrays rather than functions.)
 
 with System.OS_Interface;
---  used for Signal
---           sigset_t
 
 package System.Interrupt_Management is
    pragma Preelaborate;
index ec33268452110f18188b48935632eee26ba9747e..538c4e5a0e1b23861ade54016e128e883716bd4d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 --  sets are implemeneted using visible arrays rather than functions.
 
 with System.OS_Interface;
---  used for sigset_t
 
 with Interfaces.C;
---  used for int
 
 package System.Interrupt_Management is
    pragma Preelaborate;
index 528fbf450907e485db9724f168beff682fa4ab50..ae68d27a334dd2a18bc9795dad34918497ba5fe3 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 --  rather than functions.
 
 with System.OS_Interface;
---  used for sigset_t
 
 with Interfaces.C;
---  used for int
 
 package System.Interrupt_Management is
    pragma Preelaborate;
index 46caa9b688672ad7fb24b8b49e4d8ce7e2af0988..65db80a49deea01629000a5c094888c985610ad8 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 AIX (Native THREADS) version of this package
 
 --  This package encapsulates all direct interfaces to OS services that are
---  needed by children of System.
+--  needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index 17a48e89e62c2628648d39223c376f37d01fd076..da97aa0323cd3a7007f02271f794b8d9ed0fdfc8 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 Darwin pthreads version of this package
 
 --  This package includes all direct interfaces to OS services that are needed
---  by children of System.
+--  by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Elaborate_Body. It is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index 66e18187a2fce899528e3b8260d47ea95f8d57d1..f459a64fdc65db533488abec1aa7bec157bd7320 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---             Copyright (C) 1995-2005, Free Software Foundation, Inc.      --
+--          Copyright (C) 1995-2008, 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- --
index 86fe3f6ab7e41ddc882f12749953d66003005fcb..8794e995bd8cc9f49075393463e9818a901a5441 100644 (file)
@@ -7,7 +7,7 @@
 --                                   S p e c                                --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 the FreeBSD PTHREADS version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index ac268c5948080f1bad7e952571afaec13a134ba3..687f9ecf6ade6e52a3483882058c7f1e824e79df 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 the HP-UX version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index 61d0473e0574e0ac44ebdd599d7e949f516afc69..0e368919eeb8315eec48220df16d6150d20c55c3 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --               Copyright (C) 1991-1994, Florida State University          --
---            Copyright (C) 1995-2007, Free Software Foundation, Inc.       --
+--            Copyright (C) 1995-2008, 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 HPUX 11.0 (Native THREADS) version of this package
 
---  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
-
---  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  This package encapsulates all direct interfaces to OS services that are
+--  needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index 5c35032c2b755514a7c85aed6467a415262be8c9..15bd4007225f3014e7da1461a65e69d6d6aed5cb 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 the SGI Pthreads version of this package
 
---  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  This package encapsulates all direct interfaces to OS services that are
+--  needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
 
    pragma Preelaborate;
index 1c4386bfe8207956a44c79c79c1989d0e9387089..2467f09cf5b5db267e06a2a083a838d53733836f 100644 (file)
@@ -8,7 +8,7 @@
 --                          (GNU/Linux-HPPA Version)                        --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 GNU/Linux (GNU/LinuxThreads) version of this package
 
---  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  This package encapsulates all direct interfaces to OS services that are
+--  needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index 7299123deb72a6e1aefec7619fe90d2241ea5323..bb06c01a0b8d9936c61f589e5a9dc3e1eb2896ab 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 GNU/Linux (GNU/LinuxThreads) version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index eb775d2fcbd3c8484effa0aa26dfad29e2e8dbb6..f6ceec0790af8c6630c5297db768dd8e1e48958e 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 LynxOS (Native) version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index cc28c19819c37734c4413aa6c059a8f0afa75df8..901076312617099958bc15502f0034c71671b8f4 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 LynxOS (POSIX Threads) version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
-with Interfaces.C;
 with Ada.Unchecked_Conversion;
 
+with Interfaces.C;
+
 package System.OS_Interface is
    pragma Preelaborate;
 
index e0a3edf3a188fba85f30649fc1217198cb59c135..e0a3d7c75df84e6c10cece2404fdd90253e8d87c 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 NT (native) version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+
 with Interfaces.C.Strings;
+
 with Ada.Unchecked_Conversion;
 
 package System.OS_Interface is
@@ -75,6 +77,8 @@ package System.OS_Interface is
 
    type PLONG  is access all Interfaces.C.long;
    type PDWORD is access all DWORD;
+   type BYTE is new Interfaces.C.unsigned_char;
+   subtype CHAR is Interfaces.C.char;
 
    type BOOL is new Boolean;
    for BOOL'Size use Interfaces.C.unsigned_long'Size;
@@ -95,6 +99,19 @@ package System.OS_Interface is
    NO_ERROR : constant := 0;
    FUNC_ERR : constant := -1;
 
+   -----------
+   -- Files --
+   -----------
+
+   type SECURITY_ATTRIBUTES is record
+      nLength             : DWORD;
+      pSecurityDescriptor : PVOID;
+      bInheritHandle      : BOOL;
+   end record;
+
+   function CloseHandle (hObject : HANDLE) return BOOL;
+   pragma Import (Stdcall, CloseHandle, "CloseHandle");
+
    ------------------------
    -- System Information --
    ------------------------
@@ -259,30 +276,22 @@ package System.OS_Interface is
    function To_PTHREAD_START_ROUTINE is new
      Ada.Unchecked_Conversion (System.Address, PTHREAD_START_ROUTINE);
 
-   type SECURITY_ATTRIBUTES is record
-      nLength              : DWORD;
-      pSecurityDescriptor  : PVOID;
-      bInheritHandle       : BOOL;
-   end record;
-
-   type PSECURITY_ATTRIBUTES is access all SECURITY_ATTRIBUTES;
-
    function CreateThread
-     (pThreadAttributes    : PSECURITY_ATTRIBUTES;
-      dwStackSize          : DWORD;
-      pStartAddress        : PTHREAD_START_ROUTINE;
-      pParameter           : PVOID;
-      dwCreationFlags      : DWORD;
-      pThreadId            : PDWORD) return HANDLE;
+     (pThreadAttributes : access SECURITY_ATTRIBUTES;
+      dwStackSize       : DWORD;
+      pStartAddress     : PTHREAD_START_ROUTINE;
+      pParameter        : PVOID;
+      dwCreationFlags   : DWORD;
+      pThreadId         : PDWORD) return HANDLE;
    pragma Import (Stdcall, CreateThread, "CreateThread");
 
    function BeginThreadEx
-     (pThreadAttributes    : PSECURITY_ATTRIBUTES;
-      dwStackSize          : DWORD;
-      pStartAddress        : PTHREAD_START_ROUTINE;
-      pParameter           : PVOID;
-      dwCreationFlags      : DWORD;
-      pThreadId            : PDWORD) return HANDLE;
+     (pThreadAttributes : access SECURITY_ATTRIBUTES;
+      dwStackSize       : DWORD;
+      pStartAddress     : PTHREAD_START_ROUTINE;
+      pParameter        : PVOID;
+      dwCreationFlags   : DWORD;
+      pThreadId         : PDWORD) return HANDLE;
    pragma Import (C, BeginThreadEx, "_beginthreadex");
 
    Debug_Process                     : constant := 16#00000001#;
@@ -373,11 +382,8 @@ package System.OS_Interface is
    -- Semaphores, Events and Mutexes --
    ------------------------------------
 
-   function CloseHandle (hObject : HANDLE) return BOOL;
-   pragma Import (Stdcall, CloseHandle, "CloseHandle");
-
    function CreateSemaphore
-     (pSemaphoreAttributes : PSECURITY_ATTRIBUTES;
+     (pSemaphoreAttributes : access SECURITY_ATTRIBUTES;
       lInitialCount        : Interfaces.C.long;
       lMaximumCount        : Interfaces.C.long;
       pName                : PSZ) return HANDLE;
@@ -396,7 +402,7 @@ package System.OS_Interface is
    pragma Import (Stdcall, ReleaseSemaphore, "ReleaseSemaphore");
 
    function CreateEvent
-     (pEventAttributes : PSECURITY_ATTRIBUTES;
+     (pEventAttributes : access SECURITY_ATTRIBUTES;
       bManualReset     : BOOL;
       bInitialState    : BOOL;
       pName            : PSZ) return HANDLE;
@@ -418,7 +424,7 @@ package System.OS_Interface is
    pragma Import (Stdcall, PulseEvent, "PulseEvent");
 
    function CreateMutex
-     (pMutexAttributes : PSECURITY_ATTRIBUTES;
+     (pMutexAttributes : access SECURITY_ATTRIBUTES;
       bInitialOwner    : BOOL;
       pName            : PSZ) return HANDLE;
    pragma Import (Stdcall, CreateMutex, "CreateMutexA");
index d887f434f3f6a87a4d5b5bd0c50fc6fb0a07db6c..c45dca19cfcec24a3f35ea13e2d3becc74ee6c78 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 Solaris (POSIX Threads) version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+
 with Ada.Unchecked_Conversion;
 
 package System.OS_Interface is
index 9a4a4bab756f27119f324093cc715172fcbae850..32213ccabd4bcdbcdf19b6ba066ce4629febbf3a 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 Solaris (native) version of this package
 
 --  This package includes all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+
 with Ada.Unchecked_Conversion;
 
 package System.OS_Interface is
index 98f20a6c0ae879739090011f837baebbca85e98d..512267780b0074ebc3044964965fe62deff1050e 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 the DEC Unix 4.0/5.1 version of this package
+--  This is the Tru64 version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+
 with Ada.Unchecked_Conversion;
 
 package System.OS_Interface is
index a572847e0660b87b9e35463893b5709892267610..74f08ea466419230e67db5010db030296704b975 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 OpenVMS/Alpha version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+
 with Ada.Unchecked_Conversion;
+
 with System.Aux_DEC;
 
 package System.OS_Interface is
index 9684e78ac77dbdde7b6714b6c23d1f128b57e83f..3204b4bb267fb93d7fa2e20f5c86de705635961c 100644 (file)
@@ -7,7 +7,7 @@
 --                                   S p e c                                --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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 the VxWorks version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+
 with System.VxWorks;
 
 package System.OS_Interface is
index ad523c3aa75bd98a7d4dca0dc3ed0dfeb0ba1191..4ef43c9c31f0813be6931c60f63eef8e67b4f678 100644 (file)
@@ -7,7 +7,7 @@
 --                                   S p e c                                --
 --                                                                          --
 --            Copyright (C) 1991-1994, Florida State University             --
---          Copyright (C) 1995-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1995-2008, 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- --
@@ -35,7 +35,7 @@
 --  This is the VxWorks 6.x version of this package
 
 --  This package encapsulates all direct interfaces to OS services
---  that are needed by children of System.
+--  that are needed by the tasking run-time (libgnarl).
 
 --  PLEASE DO NOT add any with-clauses to this package or remove the pragma
 --  Preelaborate. This package is designed to be a bottom-level (leaf) package.
@@ -135,12 +135,12 @@ package System.OS_Interface is
    -- Signal processing definitions --
    -----------------------------------
 
-   --  The how in sigprocmask().
+   --  The how in sigprocmask()
    SIG_BLOCK   : constant := 1;
    SIG_UNBLOCK : constant := 2;
    SIG_SETMASK : constant := 3;
 
-   --  The sa_flags in struct sigaction.
+   --  The sa_flags in struct sigaction
    SA_SIGINFO   : constant := 16#0002#;
    SA_ONSTACK   : constant := 16#0004#;
 
index 901954bb53b6a685d895810c842215e290b5a377..62fde6a7af172ca2f5af8357a36c4a4931e153bd 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---          Copyright (C) 1998-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1998-2008, 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- --
@@ -40,7 +40,6 @@ with System.OS_Interface;
 --  create a dependency on libgnarl in libgnat, which is not desirable.
 
 with Interfaces.C;
---  used for type int
 
 package body System.OS_Primitives is
 
index 85e47eda4282c47292e53175b1b5fae0e9531ca0..5dd775725bb5874d8bc607e2e2baf01167df1dae 100644 (file)
@@ -31,7 +31,6 @@
 --                                                                          --
 ------------------------------------------------------------------------------
 
-with Ada.Exceptions;
 with Ada.IO_Exceptions;
 with Ada.Streams;
 
@@ -483,10 +482,8 @@ package body System.Shared_Storage is
                   --  Error if we cannot create the file
 
                   when others =>
-                     Ada.Exceptions.Raise_Exception
-                       (Program_Error'Identity,
-                        "Cannot create shared variable file for """ &
-                        S & '"'); -- "
+                     raise Program_Error with
+                        "Cannot create shared variable file for """ & S & '"';
                end;
          end;
 
index c0787d1cc791a8fde97cdfff32cc4937812f0b46..c54a31e045ed82528cab1777984eaa0667a98d4a 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -36,15 +36,13 @@ pragma Compiler_Unit;
 pragma Warnings (On);
 
 pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  an infinite loop from the code within the Poll routine itself.
+--  We must turn polling off for this unit, because otherwise we get an
+--  infinite loop from the code within the Poll routine itself.
 
 with System.Parameters;
---  Used for Sec_Stack_Ratio
 
 pragma Warnings (Off);
---  Disable warnings since System.Secondary_Stack is currently not
---  Preelaborate
+--  Disable warnings since System.Secondary_Stack is currently not Preelaborate
 with System.Secondary_Stack;
 pragma Warnings (On);
 
index 0ce4b73fe32660ddef96fc7fd2993261f2cfeaf5..ecf0f23899543abb359e41ba298b0c0024921c2b 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2004-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2004-2008, 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- --
 ------------------------------------------------------------------------------
 
 pragma Style_Checks (All_Checks);
---  Turn off subprogram alpha ordering check, since we group soft link
---  bodies and dummy soft link bodies together separately in this unit.
+--  Turn off subprogram alpha ordering check, since we group soft link bodies
+--  and dummy soft link bodies together separately in this unit.
 
 pragma Polling (Off);
---  Turn polling off for this package. We don't need polling during any
---  of the routines in this package, and more to the point, if we try
---  to poll it can cause infinite loops.
+--  Turn polling off for this package. We don't need polling during any of the
+--  routines in this package, and more to the point, if we try to poll it can
+--  cause infinite loops.
 
-with System.Task_Primitives.Operations;
---  Used for Self
---           Timed_Delay
+with Ada.Exceptions;
+with Ada.Exceptions.Is_Null_Occurrence;
 
+with System.Task_Primitives.Operations;
 with System.Tasking;
---  Used for Task_Id
---           Cause_Of_Termination
-
 with System.Stack_Checking;
---  Used for Stack_Access
-
-with Ada.Exceptions;
---  Used for Exception_Id
---           Exception_Occurrence
---           Save_Occurrence
-
-with Ada.Exceptions.Is_Null_Occurrence;
 
 package body System.Soft_Links.Tasking is
 
index 28e31e0ec93e97cd01791cf1fababab11490bc37..84a8504fb11dc042d5190ae47792db6fcb1d27d2 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1998-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1998-2008, 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- --
@@ -35,46 +35,17 @@ pragma Polling (Off);
 --  Turn off polling, we do not want ATC polling to take place during
 --  tasking operations. It causes infinite loops and other problems.
 
-with Ada.Exceptions;
---  Used for Raise_Exception
+with Ada.Unchecked_Conversion;
+with Ada.Task_Identification;
 
 with System.Task_Primitives.Operations;
---  Used for Write_Lock,
---           Unlock,
---           Self,
---           Monotonic_Clock,
---           Self,
---           Timed_Sleep,
---           Wakeup,
---           Yield
-
 with System.Tasking.Utilities;
---  Used for Make_Independent
-
 with System.Tasking.Initialization;
---  Used for Defer_Abort
---           Undefer_Abort
-
 with System.Tasking.Debug;
---  Used for Trace
-
 with System.OS_Primitives;
---  used for Max_Sensible_Delay
-
-with Ada.Task_Identification;
---  used for Task_Id type
-
 with System.Interrupt_Management.Operations;
---  used for Setup_Interrupt_Mask
-
 with System.Parameters;
---  used for Single_Lock
---           Runtime_Traces
-
 with System.Traces.Tasking;
---  used for Send_Trace_Info
-
-with Ada.Unchecked_Conversion;
 
 package body System.Tasking.Async_Delays is
 
@@ -228,8 +199,7 @@ package body System.Tasking.Async_Delays is
         "async delay from within abort-deferred region");
 
       if Self_Id.ATC_Nesting_Level = ATC_Level'Last then
-         Ada.Exceptions.Raise_Exception (Storage_Error'Identity,
-           "not enough ATC nesting levels");
+         raise Storage_Error with "not enough ATC nesting levels";
       end if;
 
       Self_Id.ATC_Nesting_Level := Self_Id.ATC_Nesting_Level + 1;
index 3da82bf60bad99ec8ce1014f5734523207002084..0f4b0c8fa4dc3dc8795e2c9c481df94638b8ccc0 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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- --
 ------------------------------------------------------------------------------
 
 with System.Task_Primitives.Operations;
---  used for STPO.Write_Lock
---           Unlock
---           STPO.Get_Priority
---           Sleep
---           Timed_Sleep
-
 with System.Tasking.Initialization;
---  used for Change_Base_Priority
---           Defer_Abort/Undefer_Abort
-
 with System.Tasking.Protected_Objects.Entries;
---  used for To_Protection
-
 with System.Tasking.Protected_Objects.Operations;
---  used for PO_Service_Entries
-
 with System.Tasking.Queuing;
---  used for Requeue_Call_With_New_Prio
---           Onqueue
---           Dequeue_Call
-
 with System.Tasking.Utilities;
---  used for Exit_One_ATC_Level
-
 with System.Parameters;
---  used for Single_Lock
---           Runtime_Traces
-
 with System.Traces;
---  used for Send_Trace_Info
 
 package body System.Tasking.Entry_Calls is
 
index 603d9a268d77b036cdd29f58a1b7931270455e07..547dcb7226461d7180b114e19786ad2e0d550b25 100644 (file)
@@ -7,7 +7,7 @@
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2006, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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- --
@@ -37,19 +37,9 @@ pragma Polling (Off);
 --  tasking operations. It causes infinite loops and other problems.
 
 with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Unlock
---           Self
---           Set_Ceiling
-
 with System.Parameters;
---  used for Runtime_Traces
-
 with System.Traces;
---  used for Send_Trace_Info
-
 with System.Soft_Links.Tasking;
---  Used for Init_Tasking_Soft_Links
 
 package body System.Tasking.Protected_Objects is
 
index a64a61cd9dd03fe7715b8fb687fce6cbca330d9f..20f8404e0fc543e072d8d1c39ce09c0913bb9b6d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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
 
---  This package contains all the GNULL primitives that interface directly
---  with the underlying OS.
+--  This package contains all the GNULL primitives that interface directly with
+--  the underlying OS.
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.Error_Reporting;
---  used for Shutdown
 
 package body System.Task_Primitives.Operations is
 
index b962b890a07a8adf3c5f94c715b37d20535b91db..329c56f8ccbbb59458d1d1bebc8022e0486c19b7 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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 HP-UX DCE threads (HPUX 10) version of this package
 
---  This package contains all the GNULL primitives that interface directly
---  with the underlying OS.
+--  This package contains all the GNULL primitives that interface directly with
+--  the underlying OS.
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
-with System.Tasking.Debug;
---  used for Known_Tasks
+with Ada.Unchecked_Conversion;
+with Ada.Unchecked_Deallocation;
+
+with Interfaces.C;
 
+with System.Tasking.Debug;
 with System.Interrupt_Management;
---  used for Keep_Unmasked
---           Abort_Task_Interrupt
---           Interrupt_ID
+with System.OS_Primitives;
+with System.Task_Primitives.Interrupt_Operations;
 
 pragma Warnings (Off);
 with System.Interrupt_Management.Operations;
---  used for Set_Interrupt_Mask
---           All_Tasks_Mask
 pragma Elaborate_All (System.Interrupt_Management.Operations);
-
 pragma Warnings (On);
 
-with System.OS_Primitives;
---  used for Delay_Modes
-
-with Interfaces.C;
---  used for int
---           size_t
-
-with System.Task_Primitives.Interrupt_Operations;
---  used for Get_Interrupt_ID
-
 with System.Soft_Links;
---  used for Defer/Undefer_Abort
-
 --  We use System.Soft_Links instead of System.Tasking.Initialization
 --  because the later is a higher level package that we shouldn't depend on.
 --  For example when using the restricted run time, it is replaced by
 --  System.Tasking.Restricted.Stages.
 
-with Ada.Unchecked_Conversion;
-with Ada.Unchecked_Deallocation;
-
 package body System.Task_Primitives.Operations is
 
    package SSL renames System.Soft_Links;
index 330519db8ea03bcf6a5a5c268dc5897dcf3c0148..068d3401f627009ac4edd127d9f63b73047276e2 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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 Solaris (native) version of this package
 
---  This package contains all the GNULL primitives that interface directly
---  with the underlying OS.
+--  This package contains all the GNULL primitives that interface directly with
+--  the underlying OS.
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
-with System.Tasking.Debug;
---  used for Known_Tasks
+with Ada.Unchecked_Deallocation;
 
-with System.Interrupt_Management;
---  used for Keep_Unmasked
---           Abort_Task_Interrupt
---           Interrupt_ID
+with Interfaces.C;
 
+with System.Tasking.Debug;
+with System.Interrupt_Management;
 with System.OS_Primitives;
---  used for Delay_Modes
+with System.Task_Info;
 
 pragma Warnings (Off);
 with System.OS_Lib;
---  used for String_Access, Getenv
-
 pragma Warnings (On);
 
-with Interfaces.C;
---  used for int
---           size_t
-
-with System.Task_Info;
---  to initialize Task_Info for a C thread, in function Self
-
 with System.Soft_Links;
---  used for Defer/Undefer_Abort
-
 --  We use System.Soft_Links instead of System.Tasking.Initialization
 --  because the later is a higher level package that we shouldn't depend on.
 --  For example when using the restricted run time, it is replaced by
 --  System.Tasking.Restricted.Stages.
 
-with Ada.Unchecked_Deallocation;
-
 package body System.Task_Primitives.Operations is
 
    package SSL renames System.Soft_Links;
index 7094ed5f978ec5d730f61351ae6adbd67838d5eb..f1be10194a4661b4eab652a8fa472d689d79182d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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 OpenVMS/Alpha version of this package
 
---  This package contains all the GNULL primitives that interface directly
---  with the underlying OS.
+--  This package contains all the GNULL primitives that interface directly with
+--  the underlying OS.
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
-with System.Tasking.Debug;
---  used for Known_Tasks
-
-with System.OS_Primitives;
---  used for Delay_Modes
+with Ada.Unchecked_Conversion;
+with Ada.Unchecked_Deallocation;
 
 with Interfaces.C;
---  used for int
---           size_t
 
+with System.Tasking.Debug;
+with System.OS_Primitives;
 with System.Soft_Links;
---  used for Get_Exc_Stack_Addr
---           Abort_Defer/Undefer
-
 with System.Aux_DEC;
---  used for Short_Address
-
-with Ada.Unchecked_Conversion;
-with Ada.Unchecked_Deallocation;
 
 package body System.Task_Primitives.Operations is
 
index d45ef18b9905253b6d6eb43ccfc55518a959bbf4..7938ae1002e17aff9b6531fc7e61044d35ddf047 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 package contains all the GNULL primitives that interface directly
---  with the underlying OS.
+--  This package contains all the GNULL primitives that interface directly with
+--  the underlying OS.
 
 with System.Parameters;
---  used for Size_Type
-
 with System.Tasking;
---  used for Task_Id
-
 with System.OS_Interface;
---  used for Thread_Id
 
 package System.Task_Primitives.Operations is
    pragma Preelaborate;
index 509b0d030efed9ea4e12473e41d3764a2ed14fd0..08802c6e22f7fb26584a8df75198db3fec455749 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1999-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1999-2008, 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- --
@@ -46,31 +46,18 @@ pragma Polling (Off);
 --  tasking operations. It causes infinite loops and other problems.
 
 with Ada.Exceptions;
---  used for Exception_Occurrence
 
 with System.Task_Primitives.Operations;
---  used for Enter_Task
---           Write_Lock
---           Unlock
---           Wakeup
---           Get_Priority
-
-with System.Soft_Links;
---  used for the non-tasking routines (*_NT) that refer to global data.
---  They are needed here before the tasking run time has been elaborated.
---  used for Create_TSD
---  This package also provides initialization routines for task specific data.
---  The GNARL must call these to be sure that all non-tasking
---  Ada constructs will work.
-
 with System.Soft_Links.Tasking;
---  Used for Init_Tasking_Soft_Links
-
 with System.Secondary_Stack;
---  used for SS_Init;
-
 with System.Storage_Elements;
---  used for Storage_Array;
+
+with System.Soft_Links;
+--  Used for the non-tasking routines (*_NT) that refer to global data. They
+--  are needed here before the tasking run time has been elaborated. used for
+--  Create_TSD This package also provides initialization routines for task
+--  specific data. The GNARL must call these to be sure that all non-tasking
+--  Ada constructs will work.
 
 package body System.Tasking.Restricted.Stages is
 
index 1525bd9ea1e4c0e0a6c42266a33bfbf03a4c63ce..6f0e36b43e61b64315d694004c86544222e7c07e 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 --  System.Protected_Objects.Single_Entry
 
 with System.Task_Info;
---  used for Task_Info_Type
-
 with System.Parameters;
---  used for Size_Type
 
 package System.Tasking.Restricted.Stages is
    pragma Elaborate_Body;
index 5b3bb2d29e528cf11f692bd8c908a91e52fc7504..557bf9a8cb31773dbf18671848a9b1b43e0976e3 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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 Style_Checks (All_Checks);
---  Turn off subprogram alpha ordering check, since we group soft link
---  bodies and dummy soft link bodies together separately in this unit.
+--  Turn off subprogram alpha ordering check, since we group soft link bodies
+--  and dummy soft link bodies together separately in this unit.
 
 pragma Polling (Off);
---  Turn polling off for this package. We don't need polling during any
---  of the routines in this package, and more to the point, if we try
---  to poll it can cause infinite loops.
+--  Turn polling off for this package. We don't need polling during any of the
+--  routines in this package, and more to the point, if we try to poll it can
+--  cause infinite loops.
 
 with Ada.Exceptions;
---  Used for Exception_Occurrence_Access
 
 with System.Task_Primitives;
---  Used for Lock
-
 with System.Task_Primitives.Operations;
---  Used for Set_Priority
---           Write_Lock
---           Unlock
---           Initialize_Lock
-
 with System.Soft_Links;
---  Used for the non-tasking routines (*_NT) that refer to global data.
---  They are needed here before the tasking run time has been elaborated.
-
 with System.Soft_Links.Tasking;
---  Used for Init_Tasking_Soft_Links
-
 with System.Tasking.Debug;
---  Used for Trace
-
 with System.Parameters;
---  used for Single_Lock
 
 package body System.Tasking.Initialization is
 
index 3a4cbe5594597bf4ecbc66a56463eaf62fd7085f..7d78f5112a745eb3c40c251caab9571775ac668f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.Task_Primitives.Operations;
---  used for Self
-
 with System.Storage_Elements;
---  Needed for initializing Stack_Info.Size
 
 package body System.Tasking is
 
index e8c0653deb61157421caf76292dfc5364154cbea..045f176db0230077c06f3a6645feb39e5b438681 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 --  Any changes to this interface may require corresponding compiler changes.
 
 with Ada.Exceptions;
---  Used for Exception_Id
---           Exception_Occurrence
+with Ada.Unchecked_Conversion;
 
 with System.Parameters;
---  used for Size_Type
-
 with System.Task_Info;
---  used for Task_Info_Type
-
 with System.Soft_Links;
---  used for TSD
-
 with System.Task_Primitives;
---  used for Private_Data
-
 with System.Stack_Usage;
---  used for Stack_Analyzer
-
-with Ada.Unchecked_Conversion;
 
 package System.Tasking is
    pragma Preelaborate;
index 71a8fce635a9f10f32b87ae6d14b7a38b320f6fd..6220c6ba02254cd7a4759d20318ea15976876305 100755 (executable)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---                     Copyright (C) 1997-2007, AdaCore                     --
+--                     Copyright (C) 1997-2008, AdaCore                     --
 --                                                                          --
 -- 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- --
@@ -32,7 +32,6 @@
 ------------------------------------------------------------------------------
 
 with System.Soft_Links;
---  used for Lock_Task, Unlock_Task
 
 package body System.Task_Lock is
 
index 76be710e60e24ebe411c5eec9191a21b20f0e13b..06cb9c13d6ed26cab2c02cfb063ce336712ba0cb 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005 Free Software Foundation, Inc.          --
+--          Copyright (C) 1991-2008, 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- --
@@ -34,8 +34,8 @@
 --  This is a no tasking version of this package
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 package System.Task_Primitives is
    pragma Preelaborate;
index 311df3fcae28b018880e1fe2f1997c6a9de6338f..9ed8b0111290ad4286db8362502e9ad8a3a779c8 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005 Free Software Foundation, Inc.          --
+--          Copyright (C) 1991-2008, 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 package provides low-level support for most tasking features
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.OS_Interface;
---  used for pthread_mutex_t
---           pthread_cond_t
---           pthread_t
 
 package System.Task_Primitives is
    pragma Preelaborate;
index 03eb447ac3f3c805c6928cca70da1eed68ae9594..7d85e67392f899eb7e5be9af23bc5abe4544822d 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2005, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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 LynxOS version of this package, derived from s-taspri-posix.ads
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.OS_Interface;
---  used for pthread_mutex_t
---           pthread_cond_t
---           pthread_t
 
 package System.Task_Primitives is
    pragma Preelaborate;
index 8af68156a1002c45486f15590be15e198437bbab..5997cba640c090ea35d9f534be0ece0d6f675aee 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005 Free Software Foundation, Inc.          --
+--          Copyright (C) 1991-2008, 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 NT (native) version of this package
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.OS_Interface;
---  used for pthread_mutex_t
---           pthread_cond_t
---           pthread_t
 
 package System.Task_Primitives is
    pragma Preelaborate;
index 22bad81b4e0f2886fa6a03e27e14e3e8645ee451..c59a780c16123160e5029808390bcb9b79199555 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2005, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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- --
 --  Note: this file can only be used for POSIX compliant systems
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.OS_Interface;
---  used for pthread_mutex_t
---           pthread_cond_t
---           pthread_t
 
 package System.Task_Primitives is
    pragma Preelaborate;
index 3f4772bfc01ae865b411d6d798b2d276068b9910..810f89c61a65f82aa8d4c1f8bb9f8cdeb5127461 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 package provides low-level support for most tasking features
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
-with System.OS_Interface;
---  used for mutex_t
---           cond_t
---           thread_t
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with Ada.Unchecked_Conversion;
 
+with System.OS_Interface;
+
 package System.Task_Primitives is
    pragma Preelaborate;
 
index db281adc32e352642f0fa6a738909db3630123a7..d666dfea396a49c71fb7ed684cd536eaec29be9a 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005 Free Software Foundation, Inc.          --
+--          Copyright (C) 1991-2008, 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 package provides low-level support for most tasking features
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with Interfaces.C;
---  used for int
---           size_t
 
 with System.OS_Interface;
---  used for pthread_mutex_t
---           pthread_cond_t
---           pthread_t
 
 package System.Task_Primitives is
    pragma Preelaborate;
index 7f3d8eae3e8a4392edda4e0c768434b4c9545c82..d2e78cb6cb6e069cbb7b805cf9b8a8b405e3ae78 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1991-2005 Free Software Foundation, Inc.          --
+--          Copyright (C) 1991-2008, 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 package provides low-level support for most tasking features
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with Interfaces.C;
---  used for int
---           size_t
 
 with System.OS_Interface;
---  used for pthread_mutex_t
---           pthread_cond_t
---           pthread_t
 
 package System.Task_Primitives is
    pragma Preelaborate;
index e42535cae008053cdc8d5308aa6674ebd701d168..b499b217becb78657db13581a13753a713526fc1 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 2001-2006 Free Software Foundation, Inc.          --
+--          Copyright (C) 2001-2008, 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- --
@@ -34,8 +34,8 @@
 --  This is a VxWorks version of this package
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.OS_Interface;
 
index 55b41c7fae92e2ccfa7e7d495a13505494982f51..7a4aac8d3868055ba2447bf76c264d8b0df7db3c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2006, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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 version of the body implements queueing policy according to the
---  policy specified by the pragma Queuing_Policy. When no such pragma
---  is specified FIFO policy is used as default.
+--  This version of the body implements queueing policy according to the policy
+--  specified by the pragma Queuing_Policy. When no such pragma is specified
+--  FIFO policy is used as default.
 
 with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Unlock
-
 with System.Tasking.Initialization;
---  used for Wakeup_Entry_Caller
-
 with System.Parameters;
---  used for Single_Lock
 
 package body System.Tasking.Queuing is
 
index 40111c8fd3a27f2835e12511d55c20c9966213f7..d7cbc01ebc884e95e1027bff22c929eec3feb70f 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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- --
 ------------------------------------------------------------------------------
 
 with System.Task_Primitives.Operations;
---  used for Get_Priority
---           Set_Priority
---           Write_Lock
---           Unlock
---           Sleep
---           Wakeup
---           Timed_Sleep
-
 with System.Tasking.Entry_Calls;
---  Used for Wait_For_Completion
---           Wait_For_Completion_With_Timeout
---           Wait_Until_Abortable
-
 with System.Tasking.Initialization;
---  used for Defer_Abort
---           Undefer_Abort
---           Do_Pending_Action
-
 with System.Tasking.Queuing;
---  used for Enqueue
---           Dequeue_Head
---           Select_Task_Entry_Call
---           Count_Waiting
-
 with System.Tasking.Utilities;
---  used for Check_Exception
---           Make_Passive
---           Wakeup_Entry_Caller
---           Exit_One_ATC_Level
-
 with System.Tasking.Protected_Objects.Operations;
---  used for PO_Do_Or_Queue
---           PO_Service_Entries
---           Lock_Entries
-
 with System.Tasking.Debug;
---  used for Trace
-
 with System.Restrictions;
---  used for Abort_Allowed
-
 with System.Parameters;
---  used for Single_Lock
---           Runtime_Traces
-
 with System.Traces.Tasking;
---  used for Send_Trace_Info
 
 package body System.Tasking.Rendezvous is
 
@@ -402,8 +364,7 @@ package body System.Tasking.Rendezvous is
       if System.Tasking.Detect_Blocking
         and then STPO.Self.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       Call_Synchronous
@@ -1037,8 +998,7 @@ package body System.Tasking.Rendezvous is
                end if;
 
                Initialization.Undefer_Abort (Self_Id);
-               Ada.Exceptions.Raise_Exception
-                 (Program_Error'Identity, "Entry call not a delay mode");
+               raise Program_Error with "Entry call not a delay mode";
             end if;
       end case;
 
@@ -1351,8 +1311,7 @@ package body System.Tasking.Rendezvous is
       if System.Tasking.Detect_Blocking
         and then Self_Id.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       if Parameters.Runtime_Traces then
@@ -1719,8 +1678,7 @@ package body System.Tasking.Rendezvous is
       if System.Tasking.Detect_Blocking
         and then Self_Id.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       Initialization.Defer_Abort (Self_Id);
index 67fdc5a1437f5b7c2ef758a8b2c19c4b7b908cad..73f74ba75fe8d32710f065b313c29329bb6e6243 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 --  Any changes to this interface may require corresponding compiler changes.
 
 with Ada.Exceptions;
---  Used for, Exception_Id
 
 with System.Tasking.Protected_Objects.Entries;
---  used for Protection_Entries
 
 package System.Tasking.Rendezvous is
 
index 9c574f06dc81442c2221ef7676a8ea07eb507f1f..22da42bb08f08632c2e30d1c62061168909a03db 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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 Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with Ada.Exceptions;
---  Used for Raise_Exception
+with Ada.Unchecked_Deallocation;
 
 with System.Tasking.Debug;
---  Used for enabling tasking facilities with gdb
-
 with System.Address_Image;
---  Used for the function itself
-
 with System.Task_Primitives.Operations;
---  Used for Finalize_Lock
---           Enter_Task
---           Write_Lock
---           Unlock
---           Sleep
---           Wakeup
---           Get_Priority
---           Lock/Unlock_RTS
---           New_ATCB
-
-with System.Soft_Links;
---  These are procedure pointers to non-tasking routines that use task
---  specific data. In the absence of tasking, these routines refer to global
---  data. In the presense of tasking, they must be replaced with pointers to
---  task-specific versions. Also used for Create_TSD, Destroy_TSD,
---  Get_Current_Excep, Finalize_Global_List, Task_Termination, Handler.
-
-with System.Tasking.Initialization;
---  Used for Remove_From_All_Tasks_List
---           Defer_Abort
---           Undefer_Abort
---           Finalize_Attributes_Link
---           Initialize_Attributes_Link
-
-pragma Elaborate_All (System.Tasking.Initialization);
---  This insures that tasking is initialized if any tasks are created
-
 with System.Tasking.Utilities;
---  Used for Make_Passive
---           Abort_One_Task
---           Abort_Tasks
-
 with System.Tasking.Queuing;
---  Used for Dequeue_Head
-
 with System.Tasking.Rendezvous;
---  Used for Call_Simple
-
 with System.OS_Primitives;
---  Used for Delay_Modes
-
 with System.Secondary_Stack;
---  Used for SS_Init
-
 with System.Storage_Elements;
---  Used for Storage_Array
-
 with System.Restrictions;
---  Used for Abort_Allowed
-
 with System.Standard_Library;
---  Used for Exception_Trace
-
 with System.Traces.Tasking;
---  Used for Send_Trace_Info
+with System.Stack_Usage;
 
-with Ada.Unchecked_Deallocation;
---  To recover from failure of ATCB initialization
+with System.Soft_Links;
+--  These are procedure pointers to non-tasking routines that use task
+--  specific data. In the absence of tasking, these routines refer to global
+--  data. In the presense of tasking, they must be replaced with pointers to
+--  task-specific versions. Also used for Create_TSD, Destroy_TSD,
+--  Get_Current_Excep, Finalize_Global_List, Task_Termination, Handler.
 
-with System.Stack_Usage;
+with System.Tasking.Initialization;
+pragma Elaborate_All (System.Tasking.Initialization);
+--  This insures that tasking is initialized if any tasks are created
 
 package body System.Tasking.Stages is
 
@@ -166,20 +123,20 @@ package body System.Tasking.Stages is
    --  This procedure must be called with abort deferred.
 
    procedure Abort_Dependents (Self_ID : Task_Id);
-   --  Abort all the direct dependents of Self at its current master
-   --  nesting level, plus all of their dependents, transitively.
-   --  RTS_Lock should be locked by the caller.
+   --  Abort all the direct dependents of Self at its current master nesting
+   --  level, plus all of their dependents, transitively. RTS_Lock should be
+   --  locked by the caller.
 
    procedure Vulnerable_Free_Task (T : Task_Id);
-   --  Recover all runtime system storage associated with the task T.
-   --  This should only be called after T has terminated and will no
-   --  longer be referenced.
+   --  Recover all runtime system storage associated with the task T. This
+   --  should only be called after T has terminated and will no longer be
+   --  referenced.
    --
-   --  For tasks created by an allocator that fails, due to an exception,
-   --  it is called from Expunge_Unactivated_Tasks.
+   --  For tasks created by an allocator that fails, due to an exception, it is
+   --  called from Expunge_Unactivated_Tasks.
    --
-   --  It is also called from Ada.Unchecked_Deallocation, for objects that
-   --  are or contain tasks.
+   --  It is also called from Ada.Unchecked_Deallocation, for objects that are
+   --  or contain tasks.
    --
    --  Different code is used at master completion, in Terminate_Dependents,
    --  due to a need for tighter synchronization with the master.
@@ -233,28 +190,27 @@ package body System.Tasking.Stages is
    -- Activate_Tasks --
    --------------------
 
-   --  Note that locks of activator and activated task are both locked
-   --  here. This is necessary because C.Common.State and
-   --  Self.Common.Wait_Count have to be synchronized. This is safe from
-   --  deadlock because the activator is always created before the activated
-   --  task. That satisfies our in-order-of-creation ATCB locking policy.
-
-   --  At one point, we may also lock the parent, if the parent is
-   --  different from the activator. That is also consistent with the
-   --  lock ordering policy, since the activator cannot be created
-   --  before the parent.
-
-   --  Since we are holding both the activator's lock, and Task_Wrapper
-   --  locks that before it does anything more than initialize the
-   --  low-level ATCB components, it should be safe to wait to update
-   --  the counts until we see that the thread creation is successful.
-
-   --  If the thread creation fails, we do need to close the entries
-   --  of the task. The first phase, of dequeuing calls, only requires
-   --  locking the acceptor's ATCB, but the waking up of the callers
-   --  requires locking the caller's ATCB. We cannot safely do this
-   --  while we are holding other locks. Therefore, the queue-clearing
-   --  operation is done in a separate pass over the activation chain.
+   --  Note that locks of activator and activated task are both locked here.
+   --  This is necessary because C.Common.State and Self.Common.Wait_Count have
+   --  to be synchronized. This is safe from deadlock because the activator is
+   --  always created before the activated task. That satisfies our
+   --  in-order-of-creation ATCB locking policy.
+
+   --  At one point, we may also lock the parent, if the parent is different
+   --  from the activator. That is also consistent with the lock ordering
+   --  policy, since the activator cannot be created before the parent.
+
+   --  Since we are holding both the activator's lock, and Task_Wrapper locks
+   --  that before it does anything more than initialize the low-level ATCB
+   --  components, it should be safe to wait to update the counts until we see
+   --  that the thread creation is successful.
+
+   --  If the thread creation fails, we do need to close the entries of the
+   --  task. The first phase, of dequeuing calls, only requires locking the
+   --  acceptor's ATCB, but the waking up of the callers requires locking the
+   --  caller's ATCB. We cannot safely do this while we are holding other
+   --  locks. Therefore, the queue-clearing operation is done in a separate
+   --  pass over the activation chain.
 
    procedure Activate_Tasks (Chain_Access : Activation_Chain_Access) is
       Self_ID        : constant Task_Id := STPO.Self;
@@ -272,8 +228,7 @@ package body System.Tasking.Stages is
       if System.Tasking.Detect_Blocking
         and then Self_ID.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       pragma Debug
@@ -299,8 +254,8 @@ package body System.Tasking.Stages is
             All_Elaborated := False;
          end if;
 
-         --  Reverse the activation chain so that tasks are
-         --  activated in the same order they're declared.
+         --  Reverse the activation chain so that tasks are activated in the
+         --  same order they're declared.
 
          Next_C := C.Common.Activation_Link;
          C.Common.Activation_Link := Last_C;
@@ -313,8 +268,7 @@ package body System.Tasking.Stages is
       if not All_Elaborated then
          Unlock_RTS;
          Initialization.Undefer_Abort_Nestable (Self_ID);
-         Raise_Exception
-           (Program_Error'Identity, "Some tasks have not been elaborated");
+         raise Program_Error with "Some tasks have not been elaborated";
       end if;
 
       --  Activate all the tasks in the chain. Creation of the thread of
@@ -341,10 +295,10 @@ package body System.Tasking.Stages is
                  (C.Common.Compiler_Data.Pri_Stack_Info.Size),
                Activate_Prio, Success);
 
-            --  There would be a race between the created task and the
-            --  creator to do the following initialization, if we did not
-            --  have a Lock/Unlock_RTS pair in the task wrapper to prevent
-            --  it from racing ahead.
+            --  There would be a race between the created task and the creator
+            --  to do the following initialization, if we did not have a
+            --  Lock/Unlock_RTS pair in the task wrapper to prevent it from
+            --  racing ahead.
 
             if Success then
                C.Common.State := Runnable;
@@ -380,8 +334,8 @@ package body System.Tasking.Stages is
          Unlock_RTS;
       end if;
 
-      --  Close the entries of any tasks that failed thread creation,
-      --  and count those that have not finished activation.
+      --  Close the entries of any tasks that failed thread creation, and count
+      --  those that have not finished activation.
 
       Write_Lock (Self_ID);
       Self_ID.Common.State := Activator_Sleep;
@@ -428,8 +382,7 @@ package body System.Tasking.Stages is
 
       if Self_ID.Common.Activation_Failed then
          Self_ID.Common.Activation_Failed := False;
-         Raise_Exception (Tasking_Error'Identity,
-           "Failure during activation");
+         raise Tasking_Error with "Failure during activation";
       end if;
    end Activate_Tasks;
 
@@ -500,8 +453,8 @@ package body System.Tasking.Stages is
    -- Create_Task --
    -----------------
 
-   --  Compiler interface only. Do not call from within the RTS.
-   --  This must be called to create a new task.
+   --  Compiler interface only. Do not call from within the RTS. This must be
+   --  called to create a new task.
 
    procedure Create_Task
      (Priority      : Integer;
@@ -534,15 +487,13 @@ package body System.Tasking.Stages is
            "create task after awaiting termination";
       end if;
 
-      --  If pragma Detect_Blocking is active must be checked whether
-      --  this potentially blocking operation is called from a
-      --  protected action.
+      --  If pragma Detect_Blocking is active must be checked whether this
+      --  potentially blocking operation is called from a protected action.
 
       if System.Tasking.Detect_Blocking
         and then Self_ID.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       pragma Debug
@@ -572,19 +523,18 @@ package body System.Tasking.Stages is
       exception
          when others =>
             Initialization.Undefer_Abort_Nestable (Self_ID);
-            Raise_Exception (Storage_Error'Identity, "Cannot allocate task");
+            raise Storage_Error with "Cannot allocate task";
       end;
 
-      --  RTS_Lock is used by Abort_Dependents and Abort_Tasks.
-      --  Up to this point, it is possible that we may be part of
-      --  a family of tasks that is being aborted.
+      --  RTS_Lock is used by Abort_Dependents and Abort_Tasks. Up to this
+      --  point, it is possible that we may be part of a family of tasks that
+      --  is being aborted.
 
       Lock_RTS;
       Write_Lock (Self_ID);
 
-      --  Now, we must check that we have not been aborted.
-      --  If so, we should give up on creating this task,
-      --  and simply return.
+      --  Now, we must check that we have not been aborted. If so, we should
+      --  give up on creating this task, and simply return.
 
       if not Self_ID.Callable then
          pragma Assert (Self_ID.Pending_ATC_Level = 0);
@@ -610,8 +560,7 @@ package body System.Tasking.Stages is
          Unlock (Self_ID);
          Unlock_RTS;
          Initialization.Undefer_Abort_Nestable (Self_ID);
-         Raise_Exception
-           (Storage_Error'Identity, "Failed to initialize task");
+         raise Storage_Error with "Failed to initialize task";
       end if;
 
       if Master = Foreign_Task_Level + 2 then
@@ -710,8 +659,8 @@ package body System.Tasking.Stages is
       Initialization.Defer_Abort_Nestable (Self_ID);
 
       --  ???
-      --  Experimentation has shown that abort is sometimes (but not
-      --  always) already deferred when this is called.
+      --  Experimentation has shown that abort is sometimes (but not always)
+      --  already deferred when this is called.
 
       --  That may indicate an error. Find out what is going on
 
@@ -749,9 +698,9 @@ package body System.Tasking.Stages is
    ---------------------------
 
    --  ???
-   --  We have a potential problem here if finalization of global
-   --  objects does anything with signals or the timer server, since
-   --  by that time those servers have terminated.
+   --  We have a potential problem here if finalization of global objects does
+   --  anything with signals or the timer server, since by that time those
+   --  servers have terminated.
 
    --  It is hard to see how that would occur
 
@@ -767,11 +716,10 @@ package body System.Tasking.Stages is
    begin
       if Self_ID.Deferral_Level = 0 then
          --  ???
-         --  In principle, we should be able to predict whether
-         --  abort is already deferred here (and it should not be deferred
-         --  yet but in practice it seems Finalize_Global_Tasks is being
-         --  called sometimes, from RTS code for exceptions, with abort already
-         --  deferred.
+         --  In principle, we should be able to predict whether abort is
+         --  already deferred here (and it should not be deferred yet but in
+         --  practice it seems Finalize_Global_Tasks is being called sometimes,
+         --  from RTS code for exceptions, with abort already deferred.
 
          Initialization.Defer_Abort_Nestable (Self_ID);
 
@@ -802,17 +750,17 @@ package body System.Tasking.Stages is
       end if;
 
       --  We need to explicitely wait for the task to be terminated here
-      --  because on true concurrent system, we may end this procedure
-      --  before the tasks are really terminated.
+      --  because on true concurrent system, we may end this procedure before
+      --  the tasks are really terminated.
 
       Write_Lock (Self_ID);
 
       loop
          exit when Utilities.Independent_Task_Count = 0;
 
-         --  We used to yield here, but this did not take into account
-         --  low priority tasks that would cause dead lock in some cases
-         --  (true FIFO scheduling).
+         --  We used to yield here, but this did not take into account low
+         --  priority tasks that would cause dead lock in some cases (true
+         --  FIFO scheduling).
 
          Timed_Sleep
            (Self_ID, 0.01, System.OS_Primitives.Relative,
@@ -1086,9 +1034,9 @@ package body System.Tasking.Stages is
 
       Stack_Guard (Self_ID, True);
 
-      --  Initialize low-level TCB components, that cannot be initialized
-      --  by the creator. Enter_Task sets Self_ID.Known_Tasks_Index and
-      --  also Self_ID.LL.Thread
+      --  Initialize low-level TCB components, that cannot be initialized by
+      --  the creator. Enter_Task sets Self_ID.Known_Tasks_Index and also
+      --  Self_ID.LL.Thread
 
       Enter_Task (Self_ID);
 
@@ -1163,7 +1111,7 @@ package body System.Tasking.Stages is
                Cause := Abnormal;
             end if;
          when others =>
-            --  ??? Using an E : others here causes CD2C11A to fail on Tru64.
+            --  ??? Using an E : others here causes CD2C11A to fail on Tru64
 
             Initialization.Defer_Abort_Nestable (Self_ID);
 
@@ -1231,10 +1179,10 @@ package body System.Tasking.Stages is
    -- Terminate_Task --
    --------------------
 
-   --  Before we allow the thread to exit, we must clean up. This is a
-   --  a delicate job. We must wake up the task's master, who may immediately
-   --  try to deallocate the ATCB out from under the current task WHILE IT IS
-   --  STILL EXECUTING.
+   --  Before we allow the thread to exit, we must clean up. This is a a
+   --  delicate job. We must wake up the task's master, who may immediately try
+   --  to deallocate the ATCB out from under the current task WHILE IT IS STILL
+   --  EXECUTING.
 
    --  To avoid this, the parent task must be blocked up to the latest
    --  statement executed. The trouble is that we have another step that we
@@ -1314,8 +1262,8 @@ package body System.Tasking.Stages is
       SSL.Destroy_TSD (Self_ID.Common.Compiler_Data);
       Initialization.Final_Task_Unlock (Self_ID);
 
-      --  WARNING: past this point, this thread must assume that the ATCB
-      --  has been deallocated. It should not be accessed again.
+      --  WARNING: past this point, this thread must assume that the ATCB has
+      --  been deallocated. It should not be accessed again.
 
       if Master_of_Task > 0 then
          STPO.Exit_Task;
@@ -1440,9 +1388,9 @@ package body System.Tasking.Stages is
       Unlock (Self_ID);
       Unlock (Activator);
 
-      --  After the activation, active priority should be the same
-      --  as base priority. We must unlock the Activator first,
-      --  though, since it should not wait if we have lower priority.
+      --  After the activation, active priority should be the same as base
+      --  priority. We must unlock the Activator first, though, since it
+      --  should not wait if we have lower priority.
 
       if Get_Priority (Self_ID) /= Self_ID.Common.Base_Priority then
          Write_Lock (Self_ID);
@@ -1523,12 +1471,12 @@ package body System.Tasking.Stages is
         (Self_ID.Deferral_Level > 0
           or else not System.Restrictions.Abort_Allowed);
 
-      --  Count how many active dependent tasks this master currently
-      --  has, and record this in Wait_Count.
+      --  Count how many active dependent tasks this master currently has, and
+      --  record this in Wait_Count.
 
-      --  This count should start at zero, since it is initialized to
-      --  zero for new tasks, and the task should not exit the
-      --  sleep-loops that use this count until the count reaches zero.
+      --  This count should start at zero, since it is initialized to zero for
+      --  new tasks, and the task should not exit the sleep-loops that use this
+      --  count until the count reaches zero.
 
       --  While we're counting, if we run across any unactivated tasks that
       --  belong to this master, we summarily terminate them as required by
@@ -1543,6 +1491,7 @@ package body System.Tasking.Stages is
          --  Terminate unactivated (never-to-be activated) tasks
 
          if C.Common.Activator = Self_ID and then C.Master_of_Task = CM then
+
             pragma Assert (C.Common.State = Unactivated);
             --  Usually, C.Common.Activator = Self_ID implies C.Master_of_Task
             --  = CM. The only case where C is pending activation by this
@@ -1581,9 +1530,8 @@ package body System.Tasking.Stages is
 
       --  Wait until dependent tasks are all terminated or ready to terminate.
       --  While waiting, the task may be awakened if the task's priority needs
-      --  changing, or this master is aborted. In the latter case, we want
-      --  to abort the dependents, and resume waiting until Wait_Count goes
-      --  to zero.
+      --  changing, or this master is aborted. In the latter case, we abort the
+      --  dependents, and resume waiting until Wait_Count goes to zero.
 
       Write_Lock (Self_ID);
 
@@ -1612,9 +1560,8 @@ package body System.Tasking.Stages is
       Self_ID.Common.State := Runnable;
       Unlock (Self_ID);
 
-      --  Dependents are all terminated or on terminate alternatives.
-      --  Now, force those on terminate alternatives to terminate, by
-      --  aborting them.
+      --  Dependents are all terminated or on terminate alternatives. Now,
+      --  force those on terminate alternatives to terminate, by aborting them.
 
       pragma Assert (Check_Unactivated_Tasks);
 
@@ -1644,14 +1591,14 @@ package body System.Tasking.Stages is
          --  rules prevent us from doing that without releasing the locks on C
          --  and Self_ID. Releasing and retaking those locks would be wasteful
          --  at best, and should not be considered further without more
-         --  detailed analysis of potential concurrent accesses to the
-         --  ATCBs of C and Self_ID.
+         --  detailed analysis of potential concurrent accesses to the ATCBs
+         --  of C and Self_ID.
 
-         --  Count how many "alive" dependent tasks this master currently
-         --  has, and record this in Wait_Count. This count should start at
-         --  zero, since it is initialized to zero for new tasks, and the
-         --  task should not exit the sleep-loops that use this count until
-         --  the count reaches zero.
+         --  Count how many "alive" dependent tasks this master currently has,
+         --  and record this in Wait_Count. This count should start at zero,
+         --  since it is initialized to zero for new tasks, and the task should
+         --  not exit the sleep-loops that use this count until the count
+         --  reaches zero.
 
          pragma Assert (Self_ID.Common.Wait_Count = 0);
 
@@ -1699,10 +1646,10 @@ package body System.Tasking.Stages is
       --  fast as we can, so there is no point.
 
       --  Remove terminated tasks from the list of Self_ID's dependents, but
-      --  don't free their ATCBs yet, because of lock order restrictions,
-      --  which don't allow us to call "free" or "malloc" while holding any
-      --  other locks. Instead, we put those ATCBs to be freed onto a
-      --  temporary list, called To_Be_Freed.
+      --  don't free their ATCBs yet, because of lock order restrictions, which
+      --  don't allow us to call "free" or "malloc" while holding any other
+      --  locks. Instead, we put those ATCBs to be freed onto a temporary list,
+      --  called To_Be_Freed.
 
       if not Single_Lock then
          Lock_RTS;
@@ -1747,13 +1694,12 @@ package body System.Tasking.Stages is
 
       --  ???
       --  The check "T.Common.Parent /= null ..." below is to prevent dangling
-      --  references to terminated library-level tasks, which could
-      --  otherwise occur during finalization of library-level objects.
-      --  A better solution might be to hook task objects into the
-      --  finalization chain and deallocate the ATCB when the task
-      --  object is deallocated. However, this change is not likely
-      --  to gain anything significant, since all this storage should
-      --  be recovered en-masse when the process exits.
+      --  references to terminated library-level tasks, which could otherwise
+      --  occur during finalization of library-level objects. A better solution
+      --  might be to hook task objects into the finalization chain and
+      --  deallocate the ATCB when the task object is deallocated. However,
+      --  this change is not likely to gain anything significant, since all
+      --  this storage should be recovered en-masse when the process exits.
 
       while To_Be_Freed /= null loop
          T := To_Be_Freed;
@@ -1803,6 +1749,7 @@ package body System.Tasking.Stages is
       --  ATCB. That would not cover the case of unactivated tasks. It also
       --  would force us to keep the underlying thread around past termination,
       --  since references to the ATCB are possible past termination.
+
       --  Currently, we get rid of the thread as soon as the task terminates,
       --  and let the parent recover the ATCB later.
 
@@ -1812,9 +1759,8 @@ package body System.Tasking.Stages is
       --  that no longer have ATCBs. It is not clear how much this would gain,
       --  since the user-level task object would still be occupying storage.
 
-      --  Make next master level up active.
-      --  We don't need to lock the ATCB, since the value is only updated by
-      --  each task for itself.
+      --  Make next master level up active. We don't need to lock the ATCB,
+      --  since the value is only updated by each task for itself.
 
       Self_ID.Master_Within := CM - 1;
    end Vulnerable_Complete_Master;
@@ -1876,9 +1822,8 @@ package body System.Tasking.Stages is
          Unlock_RTS;
       end if;
 
-      --  If Self_ID.Master_Within = Self_ID.Master_of_Task + 2
-      --  we may have dependent tasks for which we need to wait.
-      --  Otherwise, we can just exit.
+      --  If Self_ID.Master_Within = Self_ID.Master_of_Task + 2 we may have
+      --  dependent tasks for which we need to wait. Otherwise we just exit.
 
       if Self_ID.Master_Within = Self_ID.Master_of_Task + 2 then
          Vulnerable_Complete_Master (Self_ID);
@@ -1889,17 +1834,17 @@ package body System.Tasking.Stages is
    -- Vulnerable_Free_Task --
    --------------------------
 
-   --  Recover all runtime system storage associated with the task T.
-   --  This should only be called after T has terminated and will no
-   --  longer be referenced.
+   --  Recover all runtime system storage associated with the task T. This
+   --  should only be called after T has terminated and will no longer be
+   --  referenced.
 
-   --  For tasks created by an allocator that fails, due to an exception,
-   --  it is called from Expunge_Unactivated_Tasks.
+   --  For tasks created by an allocator that fails, due to an exception, it
+   --  is called from Expunge_Unactivated_Tasks.
 
-   --  For tasks created by elaboration of task object declarations it
-   --  is called from the finalization code of the Task_Wrapper procedure.
-   --  It is also called from Ada.Unchecked_Deallocation, for objects that
-   --  are or contain tasks.
+   --  For tasks created by elaboration of task object declarations it is
+   --  called from the finalization code of the Task_Wrapper procedure. It is
+   --  also called from Ada.Unchecked_Deallocation, for objects that are or
+   --  contain tasks.
 
    procedure Vulnerable_Free_Task (T : Task_Id) is
    begin
index 03abca42d8bcce65e4d21935c540b46039c89add..e96e2d906e7087689185b584ff347bf709825cf6 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
 
 --  Note: Only the compiler is allowed to use this interface, by generating
 --  direct calls to it, via Rtsfind.
+
 --  Any changes to this interface may require corresponding compiler changes
 --  in exp_ch9.adb and possibly exp_ch7.adb
 
 with System.Task_Info;
---  used for Task_Info_Type
-
 with System.Parameters;
---  used for Size_Type
 
 package System.Tasking.Stages is
    pragma Elaborate_Body;
index 6767f29c9e530528189ca2b6fd428712040f5d0a..0706444b4800a30fd5850f7968d0f7ccf74c6363 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1992-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1992-2008, 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 package provides RTS Internal Declarations.
+--  This package provides RTS Internal Declarations
+
 --  These declarations are not part of the GNARLI
 
 pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
+--  Turn off polling, we do not want ATC polling to take place during tasking
+--  operations. It causes infinite loops and other problems.
 
 with System.Tasking.Debug;
---  used for Known_Tasks
-
 with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Wakeup
---           Unlock
---           Sleep
---           Abort_Task
---           Lock/Unlock_RTS
-
 with System.Tasking.Initialization;
---  Used for Defer_Abort
---           Undefer_Abort
---           Locked_Abort_To_Level
-
 with System.Tasking.Queuing;
---  used for Dequeue_Call
---           Dequeue_Head
-
 with System.Parameters;
---  used for Single_Lock
---           Runtime_Traces
-
 with System.Traces.Tasking;
---  used for Send_Trace_Info
 
 package body System.Tasking.Utilities is
 
@@ -129,8 +110,7 @@ package body System.Tasking.Utilities is
       if System.Tasking.Detect_Blocking
         and then Self_Id.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       Initialization.Defer_Abort_Nestable (Self_Id);
index 1c672769e7f04fbaf299935259117631398af346..695f5164ecd6c6a20908e10155e15d1faadce8c8 100644 (file)
@@ -7,7 +7,7 @@
 --                                  B o d y                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2007, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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- --
 --                                                                          --
 ------------------------------------------------------------------------------
 
-with System.Task_Primitives.Operations;
---  used for Write_Lock
---           Unlock
---           Lock/Unlock_RTS
+with Ada.Unchecked_Conversion;
 
+with System.Task_Primitives.Operations;
 with System.Tasking.Initialization;
---  used for Defer_Abort
---           Undefer_Abort
-
-with Ada.Unchecked_Conversion;
 
 package body System.Tasking.Task_Attributes is
 
index bcf3f0d4c18fccc64d154f69cf910cd13100449b..43608af448b84f2f2178f761da595710300a8b6b 100644 (file)
@@ -7,7 +7,7 @@
 --                                  S p e c                                 --
 --                                                                          --
 --             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2007, AdaCore                     --
+--                     Copyright (C) 1995-2008, AdaCore                     --
 --                                                                          --
 -- 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 package provides support for the body of Ada.Task_Attributes
 
 with Ada.Finalization;
---  Used for Limited_Controlled
 
 with System.Storage_Elements;
---  Used for Integer_Address
 
 package System.Tasking.Task_Attributes is
 
index b3efad52af155de250523c1ddae29028e72e285f..fd8a16814e8b59477a30e4284df0986aba6bb9c4 100644 (file)
@@ -2,12 +2,11 @@
 --                                                                          --
 --                GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                  --
 --                                                                          --
---      S Y S T E M . T A S K I N G . P R O T E C T E D _ O B J E C T S .   --
---                               E N T R I E S                              --
+--                SYSTEM.TASKING.PROTECTED_OBJECTS.ENTRIES                  --
 --                                                                          --
---                                  B o d y                                 --
+--                               B o d y                                    --
 --                                                                          --
---         Copyright (C) 1998-2007, Free Software Foundation, Inc.          --
+--          Copyright (C) 1998-2008, 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- --
 
 --  Note: the compiler generates direct calls to this interface, via Rtsfind
 
-with Ada.Exceptions;
---  Used for Exception_Occurrence_Access
---           Raise_Exception
-
 with System.Task_Primitives.Operations;
---  Used for Initialize_Lock
---           Write_Lock
---           Unlock
---           Get_Priority
---           Wakeup
---           Set_Ceiling
+with System.Restrictions;
+with System.Parameters;
 
 with System.Tasking.Initialization;
---  Used for Defer_Abort,
---           Undefer_Abort,
---           Change_Base_Priority
-
 pragma Elaborate_All (System.Tasking.Initialization);
---  This insures that tasking is initialized if any protected objects are
---  created.
-
-with System.Restrictions;
---  Used for Abort_Allowed
-
-with System.Parameters;
---  Used for Single_Lock
+--  To insure that tasking is initialized if any protected objects are created
 
 package body System.Tasking.Protected_Objects.Entries is
 
@@ -77,7 +57,6 @@ package body System.Tasking.Protected_Objects.Entries is
 
    use Parameters;
    use Task_Primitives.Operations;
-   use Ada.Exceptions;
 
    ----------------
    -- Local Data --
@@ -126,7 +105,7 @@ package body System.Tasking.Protected_Objects.Entries is
          STPO.Write_Lock (Object.L'Unrestricted_Access, Ceiling_Violation);
 
          if Ceiling_Violation then
-            Raise_Exception (Program_Error'Identity, "Ceiling Violation");
+            raise Program_Error with "Ceiling Violation";
          end if;
 
          if Single_Lock then
@@ -246,8 +225,7 @@ package body System.Tasking.Protected_Objects.Entries is
    is
    begin
       if Object.Finalized then
-         Raise_Exception
-           (Program_Error'Identity, "Protected Object is finalized");
+         raise Program_Error with "Protected Object is finalized";
       end if;
 
       --  If pragma Detect_Blocking is active then, as described in the ARM
@@ -306,7 +284,7 @@ package body System.Tasking.Protected_Objects.Entries is
       Lock_Entries (Object, Ceiling_Violation);
 
       if Ceiling_Violation then
-         Raise_Exception (Program_Error'Identity, "Ceiling Violation");
+         raise Program_Error with "Ceiling Violation";
       end if;
    end Lock_Entries;
 
@@ -319,8 +297,7 @@ package body System.Tasking.Protected_Objects.Entries is
 
    begin
       if Object.Finalized then
-         Raise_Exception
-           (Program_Error'Identity, "Protected Object is finalized");
+         raise Program_Error with "Protected Object is finalized";
       end if;
 
       --  If pragma Detect_Blocking is active then, as described in the ARM
@@ -345,7 +322,7 @@ package body System.Tasking.Protected_Objects.Entries is
       Read_Lock (Object.L'Access, Ceiling_Violation);
 
       if Ceiling_Violation then
-         Raise_Exception (Program_Error'Identity, "Ceiling Violation");
+         raise Program_Error with "Ceiling Violation";
       end if;
 
       --  We are entering in a protected action, so that we increase the
index d1cc4e7d6f325a4d25dbbf15349b5dce99a80a96..afbdc6bac0d7e75b9275c6090d2facd380f5270c 100644 (file)
@@ -2,12 +2,11 @@
 --                                                                          --
 --                GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                  --
 --                                                                          --
---      S Y S T E M . T A S K I N G . P R O T E C T E D _ O B J E C T S .   --
---                               E N T R I E S                              --
+--                SYSTEM.TASKING.PROTECTED_OBJECTS.ENTRIES                  --
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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 package contains all the simple primitives related to
---  Protected_Objects with entries (i.e init, lock, unlock).
+--  This package contains all simple primitives related to Protected_Objects
+--  with entries (i.e init, lock, unlock).
+
 --  The handling of protected objects with no entries is done in
 --  System.Tasking.Protected_Objects, the complex routines for protected
 --  objects with entries in System.Tasking.Protected_Objects.Operations.
+
 --  The split between Entries and Operations is needed to break circular
 --  dependencies inside the run time.
 
@@ -44,8 +45,6 @@
 --  Any changes to this interface may require corresponding compiler changes.
 
 with Ada.Finalization;
---  used for Limited_Controlled
-
 with Ada.Unchecked_Conversion;
 
 package System.Tasking.Protected_Objects.Entries is
index f034f9e63a57f9c82ef8e4fa7f8e40231701bfab..7ff99e5e34dd623fe85de19680f713242d8e5cdc 100644 (file)
@@ -2,12 +2,11 @@
 --                                                                          --
 --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
 --                                                                          --
---     S Y S T E M . T A S K I N G . P R O T E C T E D _ O B J E C T S .    --
---                             O P E R A T I O N S                          --
+--               SYSTEM.TASKING.PROTECTED_OBJECTS.OPERATIONS                --
 --                                                                          --
 --                                  B o d y                                 --
 --                                                                          --
---         Copyright (C) 1998-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1998-2008, 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- --
@@ -32,8 +31,8 @@
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  This package contains all the extended primitives related to
---  Protected_Objects with entries.
+--  This package contains all extended primitives related to Protected_Objects
+--  with entries.
 
 --  The handling of protected objects with no entries is done in
 --  System.Tasking.Protected_Objects, the simple routines for protected
 --  Note: the compiler generates direct calls to this interface, via Rtsfind.
 
 with System.Task_Primitives.Operations;
---  used for Initialize_Lock
---           Write_Lock
---           Unlock
---           Get_Priority
---           Wakeup
-
 with System.Tasking.Entry_Calls;
---  used for Wait_For_Completion
---           Wait_Until_Abortable
---           Wait_For_Completion_With_Timeout
-
-with System.Tasking.Initialization;
---  Used for Defer_Abort,
---           Undefer_Abort,
---           Change_Base_Priority
-
-pragma Elaborate_All (System.Tasking.Initialization);
---  This insures that tasking is initialized if any protected objects are
---  created.
-
 with System.Tasking.Queuing;
---  used for Enqueue
---           Broadcast_Program_Error
---           Select_Protected_Entry_Call
---           Onqueue
---           Count_Waiting
-
 with System.Tasking.Rendezvous;
---  used for Task_Do_Or_Queue
-
 with System.Tasking.Utilities;
---  used for Exit_One_ATC_Level
-
 with System.Tasking.Debug;
---  used for Trace
-
 with System.Parameters;
---  used for Single_Lock
---           Runtime_Traces
-
 with System.Traces.Tasking;
---  used for Send_Trace_Info
-
 with System.Restrictions;
---  used for Run_Time_Restrictions
+
+with System.Tasking.Initialization;
+pragma Elaborate_All (System.Tasking.Initialization);
+--  Insures that tasking is initialized if any protected objects are created
 
 package body System.Tasking.Protected_Objects.Operations is
 
@@ -580,8 +546,7 @@ package body System.Tasking.Protected_Objects.Operations is
       end if;
 
       if Self_ID.ATC_Nesting_Level = ATC_Level'Last then
-         Raise_Exception
-           (Storage_Error'Identity, "not enough ATC nesting levels");
+         raise Storage_Error with "not enough ATC nesting levels";
       end if;
 
       --  If pragma Detect_Blocking is active then Program_Error must be
@@ -591,8 +556,7 @@ package body System.Tasking.Protected_Objects.Operations is
       if Detect_Blocking
         and then Self_ID.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       --  Self_ID.Deferral_Level should be 0, except when called from Finalize,
@@ -981,8 +945,7 @@ package body System.Tasking.Protected_Objects.Operations is
 
    begin
       if Self_Id.ATC_Nesting_Level = ATC_Level'Last then
-         Raise_Exception (Storage_Error'Identity,
-           "not enough ATC nesting levels");
+         raise Storage_Error with "not enough ATC nesting levels";
       end if;
 
       --  If pragma Detect_Blocking is active then Program_Error must be
@@ -992,8 +955,7 @@ package body System.Tasking.Protected_Objects.Operations is
       if Detect_Blocking
         and then Self_Id.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       if Runtime_Traces then
index 0316e0c6564547e11ff1da311b7121a3d7f53dc2..8620c796f4394e87c503722b1d0e7caa01775aba 100644 (file)
@@ -2,12 +2,11 @@
 --                                                                          --
 --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
 --                                                                          --
---     S Y S T E M . T A S K I N G . P R O T E C T E D _ O B J E C T S .    --
---                             O P E R A T I O N S                          --
+--               SYSTEM.TASKING.PROTECTED_OBJECTS.OPERATIONS                --
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -45,7 +44,6 @@
 --  Any changes to this interface may require corresponding compiler changes.
 
 with Ada.Exceptions;
---  Used for Exception_Id
 
 with System.Tasking.Protected_Objects.Entries;
 
index aeee03684b4fb5babf71f50ed31bfdc956f36b62..cfa7d3a7e7e57ae49e3b0ebc7c6ef13c81b4d128 100644 (file)
@@ -2,12 +2,11 @@
 --                                                                          --
 --                GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                  --
 --                                                                          --
---     S Y S T E M . T A S K I N G . P R O T E C T E D _ O B J E C T S .    --
---                          S I N G L E _ E N T R Y                         --
+--             SYSTEM.TASKING.PROTECTED_OBJECTS.SINGLE_ENTRY                --
 --                                                                          --
 --                                B o d y                                   --
 --                                                                          --
---         Copyright (C) 1998-2007, Free Software Foundation, Inc.          --
+--         Copyright (C) 1998-2008, 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- --
@@ -33,8 +32,8 @@
 ------------------------------------------------------------------------------
 
 pragma Style_Checks (All_Checks);
---  Turn off subprogram ordering check, since restricted GNARLI
---  subprograms are gathered together at end.
+--  Turn off subprogram ordering check, since restricted GNARLI subprograms are
+--  gathered together at end.
 
 --  This package provides an optimized version of Protected_Objects.Operations
 --  and Protected_Objects.Entries making the following assumptions:
@@ -60,19 +59,12 @@ pragma Polling (Off);
 --  operations. It can cause  infinite loops and other problems.
 
 pragma Suppress (All_Checks);
-
-with System.Task_Primitives.Operations;
---  used for Self
---           Finalize_Lock
---           Write_Lock
---           Unlock
+--  Why is this required ???
 
 with Ada.Exceptions;
---  used for Exception_Id
---           Raise_Exception
 
+with System.Task_Primitives.Operations;
 with System.Parameters;
---  used for Single_Lock
 
 package body System.Tasking.Protected_Objects.Single_Entry is
 
@@ -155,7 +147,7 @@ package body System.Tasking.Protected_Objects.Single_Entry is
       use type Ada.Exceptions.Exception_Id;
 
       E : constant Ada.Exceptions.Exception_Id :=
-        Entry_Call.Exception_To_Raise;
+            Entry_Call.Exception_To_Raise;
 
    begin
       if E /= Ada.Exceptions.Null_Id then
@@ -560,8 +552,7 @@ package body System.Tasking.Protected_Objects.Single_Entry is
       if Detect_Blocking
         and then Self_Id.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       Lock_Entry (Object);
@@ -686,8 +677,7 @@ package body System.Tasking.Protected_Objects.Single_Entry is
       if Detect_Blocking
         and then Self_Id.Common.Protected_Action_Nesting > 0
       then
-         Ada.Exceptions.Raise_Exception
-           (Program_Error'Identity, "potentially blocking operation");
+         raise Program_Error with "potentially blocking operation";
       end if;
 
       STPO.Write_Lock (Object.L'Access, Ceiling_Violation);
index 074ee71e4104da4e51b9a31f4914aa8abcffe85c..f8bf9114409945680de83d64f1f21d94e373feb6 100644 (file)
@@ -2,12 +2,11 @@
 --                                                                          --
 --                GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                  --
 --                                                                          --
---     S Y S T E M . T A S K I N G . P R O T E C T E D _ O B J E C T S .    --
---                          S I N G L E _ E N T R Y                         --
+--             SYSTEM.TASKING.PROTECTED_OBJECTS.SINGLE_ENTRY                --
 --                                                                          --
 --                                  S p e c                                 --
 --                                                                          --
---          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
+--          Copyright (C) 1992-2008, 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 package provides an optimized version of Protected_Objects.Operations
 --  and Protected_Objects.Entries making the following assumptions:
 --
---  PO have only one entry
---  There is only one caller at a time (No_Entry_Queue)
---  There is no dynamic priority support (No_Dynamic_Priorities)
---  No Abort Statements
---    (No_Abort_Statements, Max_Asynchronous_Select_Nesting => 0)
---  PO are at library level
---  None of the tasks will terminate (no need for finalization)
+--    PO have only one entry
+--    There is only one caller at a time (No_Entry_Queue)
+--    There is no dynamic priority support (No_Dynamic_Priorities)
+--    No Abort Statements
+--      (No_Abort_Statements, Max_Asynchronous_Select_Nesting => 0)
+--    PO are at library level
+--    None of the tasks will terminate (no need for finalization)
 --
 --  This interface is intended to be used in the ravenscar profile, the
 --  compiler is responsible for ensuring that the conditions mentioned above
@@ -268,7 +267,7 @@ package System.Tasking.Protected_Objects.Single_Entry is
 
    function Protected_Count_Entry (Object : Protection_Entry)
      return Natural;
-   --  Return the number of entry calls on Object (0 or 1).
+   --  Return the number of entry calls on Object (0 or 1)
 
    function Protected_Single_Entry_Caller (Object : Protection_Entry)
      return Task_Id;
index 60f48739dab350234199a9fc848de39a0f80ac1c..ead49f80649225c8240b8ff31e0219fc77d0739e 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -56,7 +56,7 @@ package body System.Val_Real is
       P : Integer;
       --  Local copy of string pointer
 
-      Base   : Long_Long_Float;
+      Base : Long_Long_Float;
       --  Base value
 
       Uval : Long_Long_Float;
index f2ed3217e2bc186eb846c76e05a654f08583ee8b..50be73acd9f74041497c6b57839308cd662bce1c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, 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- --
@@ -72,7 +72,6 @@ package body System.Val_Util is
             S (J) := To_Upper (S (J));
          end loop;
       end if;
-
    end Normalize_String;
 
    -------------------
@@ -156,7 +155,6 @@ package body System.Val_Util is
 
       Ptr.all := P;
       return X;
-
    end Scan_Exponent;
 
    --------------------