]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/alloc.ads
Correct a function pre/postcondition [PR102403].
[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 tables are 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 Node_Offsets_Initial : constant := 500_000; -- Atree, Nlists
98 Node_Offsets_Increment : constant := 100;
99
100 Slots_Initial : constant := 2_000_000; -- Atree
101 Slots_Increment : constant := 100;
102
103 Notes_Initial : constant := 100; -- Lib
104 Notes_Increment : constant := 200;
105
106 Obsolescent_Warnings_Initial : constant := 50; -- Sem_Prag
107 Obsolescent_Warnings_Increment : constant := 200;
108
109 Pending_Instantiations_Initial : constant := 10; -- Inline
110 Pending_Instantiations_Increment : constant := 100;
111
112 Rep_Table_Initial : constant := 1000; -- Repinfo
113 Rep_Table_Increment : constant := 200;
114
115 Rep_JSON_Table_Initial : constant := 10; -- Repinfo
116 Rep_JSON_Table_Increment : constant := 200;
117
118 Scope_Stack_Initial : constant := 10; -- Sem
119 Scope_Stack_Increment : constant := 200;
120
121 SFN_Table_Initial : constant := 10; -- Fname
122 SFN_Table_Increment : constant := 200;
123
124 Source_File_Initial : constant := 10; -- Sinput
125 Source_File_Increment : constant := 200;
126
127 String_Chars_Initial : constant := 2_500; -- Stringt
128 String_Chars_Increment : constant := 150;
129
130 Strings_Initial : constant := 5_00; -- Stringt
131 Strings_Increment : constant := 150;
132
133 Successors_Initial : constant := 2_00; -- Inline
134 Successors_Increment : constant := 100;
135
136 Udigits_Initial : constant := 10_000; -- Uintp
137 Udigits_Increment : constant := 100;
138
139 Uints_Initial : constant := 5_000; -- Uintp
140 Uints_Increment : constant := 100;
141
142 Units_Initial : constant := 30; -- Lib
143 Units_Increment : constant := 100;
144
145 Ureals_Initial : constant := 200; -- Urealp
146 Ureals_Increment : constant := 100;
147
148 Unreferenced_Entities_Initial : constant := 1_000; -- Sem_Warn
149 Unreferenced_Entities_Increment : constant := 100;
150
151 Warnings_Off_Pragmas_Initial : constant := 500; -- Sem_Warn
152 Warnings_Off_Pragmas_Increment : constant := 100;
153
154 With_List_Initial : constant := 10; -- Features
155 With_List_Increment : constant := 300;
156
157 Xrefs_Initial : constant := 5_000; -- Cross-refs
158 Xrefs_Increment : constant := 300;
159
160 Drefs_Initial : constant := 5; -- Dereferences
161 Drefs_Increment : constant := 1_000;
162
163 end Alloc;