OSDN Git Service

(Nkind_In): New functions.
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Dec 2007 10:56:34 +0000 (10:56 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Dec 2007 10:56:34 +0000 (10:56 +0000)
Add support for new flags.

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

gcc/ada/atree.ads

index 5e2cba6..b99d349 100644 (file)
@@ -491,18 +491,6 @@ package Atree is
    --  entity ID values of the two entities are interchanged. Neither of the
    --  two entities may be list members.
 
-   procedure Delete_Node (Node : Node_Id);
-   --  The node, which must not be a list member, is deleted from the tree and
-   --  its type is set to N_Unused_At_End. It is an error (not necessarily
-   --  detected) to reference this node after it has been deleted. The
-   --  implementation of the body of Atree is free to reuse the node to
-   --  satisfy future node allocation requests, but is not required to do so.
-
-   procedure Delete_Tree (Node : Node_Id);
-   --  The entire syntactic subtree referenced by Node (i.e. the given node
-   --  and all its syntactic descendents) are deleted as described above for
-   --  Delete_Node.
-
    function Extend_Node (Node : Node_Id) return Entity_Id;
    --  This function returns a copy of its input node with an extension
    --  added. The fields of the extension are set to Empty. Due to the way
@@ -593,6 +581,68 @@ package Atree is
    --  Tests given Id for inequality with the Empty node. This allows notations
    --  like "if Present (Statement)" as opposed to "if Statement /= Empty".
 
+   --  Node_Kind tests, like the functions in Sinfo, but the first argument is
+   --  a Node_Id, and the tested field is Nkind (N).
+
+   function Nkind_In
+     (N  : Node_Id;
+      V1 : Node_Kind;
+      V2 : Node_Kind) return Boolean;
+
+   function Nkind_In
+     (N  : Node_Id;
+      V1 : Node_Kind;
+      V2 : Node_Kind;
+      V3 : Node_Kind) return Boolean;
+
+   function Nkind_In
+     (N  : Node_Id;
+      V1 : Node_Kind;
+      V2 : Node_Kind;
+      V3 : Node_Kind;
+      V4 : Node_Kind) return Boolean;
+
+   function Nkind_In
+     (N  : Node_Id;
+      V1 : Node_Kind;
+      V2 : Node_Kind;
+      V3 : Node_Kind;
+      V4 : Node_Kind;
+      V5 : Node_Kind) return Boolean;
+
+   function Nkind_In
+     (N  : Node_Id;
+      V1 : Node_Kind;
+      V2 : Node_Kind;
+      V3 : Node_Kind;
+      V4 : Node_Kind;
+      V5 : Node_Kind;
+      V6 : Node_Kind) return Boolean;
+
+   function Nkind_In
+     (N  : Node_Id;
+      V1 : Node_Kind;
+      V2 : Node_Kind;
+      V3 : Node_Kind;
+      V4 : Node_Kind;
+      V5 : Node_Kind;
+      V6 : Node_Kind;
+      V7 : Node_Kind) return Boolean;
+
+   function Nkind_In
+     (N  : Node_Id;
+      V1 : Node_Kind;
+      V2 : Node_Kind;
+      V3 : Node_Kind;
+      V4 : Node_Kind;
+      V5 : Node_Kind;
+      V6 : Node_Kind;
+      V7 : Node_Kind;
+      V8 : Node_Kind) return Boolean;
+
+   pragma Inline (Nkind_In);
+   --  Inline all above functions
+
    -----------------------------
    -- Entity Access Functions --
    -----------------------------
@@ -644,12 +694,15 @@ package Atree is
    --  The following procedures apply only to Entity_Id values, i.e.
    --  to extended nodes.
 
+   procedure Basic_Set_Convention (E : Entity_Id; Val : Convention_Id);
+   pragma Inline (Basic_Set_Convention);
+   --  Clients should use Sem_Util.Set_Convention rather than calling this
+   --  routine directly, as Set_Convention also deals with the special
+   --  processing required for access types.
+
    procedure Set_Ekind (E : Entity_Id; Val : Entity_Kind);
    pragma Inline (Set_Ekind);
 
-   procedure Set_Convention (E : Entity_Id; Val : Convention_Id);
-   pragma Inline (Set_Convention);
-
    ---------------------------
    -- Tree Rewrite Routines --
    ---------------------------
@@ -759,11 +812,10 @@ package Atree is
    -- Generic Field Access Routines --
    -----------------------------------
 
-   --  This subpackage provides the functions for accessing and procedures
-   --  for setting fields that are normally referenced by their logical
-   --  synonyms defined in packages Sinfo and Einfo. As previously
-   --  described the implementations of these packages use the package
-   --  Atree.Unchecked_Access.
+   --  This subpackage provides the functions for accessing and procedures for
+   --  setting fields that are normally referenced by their logical synonyms
+   --  defined in packages Sinfo and Einfo. The implementations of these
+   --  packages use the package Atree.Unchecked_Access.
 
    package Unchecked_Access is
 
@@ -1753,6 +1805,57 @@ package Atree is
       function Flag230 (N : Node_Id) return Boolean;
       pragma Inline (Flag230);
 
+      function Flag231 (N : Node_Id) return Boolean;
+      pragma Inline (Flag231);
+
+      function Flag232 (N : Node_Id) return Boolean;
+      pragma Inline (Flag232);
+
+      function Flag233 (N : Node_Id) return Boolean;
+      pragma Inline (Flag233);
+
+      function Flag234 (N : Node_Id) return Boolean;
+      pragma Inline (Flag234);
+
+      function Flag235 (N : Node_Id) return Boolean;
+      pragma Inline (Flag235);
+
+      function Flag236 (N : Node_Id) return Boolean;
+      pragma Inline (Flag236);
+
+      function Flag237 (N : Node_Id) return Boolean;
+      pragma Inline (Flag237);
+
+      function Flag238 (N : Node_Id) return Boolean;
+      pragma Inline (Flag238);
+
+      function Flag239 (N : Node_Id) return Boolean;
+      pragma Inline (Flag239);
+
+      function Flag240 (N : Node_Id) return Boolean;
+      pragma Inline (Flag240);
+
+      function Flag241 (N : Node_Id) return Boolean;
+      pragma Inline (Flag241);
+
+      function Flag242 (N : Node_Id) return Boolean;
+      pragma Inline (Flag242);
+
+      function Flag243 (N : Node_Id) return Boolean;
+      pragma Inline (Flag243);
+
+      function Flag244 (N : Node_Id) return Boolean;
+      pragma Inline (Flag244);
+
+      function Flag245 (N : Node_Id) return Boolean;
+      pragma Inline (Flag245);
+
+      function Flag246 (N : Node_Id) return Boolean;
+      pragma Inline (Flag246);
+
+      function Flag247 (N : Node_Id) return Boolean;
+      pragma Inline (Flag247);
+
       --  Procedures to set value of indicated field
 
       procedure Set_Nkind (N : Node_Id; Val : Node_Kind);
@@ -2727,6 +2830,57 @@ package Atree is
       procedure Set_Flag230 (N : Node_Id; Val : Boolean);
       pragma Inline (Set_Flag230);
 
+      procedure Set_Flag231 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag231);
+
+      procedure Set_Flag232 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag232);
+
+      procedure Set_Flag233 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag233);
+
+      procedure Set_Flag234 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag234);
+
+      procedure Set_Flag235 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag235);
+
+      procedure Set_Flag236 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag236);
+
+      procedure Set_Flag237 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag237);
+
+      procedure Set_Flag238 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag238);
+
+      procedure Set_Flag239 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag239);
+
+      procedure Set_Flag240 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag240);
+
+      procedure Set_Flag241 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag241);
+
+      procedure Set_Flag242 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag242);
+
+      procedure Set_Flag243 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag243);
+
+      procedure Set_Flag244 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag244);
+
+      procedure Set_Flag245 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag245);
+
+      procedure Set_Flag246 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag246);
+
+      procedure Set_Flag247 (N : Node_Id; Val : Boolean);
+      pragma Inline (Set_Flag247);
+
       --  The following versions of Set_Noden also set the parent
       --  pointer of the referenced node if it is non_Empty
 
@@ -2943,7 +3097,7 @@ package Atree is
 
             --    Field6-10      Holds Field24-Field28
             --    Field11        Holds Flag184-Flag215
-            --    Field12        Holds Flag216-Flag230
+            --    Field12        Holds Flag216-Flag247
 
          end case;
       end record;