1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton interface for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
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)
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.
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. */
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.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
62 ATSTRINGCONSTANT = 278,
63 PCTSTRINGCONSTANT = 279,
64 ZEROINITIALIZER = 280,
105 X86_STDCALLCC_TOK = 321,
106 X86_FASTCALLCC_TOK = 322,
174 EXTRACTELEMENT = 390,
201 #define ESINT64VAL 258
202 #define EUINT64VAL 259
203 #define ESAPINTVAL 260
204 #define EUAPINTVAL 261
205 #define LOCALVAL_ID 262
206 #define GLOBALVAL_ID 263
214 #define PPC_FP128 271
218 #define GLOBALVAR 275
220 #define STRINGCONSTANT 277
221 #define ATSTRINGCONSTANT 278
222 #define PCTSTRINGCONSTANT 279
223 #define ZEROINITIALIZER 280
235 #define THREAD_LOCAL 292
237 #define DOTDOTDOT 294
243 #define APPENDING 300
244 #define DLLIMPORT 301
245 #define DLLEXPORT 302
246 #define EXTERN_WEAK 303
253 #define ADDRSPACE 310
259 #define SIDEEFFECT 316
262 #define FASTCC_TOK 319
263 #define COLDCC_TOK 320
264 #define X86_STDCALLCC_TOK 321
265 #define X86_FASTCALLCC_TOK 322
266 #define DATALAYOUT 323
272 #define UNREACHABLE 329
317 #define GETELEMENTPTR 374
333 #define EXTRACTELEMENT 390
334 #define INSERTELEMENT 391
335 #define SHUFFLEVECTOR 392
336 #define GETRESULT 393
337 #define EXTRACTVALUE 394
338 #define INSERTVALUE 395
353 #define ALWAYSINLINE 410
356 #define PROTECTED 413
361 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
362 typedef union YYSTYPE
363 #line 980 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
365 llvm::Module *ModuleVal;
366 llvm::Function *FunctionVal;
367 llvm::BasicBlock *BasicBlockVal;
368 llvm::TerminatorInst *TermInstVal;
369 llvm::Instruction *InstVal;
370 llvm::Constant *ConstVal;
372 const llvm::Type *PrimType;
373 std::list<llvm::PATypeHolder> *TypeList;
374 llvm::PATypeHolder *TypeVal;
375 llvm::Value *ValueVal;
376 std::vector<llvm::Value*> *ValueList;
377 std::vector<unsigned> *ConstantList;
378 llvm::ArgListType *ArgList;
379 llvm::TypeWithAttrs TypeWithAttrs;
380 llvm::TypeWithAttrsList *TypeWithAttrsList;
381 llvm::ParamList *ParamList;
383 // Represent the RHS of PHI node
384 std::list<std::pair<llvm::Value*,
385 llvm::BasicBlock*> > *PHIList;
386 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
387 std::vector<llvm::Constant*> *ConstVector;
389 llvm::GlobalValue::LinkageTypes Linkage;
390 llvm::GlobalValue::VisibilityTypes Visibility;
391 llvm::Attributes Attributes;
392 llvm::APInt *APIntVal;
397 llvm::APFloat *FPVal;
400 std::string *StrVal; // This memory must be deleted
401 llvm::ValID ValIDVal;
403 llvm::Instruction::BinaryOps BinaryOpVal;
404 llvm::Instruction::TermOps TermOpVal;
405 llvm::Instruction::MemoryOps MemOpVal;
406 llvm::Instruction::CastOps CastOpVal;
407 llvm::Instruction::OtherOps OtherOpVal;
408 llvm::ICmpInst::Predicate IPredicate;
409 llvm::FCmpInst::Predicate FPredicate;
411 /* Line 1489 of yacc.c. */
412 #line 413 "llvmAsmParser.tab.h"
414 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
415 # define YYSTYPE_IS_DECLARED 1
416 # define YYSTYPE_IS_TRIVIAL 1
419 extern YYSTYPE llvmAsmlval;