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