OSDN Git Service

2008-04-08 Ed Schonberg <schonberg@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / sem_aux.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                              S E M _ A U X                               --
6 --                                                                          --
7 --                                 S p e c                                  --
8 --                                                                          --
9 --          Copyright (C) 1992-2008, Free Software Foundation, Inc.         --
10 --                                                                          --
11 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
12 -- terms of the  GNU General Public License as published  by the Free Soft- --
13 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
17 -- for  more details.  You should have  received  a copy of the GNU General --
18 -- Public License  distributed with GNAT; see file COPYING3.  If not, go to --
19 -- http://www.gnu.org/licenses for a complete copy of the license.          --
20 --                                                                          --
21 -- As a special exception,  if other files  instantiate  generics from this --
22 -- unit, or you link  this unit with other files  to produce an executable, --
23 -- this  unit  does not  by itself cause  the resulting  executable  to  be --
24 -- covered  by the  GNU  General  Public  License.  This exception does not --
25 -- however invalidate  any other reasons why  the executable file  might be --
26 -- covered by the  GNU Public License.                                      --
27 --                                                                          --
28 -- GNAT was originally developed  by the GNAT team at  New York University. --
29 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
30 --                                                                          --
31 ------------------------------------------------------------------------------
32
33 --  Package containing utility procedures used throughout the compiler,
34 --  and also by ASIS so dependencies are limited to ASIS included packages.
35
36 --  Note: contents are minimal for now, the intent is to move stuff from
37 --  Sem_Util that meets the ASIS dependency requirements, and also stuff
38 --  from Einfo, where Einfo had excessive semantic knowledge of the tree.
39
40 with Alloc;   use Alloc;
41 with Table;
42 with Types;   use Types;
43
44 package Sem_Aux is
45
46    --------------------------------
47    -- Obsolescent Warnings Table --
48    --------------------------------
49
50    --  This table records entities for which a pragma Obsolescent with a
51    --  message argument has been processed.
52
53    type OWT_Record is record
54       Ent : Entity_Id;
55       --  The entity to which the pragma applies
56
57       Msg : String_Id;
58       --  The string containing the message
59    end record;
60
61    package Obsolescent_Warnings is new Table.Table (
62      Table_Component_Type => OWT_Record,
63      Table_Index_Type     => Int,
64      Table_Low_Bound      => 0,
65      Table_Initial        => Alloc.Obsolescent_Warnings_Initial,
66      Table_Increment      => Alloc.Obsolescent_Warnings_Increment,
67      Table_Name           => "Obsolescent_Warnings");
68
69    -----------------
70    -- Subprograms --
71    -----------------
72
73    procedure Initialize;
74    --  Called at the start of compilation of each new main source file to
75    --  initialize the allocation of the Obsolescent_Warnings table. Note that
76    --  Initialize must not be called if Tree_Read is used.
77
78    procedure Tree_Read;
79    --  Initializes internal tables from current tree file using the relevant
80    --  Table.Tree_Read routines.
81
82    procedure Tree_Write;
83    --  Writes out internal tables to current tree file using the relevant
84    --  Table.Tree_Write routines.
85
86 end Sem_Aux;