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,
196 #define ESINT64VAL 258
197 #define EUINT64VAL 259
198 #define ESAPINTVAL 260
199 #define EUAPINTVAL 261
200 #define LOCALVAL_ID 262
201 #define GLOBALVAL_ID 263
209 #define PPC_FP128 271
213 #define GLOBALVAR 275
215 #define STRINGCONSTANT 277
216 #define ATSTRINGCONSTANT 278
217 #define PCTSTRINGCONSTANT 279
218 #define ZEROINITIALIZER 280
230 #define THREAD_LOCAL 292
232 #define DOTDOTDOT 294
238 #define APPENDING 300
239 #define DLLIMPORT 301
240 #define DLLEXPORT 302
241 #define EXTERN_WEAK 303
248 #define ADDRSPACE 310
254 #define SIDEEFFECT 316
257 #define FASTCC_TOK 319
258 #define COLDCC_TOK 320
259 #define X86_STDCALLCC_TOK 321
260 #define X86_FASTCALLCC_TOK 322
261 #define DATALAYOUT 323
267 #define UNREACHABLE 329
312 #define GETELEMENTPTR 374
328 #define EXTRACTELEMENT 390
329 #define INSERTELEMENT 391
330 #define SHUFFLEVECTOR 392
331 #define GETRESULT 393
346 #define PROTECTED 408
351 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
352 typedef union YYSTYPE
353 #line 949 "/Volumes/LLVM/llvm/lib/AsmParser/llvmAsmParser.y"
355 llvm::Module *ModuleVal;
356 llvm::Function *FunctionVal;
357 llvm::BasicBlock *BasicBlockVal;
358 llvm::TerminatorInst *TermInstVal;
359 llvm::Instruction *InstVal;
360 llvm::Constant *ConstVal;
362 const llvm::Type *PrimType;
363 std::list<llvm::PATypeHolder> *TypeList;
364 llvm::PATypeHolder *TypeVal;
365 llvm::Value *ValueVal;
366 std::vector<llvm::Value*> *ValueList;
367 llvm::ArgListType *ArgList;
368 llvm::TypeWithAttrs TypeWithAttrs;
369 llvm::TypeWithAttrsList *TypeWithAttrsList;
370 llvm::ParamList *ParamList;
372 // Represent the RHS of PHI node
373 std::list<std::pair<llvm::Value*,
374 llvm::BasicBlock*> > *PHIList;
375 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
376 std::vector<llvm::Constant*> *ConstVector;
378 llvm::GlobalValue::LinkageTypes Linkage;
379 llvm::GlobalValue::VisibilityTypes Visibility;
380 llvm::ParameterAttributes ParamAttrs;
381 llvm::APInt *APIntVal;
386 llvm::APFloat *FPVal;
389 std::string *StrVal; // This memory must be deleted
390 llvm::ValID ValIDVal;
392 llvm::Instruction::BinaryOps BinaryOpVal;
393 llvm::Instruction::TermOps TermOpVal;
394 llvm::Instruction::MemoryOps MemOpVal;
395 llvm::Instruction::CastOps CastOpVal;
396 llvm::Instruction::OtherOps OtherOpVal;
397 llvm::ICmpInst::Predicate IPredicate;
398 llvm::FCmpInst::Predicate FPredicate;
400 /* Line 1529 of yacc.c. */
401 #line 402 "llvmAsmParser.tab.h"
403 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
404 # define YYSTYPE_IS_DECLARED 1
405 # define YYSTYPE_IS_TRIVIAL 1
408 extern YYSTYPE llvmAsmlval;