OSDN Git Service

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