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,
203 #define ESINT64VAL 258
204 #define EUINT64VAL 259
205 #define ESAPINTVAL 260
206 #define EUAPINTVAL 261
207 #define LOCALVAL_ID 262
208 #define GLOBALVAL_ID 263
216 #define PPC_FP128 271
220 #define GLOBALVAR 275
222 #define STRINGCONSTANT 277
223 #define ATSTRINGCONSTANT 278
224 #define PCTSTRINGCONSTANT 279
225 #define ZEROINITIALIZER 280
237 #define THREAD_LOCAL 292
239 #define DOTDOTDOT 294
245 #define APPENDING 300
246 #define DLLIMPORT 301
247 #define DLLEXPORT 302
248 #define EXTERN_WEAK 303
255 #define ADDRSPACE 310
261 #define SIDEEFFECT 316
264 #define FASTCC_TOK 319
265 #define COLDCC_TOK 320
266 #define X86_STDCALLCC_TOK 321
267 #define X86_FASTCALLCC_TOK 322
268 #define DATALAYOUT 323
274 #define UNREACHABLE 329
319 #define GETELEMENTPTR 374
335 #define EXTRACTELEMENT 390
336 #define INSERTELEMENT 391
337 #define SHUFFLEVECTOR 392
338 #define GETRESULT 393
339 #define EXTRACTVALUE 394
340 #define INSERTVALUE 395
355 #define ALWAYSINLINE 410
360 #define PROTECTED 415
365 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
366 typedef union YYSTYPE
367 #line 986 "/Volumes/Gir/devel/llvm/llvm.src/lib/AsmParser/llvmAsmParser.y"
369 llvm::Module *ModuleVal;
370 llvm::Function *FunctionVal;
371 llvm::BasicBlock *BasicBlockVal;
372 llvm::TerminatorInst *TermInstVal;
373 llvm::Instruction *InstVal;
374 llvm::Constant *ConstVal;
376 const llvm::Type *PrimType;
377 std::list<llvm::PATypeHolder> *TypeList;
378 llvm::PATypeHolder *TypeVal;
379 llvm::Value *ValueVal;
380 std::vector<llvm::Value*> *ValueList;
381 std::vector<unsigned> *ConstantList;
382 llvm::ArgListType *ArgList;
383 llvm::TypeWithAttrs TypeWithAttrs;
384 llvm::TypeWithAttrsList *TypeWithAttrsList;
385 llvm::ParamList *ParamList;
387 // Represent the RHS of PHI node
388 std::list<std::pair<llvm::Value*,
389 llvm::BasicBlock*> > *PHIList;
390 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
391 std::vector<llvm::Constant*> *ConstVector;
393 llvm::GlobalValue::LinkageTypes Linkage;
394 llvm::GlobalValue::VisibilityTypes Visibility;
395 llvm::Attributes Attributes;
396 llvm::APInt *APIntVal;
401 llvm::APFloat *FPVal;
404 std::string *StrVal; // This memory must be deleted
405 llvm::ValID ValIDVal;
407 llvm::Instruction::BinaryOps BinaryOpVal;
408 llvm::Instruction::TermOps TermOpVal;
409 llvm::Instruction::MemoryOps MemOpVal;
410 llvm::Instruction::CastOps CastOpVal;
411 llvm::Instruction::OtherOps OtherOpVal;
412 llvm::ICmpInst::Predicate IPredicate;
413 llvm::FCmpInst::Predicate FPredicate;
415 /* Line 1529 of yacc.c. */
416 #line 417 "llvmAsmParser.tab.h"
418 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
419 # define YYSTYPE_IS_DECLARED 1
420 # define YYSTYPE_IS_TRIVIAL 1
423 extern YYSTYPE llvmAsmlval;