OSDN Git Service

2005-06-14 Jose Ruiz <ruiz@adacore.com>
[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  *          Copyright (C) 1992-2005, 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 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. *
23  * Extensive contributions were provided by Ada Core Technologies Inc.      *
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)
35 #define Name_Space      (First_Name_Id + 256 + 3)
36 #define Name_Time       (First_Name_Id + 256 + 4)
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
44 extern unsigned char Get_Attribute_Id (int);
45
46 /* Define the numeric values for attributes.  */
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_Access_Values             35
84 #define  Attr_Has_Discriminants             36
85 #define  Attr_Identity                      37
86 #define  Attr_Img                           38
87 #define  Attr_Integer_Value                 39
88 #define  Attr_Large                         40
89 #define  Attr_Last                          41
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
104 #define  Attr_Mod                           56
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
115 #define  Attr_Pos                           67
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
128 #define  Attr_Size                          80
129 #define  Attr_Small                         81
130 #define  Attr_Storage_Size                  82
131 #define  Attr_Storage_Unit                  83
132 #define  Attr_Stream_Size                   84
133 #define  Attr_Tag                           85
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
145 #define  Attr_Val                           97
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
155 #define  Attr_Adjacent                     106
156 #define  Attr_Ceiling                      107
157 #define  Attr_Copy_Sign                    108
158 #define  Attr_Floor                        109
159 #define  Attr_Fraction                     110
160 #define  Attr_Image                        111
161 #define  Attr_Input                        112
162 #define  Attr_Machine                      113
163 #define  Attr_Max                          114
164 #define  Attr_Min                          115
165 #define  Attr_Model                        116
166 #define  Attr_Pred                         117
167 #define  Attr_Remainder                    118
168 #define  Attr_Rounding                     119
169 #define  Attr_Succ                         120
170 #define  Attr_Truncation                   121
171 #define  Attr_Value                        122
172 #define  Attr_Wide_Image                   123
173 #define  Attr_Wide_Wide_Image              124
174 #define  Attr_Wide_Value                   125
175 #define  Attr_Wide_Wide_Value              126
176
177 #define  Attr_Output                       127
178 #define  Attr_Read                         128
179 #define  Attr_Write                        129
180
181 #define  Attr_Elab_Body                    130
182 #define  Attr_Elab_Spec                    131
183 #define  Attr_Storage_Pool                 132
184
185 #define  Attr_Base                         133
186 #define  Attr_Class                        134
187
188 /* Define the function to check if a Name_Id value is a valid pragma */
189
190 #define Is_Pragma_Name snames__is_pragma_name
191 extern Boolean Is_Pragma_Name (Name_Id);
192
193 /* Define the function to return one of the numeric values below.  Note
194    that it actually returns a char since an enumeration value of less
195    than 256 entries is represented that way in Ada.  The operand is a Chars
196    field value.  */
197
198 #define Get_Pragma_Id snames__get_pragma_id
199 extern unsigned char Get_Pragma_Id (int);
200
201 /* Define the numeric values for the pragmas. */
202
203 /* Configuration pragmas first */
204
205 #define  Pragma_Ada_83                        0
206 #define  Pragma_Ada_95                        1
207 #define  Pragma_Ada_05                        2
208 #define  Pragma_C_Pass_By_Copy                3
209 #define  Pragma_Compile_Time_Warning          4
210 #define  Pragma_Component_Alignment           5
211 #define  Pragma_Convention_Identifier         6
212 #define  Pragma_Detect_Blocking               7
213 #define  Pragma_Discard_Names                 8
214 #define  Pragma_Elaboration_Checking          9
215 #define  Pragma_Eliminate                    10
216 #define  Pragma_Explicit_Overriding          11
217 #define  Pragma_Extend_System                12
218 #define  Pragma_Extensions_Allowed           13
219 #define  Pragma_External_Name_Casing         14
220 #define  Pragma_Float_Representation         15
221 #define  Pragma_Initialize_Scalars           16
222 #define  Pragma_Interrupt_State              17
223 #define  Pragma_License                      18
224 #define  Pragma_Locking_Policy               19
225 #define  Pragma_Long_Float                   20
226 #define  Pragma_No_Run_Time                  21
227 #define  Pragma_No_Strict_Aliasing           22
228 #define  Pragma_Normalize_Scalars            23
229 #define  Pragma_Polling                      24
230 #define  Pragma_Persistent_Data              25
231 #define  Pragma_Persistent_Object            26
232 #define  Pragma_Profile                      27
233 #define  Pragma_Profile_Warnings             28
234 #define  Pragma_Propagate_Exceptions         29
235 #define  Pragma_Queuing_Policy               30
236 #define  Pragma_Ravenscar                    31
237 #define  Pragma_Restricted_Run_Time          32
238 #define  Pragma_Restrictions                 33
239 #define  Pragma_Restriction_Warnings         34
240 #define  Pragma_Reviewable                   35
241 #define  Pragma_Source_File_Name             36
242 #define  Pragma_Source_File_Name_Project     37
243 #define  Pragma_Style_Checks                 38
244 #define  Pragma_Suppress                     39
245 #define  Pragma_Suppress_Exception_Locations 40
246 #define  Pragma_Task_Dispatching_Policy      41
247 #define  Pragma_Universal_Data               42
248 #define  Pragma_Unsuppress                   43
249 #define  Pragma_Use_VADS_Size                44
250 #define  Pragma_Validity_Checks              45
251 #define  Pragma_Warnings                     46
252
253 /* Remaining pragmas */
254
255 #define  Pragma_Abort_Defer                  47
256 #define  Pragma_All_Calls_Remote             48
257 #define  Pragma_Annotate                     49
258 #define  Pragma_Assert                       50
259 #define  Pragma_Asynchronous                 51
260 #define  Pragma_Atomic                       52
261 #define  Pragma_Atomic_Components            53
262 #define  Pragma_Attach_Handler               54
263 #define  Pragma_Comment                      55
264 #define  Pragma_Common_Object                56
265 #define  Pragma_Complex_Representation       57
266 #define  Pragma_Controlled                   58
267 #define  Pragma_Convention                   59
268 #define  Pragma_CPP_Class                    60
269 #define  Pragma_CPP_Constructor              61
270 #define  Pragma_CPP_Virtual                  62
271 #define  Pragma_CPP_Vtable                   63
272 #define  Pragma_Debug                        64
273 #define  Pragma_Elaborate                    65
274 #define  Pragma_Elaborate_All                66
275 #define  Pragma_Elaborate_Body               67
276 #define  Pragma_Export                       68
277 #define  Pragma_Export_Exception             69
278 #define  Pragma_Export_Function              70
279 #define  Pragma_Export_Object                71
280 #define  Pragma_Export_Procedure             72
281 #define  Pragma_Export_Value                 73
282 #define  Pragma_Export_Valued_Procedure      74
283 #define  Pragma_External                     75
284 #define  Pragma_Finalize_Storage_Only        76
285 #define  Pragma_Ident                        77
286 #define  Pragma_Import                       78
287 #define  Pragma_Import_Exception             79
288 #define  Pragma_Import_Function              80
289 #define  Pragma_Import_Object                81
290 #define  Pragma_Import_Procedure             82
291 #define  Pragma_Import_Valued_Procedure      83
292 #define  Pragma_Inline                       84
293 #define  Pragma_Inline_Always                85
294 #define  Pragma_Inline_Generic               86
295 #define  Pragma_Inspection_Point             87
296 #define  Pragma_Interface_Name               88
297 #define  Pragma_Interrupt_Handler            89
298 #define  Pragma_Interrupt_Priority           90
299 #define  Pragma_Java_Constructor             91
300 #define  Pragma_Java_Interface               92
301 #define  Pragma_Keep_Names                   93
302 #define  Pragma_Link_With                    94
303 #define  Pragma_Linker_Alias                 95
304 #define  Pragma_Linker_Options               96
305 #define  Pragma_Linker_Section               97
306 #define  Pragma_List                         98
307 #define  Pragma_Machine_Attribute            99
308 #define  Pragma_Main                        100
309 #define  Pragma_Main_Storage                101
310 #define  Pragma_Memory_Size                 102
311 #define  Pragma_No_Return                   103
312 #define  Pragma_Obsolescent                 104
313 #define  Pragma_Optimize                    105
314 #define  Pragma_Optional_Overriding         106
315 #define  Pragma_Pack                        107
316 #define  Pragma_Page                        108
317 #define  Pragma_Passive                     109
318 #define  Pragma_Preelaborate                110
319 #define  Pragma_Priority                    111
320 #define  Pragma_Psect_Object                112
321 #define  Pragma_Pure                        113
322 #define  Pragma_Pure_Function               114
323 #define  Pragma_Remote_Call_Interface       115
324 #define  Pragma_Remote_Types                116
325 #define  Pragma_Share_Generic               117
326 #define  Pragma_Shared                      118
327 #define  Pragma_Shared_Passive              119
328 #define  Pragma_Source_Reference            120
329 #define  Pragma_Stream_Convert              121
330 #define  Pragma_Subtitle                    122
331 #define  Pragma_Suppress_All                123
332 #define  Pragma_Suppress_Debug_Info         124
333 #define  Pragma_Suppress_Initialization     125
334 #define  Pragma_System_Name                 126
335 #define  Pragma_Task_Info                   127
336 #define  Pragma_Task_Name                   128
337 #define  Pragma_Task_Storage                129
338 #define  Pragma_Thread_Body                 130
339 #define  Pragma_Time_Slice                  131
340 #define  Pragma_Title                       132
341 #define  Pragma_Unchecked_Union             133
342 #define  Pragma_Unimplemented_Unit          134
343 #define  Pragma_Unreferenced                135
344 #define  Pragma_Unreserve_All_Interrupts    136
345 #define  Pragma_Volatile                    137
346 #define  Pragma_Volatile_Components         138
347 #define  Pragma_Weak_External               139
348
349 /* The following are deliberately out of alphabetical order, see Snames */
350
351 #define  Pragma_AST_Entry                   140
352 #define  Pragma_Interface                   141
353 #define  Pragma_Storage_Size                142
354 #define  Pragma_Storage_Unit                143
355
356 /* Define the numeric values for the conventions.  */
357
358 #define  Convention_Ada                      0
359 #define  Convention_Intrinsic                1
360 #define  Convention_Entry                    2
361 #define  Convention_Protected                3
362 #define  Convention_Assembler                4
363 #define  Convention_C                        5
364 #define  Convention_COBOL                    6
365 #define  Convention_CPP                      7
366 #define  Convention_Fortran                  8
367 #define  Convention_Java                     9
368 #define  Convention_Stdcall                 10
369 #define  Convention_Stubbed                 11
370
371 /* End of snames.h (C version of Snames package spec) */