Fix PR1146: parameter attributes are longer part of
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
1 /* A Bison parser, made by GNU Bison 2.3.  */
2
3 /* Skeleton interface for Bison's Yacc-like parsers in C
4
5    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6    Free Software Foundation, Inc.
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 2, or (at your option)
11    any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin Street, Fifth Floor,
21    Boston, MA 02110-1301, USA.  */
22
23 /* As a special exception, you may create a larger work that contains
24    part or all of the Bison parser skeleton and distribute that work
25    under terms of your choice, so long as that work isn't itself a
26    parser generator using the skeleton or a modified version thereof
27    as a parser skeleton.  Alternatively, if you modify or redistribute
28    the parser skeleton itself, you may (at your option) remove this
29    special exception, which will cause the skeleton and the resulting
30    Bison output files to be licensed under the GNU General Public
31    License without this special exception.
32
33    This special exception was added by the Free Software Foundation in
34    version 2.2 of Bison.  */
35
36 /* Tokens.  */
37 #ifndef YYTOKENTYPE
38 # define YYTOKENTYPE
39    /* Put the tokens into the symbol table, so that GDB and other debuggers
40       know about them.  */
41    enum yytokentype {
42      ESINT64VAL = 258,
43      EUINT64VAL = 259,
44      ESAPINTVAL = 260,
45      EUAPINTVAL = 261,
46      LOCALVAL_ID = 262,
47      GLOBALVAL_ID = 263,
48      FPVAL = 264,
49      VOID = 265,
50      INTTYPE = 266,
51      FLOAT = 267,
52      DOUBLE = 268,
53      X86_FP80 = 269,
54      FP128 = 270,
55      PPC_FP128 = 271,
56      LABEL = 272,
57      TYPE = 273,
58      LOCALVAR = 274,
59      GLOBALVAR = 275,
60      LABELSTR = 276,
61      STRINGCONSTANT = 277,
62      ATSTRINGCONSTANT = 278,
63      PCTSTRINGCONSTANT = 279,
64      ZEROINITIALIZER = 280,
65      TRUETOK = 281,
66      FALSETOK = 282,
67      BEGINTOK = 283,
68      ENDTOK = 284,
69      DECLARE = 285,
70      DEFINE = 286,
71      GLOBAL = 287,
72      CONSTANT = 288,
73      SECTION = 289,
74      ALIAS = 290,
75      VOLATILE = 291,
76      THREAD_LOCAL = 292,
77      TO = 293,
78      DOTDOTDOT = 294,
79      NULL_TOK = 295,
80      UNDEF = 296,
81      INTERNAL = 297,
82      LINKONCE = 298,
83      WEAK = 299,
84      APPENDING = 300,
85      DLLIMPORT = 301,
86      DLLEXPORT = 302,
87      EXTERN_WEAK = 303,
88      OPAQUE = 304,
89      EXTERNAL = 305,
90      TARGET = 306,
91      TRIPLE = 307,
92      ALIGN = 308,
93      DEPLIBS = 309,
94      CALL = 310,
95      TAIL = 311,
96      ASM_TOK = 312,
97      MODULE = 313,
98      SIDEEFFECT = 314,
99      CC_TOK = 315,
100      CCC_TOK = 316,
101      FASTCC_TOK = 317,
102      COLDCC_TOK = 318,
103      X86_STDCALLCC_TOK = 319,
104      X86_FASTCALLCC_TOK = 320,
105      DATALAYOUT = 321,
106      RET = 322,
107      BR = 323,
108      SWITCH = 324,
109      INVOKE = 325,
110      UNWIND = 326,
111      UNREACHABLE = 327,
112      ADD = 328,
113      SUB = 329,
114      MUL = 330,
115      UDIV = 331,
116      SDIV = 332,
117      FDIV = 333,
118      UREM = 334,
119      SREM = 335,
120      FREM = 336,
121      AND = 337,
122      OR = 338,
123      XOR = 339,
124      SHL = 340,
125      LSHR = 341,
126      ASHR = 342,
127      ICMP = 343,
128      FCMP = 344,
129      EQ = 345,
130      NE = 346,
131      SLT = 347,
132      SGT = 348,
133      SLE = 349,
134      SGE = 350,
135      ULT = 351,
136      UGT = 352,
137      ULE = 353,
138      UGE = 354,
139      OEQ = 355,
140      ONE = 356,
141      OLT = 357,
142      OGT = 358,
143      OLE = 359,
144      OGE = 360,
145      ORD = 361,
146      UNO = 362,
147      UEQ = 363,
148      UNE = 364,
149      MALLOC = 365,
150      ALLOCA = 366,
151      FREE = 367,
152      LOAD = 368,
153      STORE = 369,
154      GETELEMENTPTR = 370,
155      TRUNC = 371,
156      ZEXT = 372,
157      SEXT = 373,
158      FPTRUNC = 374,
159      FPEXT = 375,
160      BITCAST = 376,
161      UITOFP = 377,
162      SITOFP = 378,
163      FPTOUI = 379,
164      FPTOSI = 380,
165      INTTOPTR = 381,
166      PTRTOINT = 382,
167      PHI_TOK = 383,
168      SELECT = 384,
169      VAARG = 385,
170      EXTRACTELEMENT = 386,
171      INSERTELEMENT = 387,
172      SHUFFLEVECTOR = 388,
173      SIGNEXT = 389,
174      ZEROEXT = 390,
175      NORETURN = 391,
176      INREG = 392,
177      SRET = 393,
178      NOUNWIND = 394,
179      NOALIAS = 395,
180      BYVAL = 396,
181      NEST = 397,
182      READNONE = 398,
183      READONLY = 399,
184      DEFAULT = 400,
185      HIDDEN = 401,
186      PROTECTED = 402
187    };
188 #endif
189 /* Tokens.  */
190 #define ESINT64VAL 258
191 #define EUINT64VAL 259
192 #define ESAPINTVAL 260
193 #define EUAPINTVAL 261
194 #define LOCALVAL_ID 262
195 #define GLOBALVAL_ID 263
196 #define FPVAL 264
197 #define VOID 265
198 #define INTTYPE 266
199 #define FLOAT 267
200 #define DOUBLE 268
201 #define X86_FP80 269
202 #define FP128 270
203 #define PPC_FP128 271
204 #define LABEL 272
205 #define TYPE 273
206 #define LOCALVAR 274
207 #define GLOBALVAR 275
208 #define LABELSTR 276
209 #define STRINGCONSTANT 277
210 #define ATSTRINGCONSTANT 278
211 #define PCTSTRINGCONSTANT 279
212 #define ZEROINITIALIZER 280
213 #define TRUETOK 281
214 #define FALSETOK 282
215 #define BEGINTOK 283
216 #define ENDTOK 284
217 #define DECLARE 285
218 #define DEFINE 286
219 #define GLOBAL 287
220 #define CONSTANT 288
221 #define SECTION 289
222 #define ALIAS 290
223 #define VOLATILE 291
224 #define THREAD_LOCAL 292
225 #define TO 293
226 #define DOTDOTDOT 294
227 #define NULL_TOK 295
228 #define UNDEF 296
229 #define INTERNAL 297
230 #define LINKONCE 298
231 #define WEAK 299
232 #define APPENDING 300
233 #define DLLIMPORT 301
234 #define DLLEXPORT 302
235 #define EXTERN_WEAK 303
236 #define OPAQUE 304
237 #define EXTERNAL 305
238 #define TARGET 306
239 #define TRIPLE 307
240 #define ALIGN 308
241 #define DEPLIBS 309
242 #define CALL 310
243 #define TAIL 311
244 #define ASM_TOK 312
245 #define MODULE 313
246 #define SIDEEFFECT 314
247 #define CC_TOK 315
248 #define CCC_TOK 316
249 #define FASTCC_TOK 317
250 #define COLDCC_TOK 318
251 #define X86_STDCALLCC_TOK 319
252 #define X86_FASTCALLCC_TOK 320
253 #define DATALAYOUT 321
254 #define RET 322
255 #define BR 323
256 #define SWITCH 324
257 #define INVOKE 325
258 #define UNWIND 326
259 #define UNREACHABLE 327
260 #define ADD 328
261 #define SUB 329
262 #define MUL 330
263 #define UDIV 331
264 #define SDIV 332
265 #define FDIV 333
266 #define UREM 334
267 #define SREM 335
268 #define FREM 336
269 #define AND 337
270 #define OR 338
271 #define XOR 339
272 #define SHL 340
273 #define LSHR 341
274 #define ASHR 342
275 #define ICMP 343
276 #define FCMP 344
277 #define EQ 345
278 #define NE 346
279 #define SLT 347
280 #define SGT 348
281 #define SLE 349
282 #define SGE 350
283 #define ULT 351
284 #define UGT 352
285 #define ULE 353
286 #define UGE 354
287 #define OEQ 355
288 #define ONE 356
289 #define OLT 357
290 #define OGT 358
291 #define OLE 359
292 #define OGE 360
293 #define ORD 361
294 #define UNO 362
295 #define UEQ 363
296 #define UNE 364
297 #define MALLOC 365
298 #define ALLOCA 366
299 #define FREE 367
300 #define LOAD 368
301 #define STORE 369
302 #define GETELEMENTPTR 370
303 #define TRUNC 371
304 #define ZEXT 372
305 #define SEXT 373
306 #define FPTRUNC 374
307 #define FPEXT 375
308 #define BITCAST 376
309 #define UITOFP 377
310 #define SITOFP 378
311 #define FPTOUI 379
312 #define FPTOSI 380
313 #define INTTOPTR 381
314 #define PTRTOINT 382
315 #define PHI_TOK 383
316 #define SELECT 384
317 #define VAARG 385
318 #define EXTRACTELEMENT 386
319 #define INSERTELEMENT 387
320 #define SHUFFLEVECTOR 388
321 #define SIGNEXT 389
322 #define ZEROEXT 390
323 #define NORETURN 391
324 #define INREG 392
325 #define SRET 393
326 #define NOUNWIND 394
327 #define NOALIAS 395
328 #define BYVAL 396
329 #define NEST 397
330 #define READNONE 398
331 #define READONLY 399
332 #define DEFAULT 400
333 #define HIDDEN 401
334 #define PROTECTED 402
335
336
337
338
339 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
340 typedef union YYSTYPE
341 #line 945 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
342 {
343   llvm::Module                           *ModuleVal;
344   llvm::Function                         *FunctionVal;
345   llvm::BasicBlock                       *BasicBlockVal;
346   llvm::TerminatorInst                   *TermInstVal;
347   llvm::Instruction                      *InstVal;
348   llvm::Constant                         *ConstVal;
349
350   const llvm::Type                       *PrimType;
351   std::list<llvm::PATypeHolder>          *TypeList;
352   llvm::PATypeHolder                     *TypeVal;
353   llvm::Value                            *ValueVal;
354   std::vector<llvm::Value*>              *ValueList;
355   llvm::ArgListType                      *ArgList;
356   llvm::TypeWithAttrs                     TypeWithAttrs;
357   llvm::TypeWithAttrsList                *TypeWithAttrsList;
358   llvm::ParamList                        *ParamList;
359
360   // Represent the RHS of PHI node
361   std::list<std::pair<llvm::Value*,
362                       llvm::BasicBlock*> > *PHIList;
363   std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
364   std::vector<llvm::Constant*>           *ConstVector;
365
366   llvm::GlobalValue::LinkageTypes         Linkage;
367   llvm::GlobalValue::VisibilityTypes      Visibility;
368   uint16_t                          ParamAttrs;
369   llvm::APInt                       *APIntVal;
370   int64_t                           SInt64Val;
371   uint64_t                          UInt64Val;
372   int                               SIntVal;
373   unsigned                          UIntVal;
374   llvm::APFloat                    *FPVal;
375   bool                              BoolVal;
376
377   std::string                      *StrVal;   // This memory must be deleted
378   llvm::ValID                       ValIDVal;
379
380   llvm::Instruction::BinaryOps      BinaryOpVal;
381   llvm::Instruction::TermOps        TermOpVal;
382   llvm::Instruction::MemoryOps      MemOpVal;
383   llvm::Instruction::CastOps        CastOpVal;
384   llvm::Instruction::OtherOps       OtherOpVal;
385   llvm::ICmpInst::Predicate         IPredicate;
386   llvm::FCmpInst::Predicate         FPredicate;
387 }
388 /* Line 1489 of yacc.c.  */
389 #line 390 "llvmAsmParser.tab.h"
390         YYSTYPE;
391 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
392 # define YYSTYPE_IS_DECLARED 1
393 # define YYSTYPE_IS_TRIVIAL 1
394 #endif
395
396 extern YYSTYPE llvmAsmlval;
397