OSDN Git Service

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