OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / ada / snames.h
1 /****************************************************************************
2  *                                                                          *
3  *                         GNAT COMPILER COMPONENTS                         *
4  *                                                                          *
5  *                               S N A M E S                                *
6  *                                                                          *
7  *                              C Header File                               *
8  *                                                                          *
9  *                                                                          *
10  *          Copyright (C) 1992-2002 Free Software Foundation, Inc.          *
11  *                                                                          *
12  * GNAT is free software;  you can  redistribute it  and/or modify it under *
13  * terms of the  GNU General Public License as published  by the Free Soft- *
14  * ware  Foundation;  either version 2,  or (at your option) any later ver- *
15  * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
16  * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
17  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
18  * for  more details.  You should have  received  a copy of the GNU General *
19  * Public License  distributed with GNAT;  see file COPYING.  If not, write *
20  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
21  * MA 02111-1307, USA.                                                      *
22  *                                                                          *
23  * GNAT was originally developed  by the GNAT team at  New York University. *
24  * It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). *
25  *                                                                          *
26  ****************************************************************************/
27
28 /* This is the C file that corresponds to the Ada package specification
29    Snames. It was created manually from the file snames.ads. */
30
31 /* Name_Id values */
32
33 #define Name_uParent    (First_Name_Id + 256 + 0)
34 #define Name_uTag       (First_Name_Id + 256 + 1)
35 #define Name_Off        (First_Name_Id + 256 + 2)
36 #define Name_Space              (First_Name_Id + 256 + 3)
37 #define Name_Time       (First_Name_Id + 256 + 4)
38 #define Name_uInit_Proc (First_Name_Id + 256 + 5)
39 #define Name_uSize      (First_Name_Id + 256 + 6)
40
41 /* Define the function to return one of the numeric values below. Note
42    that it actually returns a char since an enumeration value of less
43    than 256 entries is represented that way in Ada.  The operand is a Chars
44    field value.  */
45
46 #define Get_Attribute_Id snames__get_attribute_id
47 extern char Get_Attribute_Id PARAMS ((int));
48
49 /* Define the numeric values for the attributes.  */
50
51 #define  Attr_Abort_Signal                   0
52 #define  Attr_Access                         1
53 #define  Attr_Address                        2
54 #define  Attr_Address_Size                   3
55 #define  Attr_Aft                            4
56 #define  Attr_Alignment                      5
57 #define  Attr_Asm_Input                      6
58 #define  Attr_Asm_Output                     7
59 #define  Attr_AST_Entry                      8
60 #define  Attr_Bit                            9
61 #define  Attr_Bit_Order                     10
62 #define  Attr_Bit_Position                  11
63 #define  Attr_Body_Version                  12
64 #define  Attr_Callable                      13
65 #define  Attr_Caller                        14
66 #define  Attr_Code_Address                  15
67 #define  Attr_Component_Size                16
68 #define  Attr_Compose                       17
69 #define  Attr_Constrained                   18
70 #define  Attr_Count                         19
71 #define  Attr_Default_Bit_Order             20
72 #define  Attr_Definite                      21
73 #define  Attr_Delta                         22
74 #define  Attr_Denorm                        23
75 #define  Attr_Digits                        24
76 #define  Attr_Elaborated                    25
77 #define  Attr_Emax                          26
78 #define  Attr_Enum_Rep                      27
79 #define  Attr_Epsilon                       28
80 #define  Attr_Exponent                      29
81 #define  Attr_External_Tag                  30
82 #define  Attr_First                         31
83 #define  Attr_First_Bit                     32
84 #define  Attr_Fixed_Value                   33
85 #define  Attr_Fore                          34
86 #define  Attr_Has_Discriminants             35
87 #define  Attr_Identity                      36
88 #define  Attr_Img                           37
89 #define  Attr_Integer_Value                 38
90 #define  Attr_Large                         39
91 #define  Attr_Last                          40
92 #define  Attr_Last_Bit                      41
93 #define  Attr_Leading_Part                  42
94 #define  Attr_Length                        43
95 #define  Attr_Machine_Emax                  44
96 #define  Attr_Machine_Emin                  45
97 #define  Attr_Machine_Mantissa              46
98 #define  Attr_Machine_Overflows             47
99 #define  Attr_Machine_Radix                 48
100 #define  Attr_Machine_Rounds                49
101 #define  Attr_Machine_Size                  50
102 #define  Attr_Mantissa                      51
103 #define  Attr_Max_Size_In_Storage_Elements  52
104 #define  Attr_Maximum_Alignment             53
105 #define  Attr_Mechanism_Code                54
106 #define  Attr_Model_Emin                    55
107 #define  Attr_Model_Epsilon                 56
108 #define  Attr_Model_Mantissa                57
109 #define  Attr_Model_Small                   58
110 #define  Attr_Modulus                       59
111 #define  Attr_Null_Parameter                60
112 #define  Attr_Object_Size                   61
113 #define  Attr_Partition_ID                  62
114 #define  Attr_Passed_By_Reference           63
115 #define  Attr_Pos                           64
116 #define  Attr_Position                      65
117 #define  Attr_Range                         66
118 #define  Attr_Range_Length                  67
119 #define  Attr_Round                         68
120 #define  Attr_Safe_Emax                     69
121 #define  Attr_Safe_First                    70
122 #define  Attr_Safe_Large                    71
123 #define  Attr_Safe_Last                     72
124 #define  Attr_Safe_Small                    73
125 #define  Attr_Scale                         74
126 #define  Attr_Scaling                       75
127 #define  Attr_Signed_Zeros                  76
128 #define  Attr_Size                          77
129 #define  Attr_Small                         78
130 #define  Attr_Storage_Size                  79
131 #define  Attr_Storage_Unit                  80
132 #define  Attr_Tag                           81
133 #define  Attr_Terminated                    82
134 #define  Attr_To_Address                    83
135 #define  Attr_Type_Class                    84
136 #define  Attr_UET_Address                   85
137 #define  Attr_Unbiased_Rounding             86
138 #define  Attr_Unchecked_Access              87
139 #define  Attr_Universal_Literal_String      88
140 #define  Attr_Unrestricted_Access           89
141 #define  Attr_VADS_Size                     90
142 #define  Attr_Val                           91
143 #define  Attr_Valid                         92
144 #define  Attr_Value_Size                    93
145 #define  Attr_Version                       94
146 #define  Attr_Wide_Character_Size           95
147 #define  Attr_Wide_Width                    96
148 #define  Attr_Width                         97
149 #define  Attr_Word_Size                     98
150
151 #define  Attr_Adjacent                      99
152 #define  Attr_Ceiling                      100
153 #define  Attr_Copy_Sign                    101
154 #define  Attr_Floor                        102
155 #define  Attr_Fraction                     103
156 #define  Attr_Image                        104
157 #define  Attr_Input                        105
158 #define  Attr_Machine                      106
159 #define  Attr_Max                          107
160 #define  Attr_Min                          108
161 #define  Attr_Model                        109
162 #define  Attr_Pred                         110
163 #define  Attr_Remainder                    111
164 #define  Attr_Rounding                     112
165 #define  Attr_Succ                         113
166 #define  Attr_Truncation                   114
167 #define  Attr_Value                        115
168 #define  Attr_Wide_Image                   116
169 #define  Attr_Wide_Value                   117
170
171 #define  Attr_Output                       118
172 #define  Attr_Read                         119
173 #define  Attr_Write                        120
174
175 #define  Attr_Elab_Body                    121
176 #define  Attr_Elab_Spec                    122
177 #define  Attr_Storage_Pool                 123
178
179 #define  Attr_Base                         124
180 #define  Attr_Class                        125
181
182 /* Define the function to check if a Name_Id value is a valid pragma */
183
184 #define Is_Pragma_Name snames__is_pragma_name
185 extern Boolean Is_Pragma_Name PARAMS ((Name_Id));
186
187 /* Define the function to return one of the numeric values below.  Note
188    that it actually returns a char since an enumeration value of less
189    than 256 entries is represented that way in Ada.  The operand is a Chars
190    field value.  */
191
192 #define Get_Pragma_Id snames__get_pragma_id
193 extern char Get_Pragma_Id PARAMS ((int));
194
195 /* Define the numeric values for the pragmas. */
196
197 /* Configuration pragmas first */
198
199 #define  Pragma_Ada_83                       0
200 #define  Pragma_Ada_95                       1
201 #define  Pragma_C_Pass_By_Copy               2
202 #define  Pragma_Component_Alignment          3
203 #define  Pragma_Convention_Identifier        4
204 #define  Pragma_Discard_Names                5
205 #define  Pragma_Elaboration_Checking         6
206 #define  Pragma_Eliminate                    7
207 #define  Pragma_Extend_System                8
208 #define  Pragma_Extensions_Allowed           9
209 #define  Pragma_External_Name_Casing        10
210 #define  Pragma_Float_Representation        11
211 #define  Pragma_Initialize                  12
212 #define  Pragma_License                     13
213 #define  Pragma_Locking_Policy              14
214 #define  Pragma_Long_Float                  15
215 #define  Pragma_No_Run_Time                 16
216 #define  Pragma_Normalize_Scalars           17
217 #define  Pragma_Polling                     18
218 #define  Pragma_Propagate_Exceptions        19
219 #define  Pragma_Queuing_Policy              20
220 #define  Pragma_Ravenscar                   21
221 #define  Pragma_Restricted_Run_Time         22
222 #define  Pragma_Restrictions                23
223 #define  Pragma_Reviewable                  24
224 #define  Pragma_Source_File_Name            25
225 #define  Pragma_Style_Checks                26
226 #define  Pragma_Suppress                    27
227 #define  Pragma_Task_Dispatching_Policy     28
228 #define  Pragma_Unsuppress                  29
229 #define  Pragma_Use_VADS_Size               30
230 #define  Pragma_Validity_Checks             31
231 #define  Pragma_Warnings                    32
232
233 /* Remaining pragmas */
234
235 #define  Pragma_Abort_Defer                 33
236 #define  Pragma_All_Calls_Remote            34
237 #define  Pragma_Annotate                    35
238 #define  Pragma_Assert                      36
239 #define  Pragma_Asynchronous                37
240 #define  Pragma_Atomic                      38
241 #define  Pragma_Atomic_Components           39
242 #define  Pragma_Attach_Handler              40
243 #define  Pragma_Comment                     41
244 #define  Pragma_Common_Object               42
245 #define  Pragma_Complex_Representation      43
246 #define  Pragma_Controlled                  44
247 #define  Pragma_Convention                  45
248 #define  Pragma_CPP_Class                   46
249 #define  Pragma_CPP_Constructor             47
250 #define  Pragma_CPP_Virtual                 48
251 #define  Pragma_CPP_Vtable                  49
252 #define  Pragma_Debug                       50
253 #define  Pragma_Elaborate                   51
254 #define  Pragma_Elaborate_All               52
255 #define  Pragma_Elaborate_Body              53
256 #define  Pragma_Export                      54
257 #define  Pragma_Export_Exception            55
258 #define  Pragma_Export_Function             56
259 #define  Pragma_Export_Object               57
260 #define  Pragma_Export_Procedure            58
261 #define  Pragma_Export_Valued_Procedure     59
262 #define  Pragma_External                    60
263 #define  Pragma_Finalize_Storage_Only       61
264 #define  Pragma_Ident                       62
265 #define  Pragma_Import                      63
266 #define  Pragma_Import_Exception            64
267 #define  Pragma_Import_Function             65
268 #define  Pragma_Import_Object               66
269 #define  Pragma_Import_Procedure            67
270 #define  Pragma_Import_Valued_Procedure     68
271 #define  Pragma_Inline                      69
272 #define  Pragma_Inline_Always               70
273 #define  Pragma_Inline_Generic              71
274 #define  Pragma_Inspection_Point            72
275 #define  Pragma_Interface                   73
276 #define  Pragma_Interface_Name              74
277 #define  Pragma_Interrupt_Handler           75
278 #define  Pragma_Interrupt_Priority          76
279 #define  Pragma_Java_Constructor            77
280 #define  Pragma_Java_Interface              78
281 #define  Pragma_Link_With                   79
282 #define  Pragma_Linker_Alias                80
283 #define  Pragma_Linker_Options              81
284 #define  Pragma_Linker_Section              82
285 #define  Pragma_List                        83
286 #define  Pragma_Machine_Attribute           84
287 #define  Pragma_Main                        85
288 #define  Pragma_Main_Storage                86
289 #define  Pragma_Memory_Size                 87
290 #define  Pragma_No_Return                   88
291 #define  Pragma_Optimize                    89
292 #define  Pragma_Pack                        90
293 #define  Pragma_Page                        91
294 #define  Pragma_Passive                     92
295 #define  Pragma_Preelaborate                93
296 #define  Pragma_Priority                    94
297 #define  Pragma_Psect_Object                95
298 #define  Pragma_Pure                        96
299 #define  Pragma_Pure_Function               97
300 #define  Pragma_Remote_Call_Interface       98
301 #define  Pragma_Remote_Types                99
302 #define  Pragma_Share_Generic              100
303 #define  Pragma_Shared                     101
304 #define  Pragma_Shared_Passive             102
305 #define  Pragma_Source_Reference           103
306 #define  Pragma_Stream_Convert             104
307 #define  Pragma_Subtitle                   105
308 #define  Pragma_Suppress_All               106
309 #define  Pragma_Suppress_Debug_Info        107
310 #define  Pragma_Suppress_Initialization    108
311 #define  Pragma_System_Name                109
312 #define  Pragma_Task_Info                  110
313 #define  Pragma_Task_Name                  111
314 #define  Pragma_Task_Storage               112
315 #define  Pragma_Time_Slice                 113
316 #define  Pragma_Title                      114
317 #define  Pragma_Unchecked_Union            115
318 #define  Pragma_Unimplemented_Unit         116
319 #define  Pragma_Universal_Data             117
320 #define  Pragma_Unreferenced               118
321 #define  Pragma_Unreserve_All_Interrupts   119
322 #define  Pragma_Volatile                   120
323 #define  Pragma_Volatile_Components        121
324 #define  Pragma_Weak_External              122
325
326 /* The following are deliberately out of alphabetical order, see Snames */
327
328 #define  Pragma_AST_Entry                  123
329 #define  Pragma_Storage_Size               124
330 #define  Pragma_Storage_Unit               125
331
332 /* Define the numeric values for the conventions.  */
333
334 #define  Convention_Ada                      0
335 #define  Convention_Intrinsic                1
336 #define  Convention_Entry                    2
337 #define  Convention_Protected                3
338 #define  Convention_Assembler                4
339 #define  Convention_C                        5
340 #define  Convention_COBOL                    6
341 #define  Convention_CPP                      7
342 #define  Convention_Fortran                  8
343 #define  Convention_Java                     9
344 #define  Convention_Stdcall                 10
345 #define  Convention_Stubbed                 11