OSDN Git Service

* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
[pf3gnuchains/gcc-fork.git] / gcc / ada / s-rident.ads
index bbe4223..110731f 100644 (file)
@@ -6,25 +6,23 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2008, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2009, 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- --
+-- ware  Foundation;  either version 3,  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,  51  Franklin  Street,  Fifth  Floor, --
--- Boston, MA 02110-1301, USA.                                              --
+-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
 --                                                                          --
--- 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.                                       --
+-- As a special exception under Section 7 of GPL version 3, you are granted --
+-- additional permissions described in the GCC Runtime Library Exception,   --
+-- version 3.1, as published by the Free Software Foundation.               --
+--                                                                          --
+-- You should have received a copy of the GNU General Public License and    --
+-- a copy of the GCC Runtime Library Exception along with this program;     --
+-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
+-- <http://www.gnu.org/licenses/>.                                          --
 --                                                                          --
 -- GNAT was originally developed  by the GNAT team at  New York University. --
 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
@@ -50,9 +48,9 @@ package System.Rident is
    --  The following enumeration type defines the set of restriction
    --  identifiers that are implemented in GNAT.
 
-   --  To add a new restriction identifier, add an entry with the name
-   --  to be used in the pragma, and add appropriate calls to the
-   --  Restrict.Check_Restriction routine.
+   --  To add a new restriction identifier, add an entry with the name to be
+   --  used in the pragma, and add calls to the Restrict.Check_Restriction
+   --  routine as appropriate.
 
    type Restriction_Id is
 
@@ -102,6 +100,7 @@ package System.Rident is
       No_Select_Statements,                    -- GNAT (Ravenscar)
       No_Specific_Termination_Handlers,        -- (RM D.7(10.7/2))
       No_Standard_Storage_Pools,               -- GNAT
+      No_Stream_Optimizations,                 -- GNAT
       No_Streams,                              -- GNAT
       No_Task_Allocators,                      -- (RM D.7(7))
       No_Task_Attributes_Package,              -- GNAT
@@ -198,7 +197,7 @@ package System.Rident is
    subtype All_Parameter_Restrictions is
      Restriction_Id range
        Max_Protected_Entries .. Max_Storage_At_Blocking;
-   --  All restrictions that are take a parameter
+   --  All restrictions that take a parameter
 
    subtype Checked_Parameter_Restrictions is
      All_Parameter_Restrictions range
@@ -224,8 +223,8 @@ package System.Rident is
    subtype Checked_Val_Parameter_Restrictions is
      Checked_Parameter_Restrictions range
        Max_Protected_Entries .. Max_Tasks;
-   --  Restrictions with parameter where the count is known at least in
-   --  some cases by the compiler/binder.
+   --  Restrictions with parameter where the count is known at least in some
+   --  cases by the compiler/binder.
 
    subtype Checked_Zero_Parameter_Restrictions is
      Checked_Parameter_Restrictions range
@@ -306,24 +305,29 @@ package System.Rident is
    -- Profile Definitions and Data --
    ----------------------------------
 
-   type Profile_Name is (Ravenscar, Restricted);
-   --  Names of recognized profiles
+   type Profile_Name is (No_Profile, Ravenscar, Restricted);
+   --  Names of recognized profiles. No_Profile is used to indicate that a
+   --  restriction came from pragma Restrictions[_Warning], as opposed to
+   --  pragma Profile[_Warning].
+
+   subtype Profile_Name_Actual is Profile_Name range Ravenscar .. Restricted;
+   --  Actual used profile names
 
    type Profile_Data is record
       Set : Restriction_Flags;
-      --  Set to True if given restriction must be set for the profile,
-      --  and False if it need not be set (False does not mean that it
-      --  must not be set, just that it need not be set). If the flag
-      --  is True for a parameter restriction, then the Value array
-      --  gives the maximum value permitted by the profile.
+      --  Set to True if given restriction must be set for the profile, and
+      --  False if it need not be set (False does not mean that it must not be
+      --  set, just that it need not be set). If the flag is True for a
+      --  parameter restriction, then the Value array gives the maximum value
+      --  permitted by the profile.
 
       Value : Restriction_Values;
-      --  An entry in this array is meaningful only if the corresponding
-      --  flag in Set is True. In that case, the value in this array is
-      --  the maximum value of the parameter permitted by the profile.
+      --  An entry in this array is meaningful only if the corresponding flag
+      --  in Set is True. In that case, the value in this array is the maximum
+      --  value of the parameter permitted by the profile.
    end record;
 
-   Profile_Info : array (Profile_Name) of Profile_Data :=
+   Profile_Info : array (Profile_Name_Actual) of Profile_Data :=
 
                      --  Restricted Profile