]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/alloc.ads
13620f03294c50db819ff32581801ca297b73e29
[thirdparty/gcc.git] / gcc / ada / alloc.ads
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT COMPILER COMPONENTS --
4 -- --
5 -- A L L O C --
6 -- --
7 -- S p e c --
8 -- --
9 -- Copyright (C) 1992-2021, 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 -- GNAT was originally developed by the GNAT team at New York University. --
22 -- Extensive contributions were provided by Ada Core Technologies Inc. --
23 -- --
24 ------------------------------------------------------------------------------
25
26 -- This package contains definitions for initial sizes and growth increments
27 -- for the various dynamic arrays used for the main compiler data structures.
28 -- The indicated initial size is allocated for the start of each file, and
29 -- the increment factor is a percentage used to increase the table size when
30 -- it needs expanding (e.g. a value of 100 = 100% increase = double)
31
32 -- Note: the initial values here are multiplied by Table_Factor as set by the
33 -- -gnatTnn switch. This variable is defined in Opt, as is the default value
34 -- for the table factor.
35
36 package Alloc is
37
38 -- The comment shows the unit in which the table is defined
39
40 All_Interp_Initial : constant := 1_000; -- Sem_Type
41 All_Interp_Increment : constant := 100;
42
43 Branches_Initial : constant := 1_000; -- Sem_Warn
44 Branches_Increment : constant := 100;
45
46 Conditionals_Initial : constant := 1_000; -- Sem_Warn
47 Conditionals_Increment : constant := 100;
48
49 Conditional_Stack_Initial : constant := 50; -- Sem_Warn
50 Conditional_Stack_Increment : constant := 100;
51
52 Elists_Initial : constant := 200; -- Elists
53 Elists_Increment : constant := 100;
54
55 Elmts_Initial : constant := 1_200; -- Elists
56 Elmts_Increment : constant := 100;
57
58 File_Name_Chars_Initial : constant := 10_000; -- Osint
59 File_Name_Chars_Increment : constant := 100;
60
61 In_Out_Warnings_Initial : constant := 100; -- Sem_Warn
62 In_Out_Warnings_Increment : constant := 100;
63
64 Ignored_Ghost_Nodes_Initial : constant := 100; -- Ghost
65 Ignored_Ghost_Nodes_Increment : constant := 100;
66
67 Inlined_Initial : constant := 100; -- Inline
68 Inlined_Increment : constant := 100;
69
70 Inlined_Bodies_Initial : constant := 50; -- Inline
71 Inlined_Bodies_Increment : constant := 200;
72
73 Interp_Map_Initial : constant := 200; -- Sem_Type
74 Interp_Map_Increment : constant := 100;
75
76 Lines_Initial : constant := 500; -- Sinput
77 Lines_Increment : constant := 150;
78
79 Linker_Option_Lines_Initial : constant := 5; -- Lib
80 Linker_Option_Lines_Increment : constant := 200;
81
82 Lists_Initial : constant := 4_000; -- Nlists
83 Lists_Increment : constant := 200;
84
85 Load_Stack_Initial : constant := 10; -- Lib
86 Load_Stack_Increment : constant := 100;
87
88 Name_Chars_Initial : constant := 50_000; -- Namet
89 Name_Chars_Increment : constant := 100;
90
91 Name_Qualify_Units_Initial : constant := 200; -- Exp_Dbug
92 Name_Qualify_Units_Increment : constant := 300;
93
94 Names_Initial : constant := 6_000; -- Namet
95 Names_Increment : constant := 100;
96
97 Nodes_Initial : constant := 50_000; -- Atree
98 Nodes_Increment : constant := 100;
99 Nodes_Release_Threshold : constant := 100_000;
100
101 Notes_Initial : constant := 100; -- Lib
102 Notes_Increment : constant := 200;
103
104 Obsolescent_Warnings_Initial : constant := 50; -- Sem_Prag
105 Obsolescent_Warnings_Increment : constant := 200;
106
107 Pending_Instantiations_Initial : constant := 10; -- Inline
108 Pending_Instantiations_Increment : constant := 100;
109
110 Rep_Table_Initial : constant := 1000; -- Repinfo
111 Rep_Table_Increment : constant := 200;
112
113 Rep_JSON_Table_Initial : constant := 10; -- Repinfo
114 Rep_JSON_Table_Increment : constant := 200;
115
116 Scope_Stack_Initial : constant := 10; -- Sem
117 Scope_Stack_Increment : constant := 200;
118
119 SFN_Table_Initial : constant := 10; -- Fname
120 SFN_Table_Increment : constant := 200;
121
122 Source_File_Initial : constant := 10; -- Sinput
123 Source_File_Increment : constant := 200;
124
125 String_Chars_Initial : constant := 2_500; -- Stringt
126 String_Chars_Increment : constant := 150;
127
128 Strings_Initial : constant := 5_00; -- Stringt
129 Strings_Increment : constant := 150;
130
131 Successors_Initial : constant := 2_00; -- Inline
132 Successors_Increment : constant := 100;
133
134 Udigits_Initial : constant := 10_000; -- Uintp
135 Udigits_Increment : constant := 100;
136
137 Uints_Initial : constant := 5_000; -- Uintp
138 Uints_Increment : constant := 100;
139
140 Units_Initial : constant := 30; -- Lib
141 Units_Increment : constant := 100;
142
143 Ureals_Initial : constant := 200; -- Urealp
144 Ureals_Increment : constant := 100;
145
146 Unreferenced_Entities_Initial : constant := 1_000; -- Sem_Warn
147 Unreferenced_Entities_Increment : constant := 100;
148
149 Warnings_Off_Pragmas_Initial : constant := 500; -- Sem_Warn
150 Warnings_Off_Pragmas_Increment : constant := 100;
151
152 With_List_Initial : constant := 10; -- Features
153 With_List_Increment : constant := 300;
154
155 Xrefs_Initial : constant := 5_000; -- Cross-refs
156 Xrefs_Increment : constant := 300;
157
158 Drefs_Initial : constant := 5; -- Dereferences
159 Drefs_Increment : constant := 1_000;
160
161 end Alloc;