OSDN Git Service

2007-04-20 Vincent Celier <celier@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / exp_ch9.ads
index 819e806..88d0e05 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2007, 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- --
@@ -26,6 +26,7 @@
 
 --  Expand routines for chapter 9 constructs
 
+with Namet; use Namet;
 with Types; use Types;
 
 package Exp_Ch9 is
@@ -86,6 +87,14 @@ package Exp_Ch9 is
    --  Task_Id of the associated task as the parameter. The caller is
    --  responsible for analyzing and resolving the resulting tree.
 
+   function Build_Corresponding_Record
+     (N    : Node_Id;
+      Ctyp : Node_Id;
+      Loc  : Source_Ptr) return Node_Id;
+   --  Common to tasks and protected types. Copy discriminant specifications,
+   --  build record declaration. N is the type declaration, Ctyp is the
+   --  concurrent entity (task type or protected type).
+
    procedure Build_Master_Entity (E : Entity_Id);
    --  Given an entity E for the declaration of an object containing tasks
    --  or of a type declaration for an allocator whose designated type is a
@@ -250,16 +259,14 @@ package Exp_Ch9 is
    procedure Expand_N_Protected_Body             (N : Node_Id);
 
    procedure Expand_N_Protected_Type_Declaration (N : Node_Id);
-   --  Expands protected type declarations. This results, among
-   --  other things, in the declaration of a record type for the
-   --  representation of protected objects and (if there are entries)
-   --  in an entry service procedure. The Protection value used by
-   --  the GNARL to control the object will always be the first
-   --  field of the record, and the entry service procedure spec
-   --  (if it exists) will always immediately follow the record
-   --  declaration. This allows these two nodes to be found from
-   --  the type using Corresponding_Record, without benefit of
-   --  of further attributes.
+   --  Expands protected type declarations. This results, among other things,
+   --  in the declaration of a record type for the representation of protected
+   --  objects and (if there are entries) in an entry service procedure. The
+   --  Protection value used by the GNARL to control the object will always be
+   --  the first field of the record, and the entry service procedure spec (if
+   --  it exists) will always immediately follow the record declaration. This
+   --  allows these two nodes to be found from the type, without benefit of
+   --  further attributes, using Corresponding_Record.
 
    procedure Expand_N_Requeue_Statement          (N : Node_Id);
    procedure Expand_N_Selective_Accept           (N : Node_Id);