OSDN Git Service

2005-03-29 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 29 Mar 2005 16:23:06 +0000 (16:23 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 29 Mar 2005 16:23:06 +0000 (16:23 +0000)
* sem_util.ads: Minor reformatting
* gnat_rm.texi: Minor editing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97190 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/gnat_rm.texi
gcc/ada/sem_util.ads

index 6ba0fd9..572be84 100644 (file)
@@ -8,7 +8,7 @@
 @c                                                                            o
 @c                              G N A T _ RM                                  o
 @c                                                                            o
-@c              Copyright (C) 1995-2004 Free Software Foundation              o
+@c              Copyright (C) 1995-2005 Free Software Foundation              o
 @c                                                                            o
 @c                                                                            o
 @c  GNAT is maintained by Ada Core Technologies Inc (http://www.gnat.com).    o
@@ -5156,24 +5156,18 @@ representation item for a given entity if each non-static expression in
 the representation item is a name that statically denotes a constant
 declared before the entity.
 @end cartouche
-Followed.  GNAT does not support non-static expressions in representation
-clauses unless they are constants declared before the entity.  For
-example:
+Followed.  In fact, GNAT goes beyond the recommended level of support
+by allowing nonstatic expressions in some representation clauses even
+without the need to declare constants initialized with the values of
+such expressions.
+For example:
 
 @smallexample @c ada
-X : Some_Type;
-for X'Address use To_address (16#2000#);
+  X : Integer;
+  Y : Float;
+  for Y'Address use X'Address;>>
 @end smallexample
 
-@noindent
-will be rejected, since the To_Address expression is non-static.  Instead
-write:
-
-@smallexample @c ada
-X_Address : constant Address : = To_Address (16#2000#);
-X         : Some_Type;
-for X'Address use X_Address;
-@end smallexample
 
 @sp 1
 @cartouche
index 9ee5637..05df20c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2004, 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- --
@@ -391,7 +391,7 @@ package Sem_Util is
    --  to check if '=' has to be expanded into a bunch component comparaisons.
 
    function In_Instance return Boolean;
-   --  Returns True if the current scope is within a generic instance.
+   --  Returns True if the current scope is within a generic instance
 
    function In_Instance_Body return Boolean;
    --  Returns True if current scope is within the body of an instance, where
@@ -436,7 +436,7 @@ package Sem_Util is
    --  synthesized attribute.
 
    function Is_Actual_Parameter (N : Node_Id) return Boolean;
-   --  Determines if N is an actual parameter in a subprogram call.
+   --  Determines if N is an actual parameter in a subprogram call
 
    function Is_Aliased_View (Obj : Node_Id) return Boolean;
    --  Determine if Obj is an aliased view, i.e. the name of an
@@ -542,7 +542,7 @@ package Sem_Util is
    --  Return True if E is a remote access-to-class-wide-limited_private type
 
    function Is_Remote_Access_To_Subprogram_Type (E : Entity_Id) return Boolean;
-   --  Return True if E is a remote access to subprogram type.
+   --  Return True if E is a remote access to subprogram type
 
    function Is_Remote_Call (N : Node_Id) return Boolean;
    --  Return True if N denotes a potentially remote call
@@ -642,7 +642,7 @@ package Sem_Util is
    --  the call order, so this does not correspond to simply taking the
    --  next entry of the Parameter_Associations list. The argument is an
    --  actual previously returned by a call to First_Actual or Next_Actual.
-   --  Note tha the result produced is always an expression, not a parameter
+   --  Note that the result produced is always an expression, not a parameter
    --  assciation node, even if named notation was used.
 
    procedure Normalize_Actuals
@@ -783,15 +783,14 @@ package Sem_Util is
    --  Set the flag Is_Transient of the current scope
 
    procedure Set_Size_Info (T1, T2 : Entity_Id);
-   --  Copies the Esize field and Has_Biased_Representation flag from
-   --  (sub)type entity T2 to (sub)type entity T1. Also copies the
-   --  Is_Unsigned_Type flag in the fixed-point and discrete cases,
-   --  and also copies the alignment value from T2 to T1. It does NOT
-   --  copy the RM_Size field, which must be separately set if this
-   --  is required to be copied also.
+   --  Copies the Esize field and Has_Biased_Representation flag from sub(type)
+   --  entity T2 to (sub)type entity T1. Also copies the Is_Unsigned_Type flag
+   --  in the fixed-point and discrete cases, and also copies the alignment
+   --  value from T2 to T1. It does NOT copy the RM_Size field, which must be
+   --  separately set if this is required to be copied also.
 
    function Scope_Is_Transient  return Boolean;
-   --  True if the current scope is transient.
+   --  True if the current scope is transient
 
    function Static_Integer (N : Node_Id) return Uint;
    --  This function analyzes the given expression node and then resolves it
@@ -804,10 +803,10 @@ package Sem_Util is
    --  E1 and E2 refer to different objects
 
    function Subprogram_Access_Level (Subp : Entity_Id) return Uint;
-   --  Return the accessibility level of the view denoted by Subp.
+   --  Return the accessibility level of the view denoted by Subp
 
    procedure Trace_Scope (N : Node_Id; E : Entity_Id; Msg : String);
-   --  Print debugging information on entry to each unit being analyzed.
+   --  Print debugging information on entry to each unit being analyzed
 
    procedure Transfer_Entities (From : Entity_Id; To : Entity_Id);
    --  Move a list of entities from one scope to another, and recompute
@@ -817,14 +816,14 @@ package Sem_Util is
    --  Return the accessibility level of Typ
 
    function Unit_Declaration_Node (Unit_Id : Entity_Id) return Node_Id;
-   --  Unit_Id is the simple name of a program unit, this function returns
-   --  the corresponding xxx_Declaration node for the entity. Also applies
-   --  to the body entities for subprograms, tasks and protected units, in
-   --  which case it returns the subprogram, task or protected body node
-   --  for it. The unit may be a child unit with any number of ancestors.
+   --  Unit_Id is the simple name of a program unit, this function returns the
+   --  corresponding xxx_Declaration node for the entity. Also applies to the
+   --  body entities for subprograms, tasks and protected units, in which case
+   --  it returns the subprogram, task or protected body node for it. The unit
+   --  may be a child unit with any number of ancestors.
 
    function Universal_Interpretation (Opnd : Node_Id) return Entity_Id;
-   --  Yields universal_Integer or Universal_Real if this is a candidate.
+   --  Yields universal_Integer or Universal_Real if this is a candidate
 
    function Within_Init_Proc return Boolean;
    --  Determines if Current_Scope is within an init proc