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,
107 X86_SSECALLCC_TOK = 323,
175 EXTRACTELEMENT = 391,
199 #define ESINT64VAL 258
200 #define EUINT64VAL 259
201 #define ESAPINTVAL 260
202 #define EUAPINTVAL 261
203 #define LOCALVAL_ID 262
204 #define GLOBALVAL_ID 263
212 #define PPC_FP128 271
216 #define GLOBALVAR 275
218 #define STRINGCONSTANT 277
219 #define ATSTRINGCONSTANT 278
220 #define PCTSTRINGCONSTANT 279
221 #define ZEROINITIALIZER 280
233 #define THREAD_LOCAL 292
235 #define DOTDOTDOT 294
241 #define APPENDING 300
242 #define DLLIMPORT 301
243 #define DLLEXPORT 302
244 #define EXTERN_WEAK 303
251 #define ADDRSPACE 310
257 #define SIDEEFFECT 316
260 #define FASTCC_TOK 319
261 #define COLDCC_TOK 320
262 #define X86_STDCALLCC_TOK 321
263 #define X86_FASTCALLCC_TOK 322
264 #define X86_SSECALLCC_TOK 323
265 #define DATALAYOUT 324
271 #define UNREACHABLE 330
316 #define GETELEMENTPTR 375
332 #define EXTRACTELEMENT 391
333 #define INSERTELEMENT 392
334 #define SHUFFLEVECTOR 393
335 #define GETRESULT 394
336 #define EXTRACTVALUE 395
337 #define INSERTVALUE 396
352 #define PROTECTED 411
357 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
358 typedef union YYSTYPE
359 #line 967 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y"
361 llvm::Module *ModuleVal;
362 llvm::Function *FunctionVal;
363 llvm::BasicBlock *BasicBlockVal;
364 llvm::TerminatorInst *TermInstVal;
365 llvm::Instruction *InstVal;
366 llvm::Constant *ConstVal;
368 const llvm::Type *PrimType;
369 std::list<llvm::PATypeHolder> *TypeList;
370 llvm::PATypeHolder *TypeVal;
371 llvm::Value *ValueVal;
372 std::vector<llvm::Value*> *ValueList;
373 std::vector<unsigned> *ConstantList;
374 llvm::ArgListType *ArgList;
375 llvm::TypeWithAttrs TypeWithAttrs;
376 llvm::TypeWithAttrsList *TypeWithAttrsList;
377 llvm::ParamList *ParamList;
379 // Represent the RHS of PHI node
380 std::list<std::pair<llvm::Value*,
381 llvm::BasicBlock*> > *PHIList;
382 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
383 std::vector<llvm::Constant*> *ConstVector;
385 llvm::GlobalValue::LinkageTypes Linkage;
386 llvm::GlobalValue::VisibilityTypes Visibility;
387 llvm::ParameterAttributes ParamAttrs;
388 llvm::APInt *APIntVal;
393 llvm::APFloat *FPVal;
396 std::string *StrVal; // This memory must be deleted
397 llvm::ValID ValIDVal;
399 llvm::Instruction::BinaryOps BinaryOpVal;
400 llvm::Instruction::TermOps TermOpVal;
401 llvm::Instruction::MemoryOps MemOpVal;
402 llvm::Instruction::CastOps CastOpVal;
403 llvm::Instruction::OtherOps OtherOpVal;
404 llvm::ICmpInst::Predicate IPredicate;
405 llvm::FCmpInst::Predicate FPredicate;
407 /* Line 1529 of yacc.c. */
408 #line 409 "llvmAsmParser.tab.h"
410 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
411 # define YYSTYPE_IS_DECLARED 1
412 # define YYSTYPE_IS_TRIVIAL 1
415 extern YYSTYPE llvmAsmlval;