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,
104 X86_STDCALLCC_TOK = 320,
105 X86_FASTCALLCC_TOK = 321,
172 EXTRACTELEMENT = 388,
194 #define ESINT64VAL 258
195 #define EUINT64VAL 259
196 #define ESAPINTVAL 260
197 #define EUAPINTVAL 261
198 #define LOCALVAL_ID 262
199 #define GLOBALVAL_ID 263
207 #define PPC_FP128 271
211 #define GLOBALVAR 275
213 #define STRINGCONSTANT 277
214 #define ATSTRINGCONSTANT 278
215 #define PCTSTRINGCONSTANT 279
216 #define ZEROINITIALIZER 280
228 #define THREAD_LOCAL 292
230 #define DOTDOTDOT 294
236 #define APPENDING 300
237 #define DLLIMPORT 301
238 #define DLLEXPORT 302
239 #define EXTERN_WEAK 303
245 #define ADDRSPACE 309
251 #define SIDEEFFECT 315
254 #define FASTCC_TOK 318
255 #define COLDCC_TOK 319
256 #define X86_STDCALLCC_TOK 320
257 #define X86_FASTCALLCC_TOK 321
258 #define DATALAYOUT 322
265 #define UNREACHABLE 329
308 #define GETELEMENTPTR 372
324 #define EXTRACTELEMENT 388
325 #define INSERTELEMENT 389
326 #define SHUFFLEVECTOR 390
327 #define GETRESULT 391
342 #define PROTECTED 406
347 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
348 typedef union YYSTYPE
349 #line 950 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
351 llvm::Module *ModuleVal;
352 llvm::Function *FunctionVal;
353 llvm::BasicBlock *BasicBlockVal;
354 llvm::TerminatorInst *TermInstVal;
355 llvm::Instruction *InstVal;
356 llvm::Constant *ConstVal;
358 const llvm::Type *PrimType;
359 std::list<llvm::PATypeHolder> *TypeList;
360 llvm::PATypeHolder *TypeVal;
361 llvm::Value *ValueVal;
362 std::vector<llvm::Value*> *ValueList;
363 llvm::ArgListType *ArgList;
364 llvm::TypeWithAttrs TypeWithAttrs;
365 llvm::TypeWithAttrsList *TypeWithAttrsList;
366 llvm::ParamList *ParamList;
368 // Represent the RHS of PHI node
369 std::list<std::pair<llvm::Value*,
370 llvm::BasicBlock*> > *PHIList;
371 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
372 std::vector<llvm::Constant*> *ConstVector;
374 llvm::GlobalValue::LinkageTypes Linkage;
375 llvm::GlobalValue::VisibilityTypes Visibility;
376 llvm::ParameterAttributes ParamAttrs;
377 llvm::APInt *APIntVal;
382 llvm::APFloat *FPVal;
385 std::string *StrVal; // This memory must be deleted
386 llvm::ValID ValIDVal;
388 llvm::Instruction::BinaryOps BinaryOpVal;
389 llvm::Instruction::TermOps TermOpVal;
390 llvm::Instruction::MemoryOps MemOpVal;
391 llvm::Instruction::CastOps CastOpVal;
392 llvm::Instruction::OtherOps OtherOpVal;
393 llvm::ICmpInst::Predicate IPredicate;
394 llvm::FCmpInst::Predicate FPredicate;
396 /* Line 1529 of yacc.c. */
397 #line 398 "llvmAsmParser.tab.h"
399 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
400 # define YYSTYPE_IS_DECLARED 1
401 # define YYSTYPE_IS_TRIVIAL 1
404 extern YYSTYPE llvmAsmlval;