]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/ada/5gtasinf.adb
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / ada / 5gtasinf.adb
diff --git a/gcc/ada/5gtasinf.adb b/gcc/ada/5gtasinf.adb
deleted file mode 100644 (file)
index eba10d5..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                         GNAT COMPILER COMPONENTS                         --
---                                                                          --
---                     S Y S T E M . T A S K _ I N F O                      --
---                                                                          --
---                                 B o d y                                  --
---                                                                          --
---                            $Revision: 1.1.16.2 $
---                                                                          --
---          Copyright (C) 1992-1998 Free Software Foundation, Inc.          --
---                                                                          --
--- GNAT is free software;  you can  redistribute it  and/or modify it under --
--- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 2,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
--- for  more details.  You should have  received  a copy of the GNU General --
--- Public License  distributed with GNAT;  see file COPYING.  If not, write --
--- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
--- MA 02111-1307, USA.                                                      --
---                                                                          --
--- As a special exception,  if other files  instantiate  generics from this --
--- unit, or you link  this unit with other files  to produce an executable, --
--- this  unit  does not  by itself cause  the resulting  executable  to  be --
--- covered  by the  GNU  General  Public  License.  This exception does not --
--- however invalidate  any other reasons why  the executable file  might be --
--- covered by the  GNU Public License.                                      --
---                                                                          --
--- GNAT was originally developed  by the GNAT team at  New York University. --
--- Extensive contributions were provided by Ada Core Technologies Inc.      --
---                                                                          --
-------------------------------------------------------------------------------
-
---  This package body contains the routines associated with the implementation
---  of the Task_Info pragma.
-
---  This is the SGI specific version of this module.
-
-with Interfaces.C;
-with System.OS_Interface;
-with System;
-with Unchecked_Conversion;
-package body System.Task_Info is
-
-   use System.OS_Interface;
-   use type Interfaces.C.int;
-
-   function To_Resource_T is new
-     Unchecked_Conversion (Resource_Vector_T, resource_t);
-
-   MP_NPROCS : constant := 1;
-
-   function Sysmp (Cmd : Integer) return Integer;
-   pragma Import (C, Sysmp);
-
-   function Num_Processors (Cmd : Integer := MP_NPROCS) return Integer
-     renames Sysmp;
-
-   function Geteuid return Integer;
-   pragma Import (C, Geteuid);
-
-   Locking_Map : constant array (Page_Locking) of Interfaces.C.int :=
-     (NOLOCK   => 0,
-      PROCLOCK => 1,
-      TXTLOCK  => 2,
-      DATLOCK  => 4);
-
-   package body Resource_Vector_Functions is
-
-      function "+" (R : Resource_T)
-        return Resource_Vector_T is
-         Result  : Resource_Vector_T  := NO_RESOURCES;
-      begin
-         Result (Resource_T'Pos (R)) := True;
-         return Result;
-      end "+";
-
-      function "+" (R1, R2 : Resource_T)
-        return Resource_Vector_T is
-         Result  : Resource_Vector_T  := NO_RESOURCES;
-      begin
-         Result (Resource_T'Pos (R1)) := True;
-         Result (Resource_T'Pos (R2)) := True;
-         return Result;
-      end "+";
-
-      function "+" (R : Resource_T; S : Resource_Vector_T)
-        return Resource_Vector_T is
-         Result  : Resource_Vector_T := S;
-      begin
-         Result (Resource_T'Pos (R)) := True;
-         return Result;
-      end "+";
-
-      function "+" (S : Resource_Vector_T; R : Resource_T)
-        return Resource_Vector_T is
-         Result  : Resource_Vector_T :=  S;
-      begin
-         Result (Resource_T'Pos (R)) := True;
-         return Result;
-      end "+";
-
-      function "+" (S1, S2 : Resource_Vector_T)
-        return Resource_Vector_T is
-         Result  : Resource_Vector_T;
-      begin
-         Result :=  S1 or S2;
-         return Result;
-      end "+";
-
-      function "-" (S : Resource_Vector_T; R : Resource_T)
-        return Resource_Vector_T is
-         Result  : Resource_Vector_T := S;
-      begin
-         Result (Resource_T'Pos (R)) := False;
-         return Result;
-      end "-";
-
-   end Resource_Vector_Functions;
-
-   function New_Sproc (Attr : Sproc_Attributes) return sproc_t is
-      Sproc_Attr : aliased sproc_attr_t;
-      Sproc      : aliased sproc_t;
-      Status     : int;
-   begin
-      Status := sproc_attr_init (Sproc_Attr'Unrestricted_Access);
-      if Status = 0 then
-
-         Status := sproc_attr_setresources
-           (Sproc_Attr'Unrestricted_Access,
-            To_Resource_T (Attr.Sproc_Resources));
-
-         if Attr.CPU /= ANY_CPU then
-            if Attr.CPU > Num_Processors then
-               raise Invalid_CPU_Number;
-            end if;
-            Status := sproc_attr_setcpu
-              (Sproc_Attr'Unrestricted_Access,
-               int (Attr.CPU));
-         end if;
-
-         if Attr.Resident /= NOLOCK then
-
-            if Geteuid /= 0 then
-               raise Permission_Error;
-            end if;
-
-            Status := sproc_attr_setresident
-              (Sproc_Attr'Unrestricted_Access,
-                Locking_Map (Attr.Resident));
-         end if;
-
-         if Attr.NDPRI /= NDP_NONE then
---          if Geteuid /= 0 then
---             raise Permission_Error;
---          end if;
-
-            Status := sproc_attr_setprio
-              (Sproc_Attr'Unrestricted_Access,
-               int (Attr.NDPRI));
-         end if;
-
-         Status := sproc_create
-           (Sproc'Unrestricted_Access,
-            Sproc_Attr'Unrestricted_Access,
-            null,
-            System.Null_Address);
-
-         if Status /= 0 then
-            Status := sproc_attr_destroy (Sproc_Attr'Unrestricted_Access);
-            raise Sproc_Create_Error;
-         end if;
-
-         Status := sproc_attr_destroy (Sproc_Attr'Unrestricted_Access);
-
-      end if;
-
-      if Status /= 0 then
-         raise Sproc_Create_Error;
-      end if;
-
-      return Sproc;
-   end New_Sproc;
-
-   function New_Sproc
-     (Sproc_Resources : Resource_Vector_T      := NO_RESOURCES;
-      CPU             : CPU_Number             := ANY_CPU;
-      Resident        : Page_Locking           := NOLOCK;
-      NDPRI           : Non_Degrading_Priority := NDP_NONE)
-      return            sproc_t is
-
-      Attr : Sproc_Attributes :=
-        (Sproc_Resources, CPU, Resident, NDPRI);
-
-   begin
-      return New_Sproc (Attr);
-   end New_Sproc;
-
-   function Unbound_Thread_Attributes
-     (Thread_Resources : Resource_Vector_T := NO_RESOURCES;
-      Thread_Timeslice : Duration          := 0.0)
-      return             Thread_Attributes is
-   begin
-      return (False, Thread_Resources, Thread_Timeslice);
-   end Unbound_Thread_Attributes;
-
-   function Bound_Thread_Attributes
-     (Thread_Resources : Resource_Vector_T := NO_RESOURCES;
-      Thread_Timeslice : Duration          := 0.0;
-      Sproc            : sproc_t)
-      return             Thread_Attributes is
-   begin
-      return (True, Thread_Resources, Thread_Timeslice, Sproc);
-   end Bound_Thread_Attributes;
-
-   function Bound_Thread_Attributes
-     (Thread_Resources : Resource_Vector_T      := NO_RESOURCES;
-      Thread_Timeslice : Duration               := 0.0;
-      Sproc_Resources  : Resource_Vector_T      := NO_RESOURCES;
-      CPU              : CPU_Number             := ANY_CPU;
-      Resident         : Page_Locking           := NOLOCK;
-      NDPRI            : Non_Degrading_Priority := NDP_NONE)
-      return             Thread_Attributes is
-
-      Sproc : sproc_t := New_Sproc
-        (Sproc_Resources, CPU, Resident, NDPRI);
-
-   begin
-      return (True, Thread_Resources, Thread_Timeslice, Sproc);
-   end Bound_Thread_Attributes;
-
-   function New_Unbound_Thread_Attributes
-     (Thread_Resources : Resource_Vector_T := NO_RESOURCES;
-      Thread_Timeslice : Duration          := 0.0)
-      return             Task_Info_Type is
-   begin
-      return new Thread_Attributes'
-        (False, Thread_Resources, Thread_Timeslice);
-   end New_Unbound_Thread_Attributes;
-
-   function New_Bound_Thread_Attributes
-     (Thread_Resources : Resource_Vector_T := NO_RESOURCES;
-      Thread_Timeslice : Duration          := 0.0;
-      Sproc            : sproc_t)
-      return             Task_Info_Type is
-   begin
-      return new Thread_Attributes'
-        (True, Thread_Resources, Thread_Timeslice, Sproc);
-   end  New_Bound_Thread_Attributes;
-
-   function New_Bound_Thread_Attributes
-     (Thread_Resources : Resource_Vector_T      := NO_RESOURCES;
-      Thread_Timeslice : Duration               := 0.0;
-      Sproc_Resources  : Resource_Vector_T      := NO_RESOURCES;
-      CPU              : CPU_Number             := ANY_CPU;
-      Resident         : Page_Locking           := NOLOCK;
-      NDPRI            : Non_Degrading_Priority := NDP_NONE)
-      return             Task_Info_Type is
-
-      Sproc : sproc_t := New_Sproc
-        (Sproc_Resources, CPU, Resident, NDPRI);
-
-   begin
-      return new Thread_Attributes'
-        (True, Thread_Resources, Thread_Timeslice, Sproc);
-   end  New_Bound_Thread_Attributes;
-
-end System.Task_Info;