-- --
-- S p e c --
-- --
--- --
--- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005, 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- --
-- 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. --
+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
+-- Boston, MA 02110-1301, 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, --
S_Boolean,
S_Character,
S_Wide_Character,
+ S_Wide_Wide_Character,
S_String,
S_Wide_String,
+ S_Wide_Wide_String,
S_Duration,
S_Short_Short_Integer,
S_Storage_Error,
S_Tasking_Error,
- -- Binary Operators declared in package Standard.
+ -- Binary Operators declared in package Standard
S_Op_Add,
S_Op_And,
S_Op_Concat,
S_Op_Concatw,
+ S_Op_Concatww,
S_Op_Divide,
S_Op_Eq,
S_Op_Expon,
Standard_ASCII : Entity_Id renames SE (S_ASCII);
Standard_Character : Entity_Id renames SE (S_Character);
Standard_Wide_Character : Entity_Id renames SE (S_Wide_Character);
+ Standard_Wide_Wide_Character : Entity_Id renames SE (S_Wide_Wide_Character);
Standard_String : Entity_Id renames SE (S_String);
Standard_Wide_String : Entity_Id renames SE (S_Wide_String);
+ Standard_Wide_Wide_String : Entity_Id renames SE (S_Wide_Wide_String);
Standard_Boolean : Entity_Id renames SE (S_Boolean);
Standard_False : Entity_Id renames SE (S_False);
Standard_Op_And : Entity_Id renames SE (S_Op_And);
Standard_Op_Concat : Entity_Id renames SE (S_Op_Concat);
Standard_Op_Concatw : Entity_Id renames SE (S_Op_Concatw);
+ Standard_Op_Concatww : Entity_Id renames SE (S_Op_Concatww);
Standard_Op_Divide : Entity_Id renames SE (S_Op_Divide);
Standard_Op_Eq : Entity_Id renames SE (S_Op_Eq);
Standard_Op_Expon : Entity_Id renames SE (S_Op_Expon);
-- Highest List_Id value used by Standard (including those used by
-- normal list headers, element list headers, and list elements)
+ Boolean_Literals : array (Boolean) of Entity_Id;
+ -- Entities for the two boolean literals, used by the expander
+
-------------------------------------
-- Semantic Phase Special Entities --
-------------------------------------
-- This is a type used to represent the return type of procedures
Standard_Exception_Type : Entity_Id;
- -- This is a type used to represent the Etype of exceptions.
+ -- This is a type used to represent the Etype of exceptions
Standard_A_String : Entity_Id;
-- An access to String type used for building elements of tables
-- error messages ("expecting an integer type").
Any_Id : Entity_Id;
- -- Used to represent some unknown identifier. Used to lable undefined
+ -- Used to represent some unknown identifier. Used to label undefined
-- identifier references to prevent cascaded errors.
Any_Type : Entity_Id;
-- is propagated to avoid cascaded errors from a single type error.
Any_Access : Entity_Id;
- -- Used to resolve the overloaded literal NULL.
+ -- Used to resolve the overloaded literal NULL
Any_Array : Entity_Id;
-- Used to represent some unknown array type
Any_Boolean : Entity_Id;
- -- The context type of conditions in IF and WHILE statements.
+ -- The context type of conditions in IF and WHILE statements
Any_Character : Entity_Id;
-- Any_Character is used to label character literals, which in general
-- Used to represent some unknown fixed-point type
Any_Integer : Entity_Id;
- -- Used to represent some unknown integer type.
+ -- Used to represent some unknown integer type
Any_Modular : Entity_Id;
-- Used to represent the result type of a boolean operation on an
-- only legal in a modular context.
Any_Numeric : Entity_Id;
- -- Used to represent some unknown numeric type.
+ -- Used to represent some unknown numeric type
Any_Real : Entity_Id;
- -- Used to represent some unknown real type.
+ -- Used to represent some unknown real type
Any_Scalar : Entity_Id;
-- Used to represent some unknown scalar type
Universal_Real : Entity_Id;
-- Entity for universal real type. The bounds of this type correspond to
-- to the largest supported real type (i.e. Long_Long_Real). It is the
- -- type used for runtime calculations in type universal real.
+ -- type used for runtime calculations in type universal real. Note that
+ -- this type is always IEEE format, even if Long_Long_Real is Vax_Float
+ -- (and in that case the bounds don't correspond exactly).
Universal_Fixed : Entity_Id;
-- Entity for universal fixed type. This is a type with arbitrary