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