-/* A Bison parser, made by GNU Bison 2.1. */
-
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- ESINT64VAL = 258,
- EUINT64VAL = 259,
- SINTVAL = 260,
- UINTVAL = 261,
- FPVAL = 262,
- VOID = 263,
- BOOL = 264,
- INT8 = 265,
- INT16 = 266,
- INT32 = 267,
- INT64 = 268,
- FLOAT = 269,
- DOUBLE = 270,
- LABEL = 271,
- TYPE = 272,
- VAR_ID = 273,
- LABELSTR = 274,
- STRINGCONSTANT = 275,
- IMPLEMENTATION = 276,
- ZEROINITIALIZER = 277,
- TRUETOK = 278,
- FALSETOK = 279,
- BEGINTOK = 280,
- ENDTOK = 281,
- DECLARE = 282,
- DEFINE = 283,
- GLOBAL = 284,
- CONSTANT = 285,
- SECTION = 286,
- VOLATILE = 287,
- TO = 288,
- DOTDOTDOT = 289,
- NULL_TOK = 290,
- UNDEF = 291,
- INTERNAL = 292,
- LINKONCE = 293,
- WEAK = 294,
- APPENDING = 295,
- DLLIMPORT = 296,
- DLLEXPORT = 297,
- EXTERN_WEAK = 298,
- OPAQUE = 299,
- NOT = 300,
- EXTERNAL = 301,
- TARGET = 302,
- TRIPLE = 303,
- ENDIAN = 304,
- POINTERSIZE = 305,
- LITTLE = 306,
- BIG = 307,
- ALIGN = 308,
- DEPLIBS = 309,
- CALL = 310,
- TAIL = 311,
- ASM_TOK = 312,
- MODULE = 313,
- SIDEEFFECT = 314,
- CC_TOK = 315,
- CCC_TOK = 316,
- CSRETCC_TOK = 317,
- FASTCC_TOK = 318,
- COLDCC_TOK = 319,
- X86_STDCALLCC_TOK = 320,
- X86_FASTCALLCC_TOK = 321,
- DATALAYOUT = 322,
- RET = 323,
- BR = 324,
- SWITCH = 325,
- INVOKE = 326,
- UNWIND = 327,
- UNREACHABLE = 328,
- ADD = 329,
- SUB = 330,
- MUL = 331,
- UDIV = 332,
- SDIV = 333,
- FDIV = 334,
- UREM = 335,
- SREM = 336,
- FREM = 337,
- AND = 338,
- OR = 339,
- XOR = 340,
- ICMP = 341,
- FCMP = 342,
- EQ = 343,
- NE = 344,
- SLT = 345,
- SGT = 346,
- SLE = 347,
- SGE = 348,
- ULT = 349,
- UGT = 350,
- ULE = 351,
- UGE = 352,
- OEQ = 353,
- ONE = 354,
- OLT = 355,
- OGT = 356,
- OLE = 357,
- OGE = 358,
- ORD = 359,
- UNO = 360,
- UEQ = 361,
- UNE = 362,
- MALLOC = 363,
- ALLOCA = 364,
- FREE = 365,
- LOAD = 366,
- STORE = 367,
- GETELEMENTPTR = 368,
- TRUNC = 369,
- ZEXT = 370,
- SEXT = 371,
- FPTRUNC = 372,
- FPEXT = 373,
- BITCAST = 374,
- UITOFP = 375,
- SITOFP = 376,
- FPTOUI = 377,
- FPTOSI = 378,
- INTTOPTR = 379,
- PTRTOINT = 380,
- PHI_TOK = 381,
- SELECT = 382,
- SHL = 383,
- LSHR = 384,
- ASHR = 385,
- VAARG = 386,
- EXTRACTELEMENT = 387,
- INSERTELEMENT = 388,
- SHUFFLEVECTOR = 389
- };
-#endif
-/* Tokens. */
-#define ESINT64VAL 258
-#define EUINT64VAL 259
-#define SINTVAL 260
-#define UINTVAL 261
-#define FPVAL 262
-#define VOID 263
-#define BOOL 264
-#define INT8 265
-#define INT16 266
-#define INT32 267
-#define INT64 268
-#define FLOAT 269
-#define DOUBLE 270
-#define LABEL 271
-#define TYPE 272
-#define VAR_ID 273
-#define LABELSTR 274
-#define STRINGCONSTANT 275
-#define IMPLEMENTATION 276
-#define ZEROINITIALIZER 277
-#define TRUETOK 278
-#define FALSETOK 279
-#define BEGINTOK 280
-#define ENDTOK 281
-#define DECLARE 282
-#define DEFINE 283
-#define GLOBAL 284
-#define CONSTANT 285
-#define SECTION 286
-#define VOLATILE 287
-#define TO 288
-#define DOTDOTDOT 289
-#define NULL_TOK 290
-#define UNDEF 291
-#define INTERNAL 292
-#define LINKONCE 293
-#define WEAK 294
-#define APPENDING 295
-#define DLLIMPORT 296
-#define DLLEXPORT 297
-#define EXTERN_WEAK 298
-#define OPAQUE 299
-#define NOT 300
-#define EXTERNAL 301
-#define TARGET 302
-#define TRIPLE 303
-#define ENDIAN 304
-#define POINTERSIZE 305
-#define LITTLE 306
-#define BIG 307
-#define ALIGN 308
-#define DEPLIBS 309
-#define CALL 310
-#define TAIL 311
-#define ASM_TOK 312
-#define MODULE 313
-#define SIDEEFFECT 314
-#define CC_TOK 315
-#define CCC_TOK 316
-#define CSRETCC_TOK 317
-#define FASTCC_TOK 318
-#define COLDCC_TOK 319
-#define X86_STDCALLCC_TOK 320
-#define X86_FASTCALLCC_TOK 321
-#define DATALAYOUT 322
-#define RET 323
-#define BR 324
-#define SWITCH 325
-#define INVOKE 326
-#define UNWIND 327
-#define UNREACHABLE 328
-#define ADD 329
-#define SUB 330
-#define MUL 331
-#define UDIV 332
-#define SDIV 333
-#define FDIV 334
-#define UREM 335
-#define SREM 336
-#define FREM 337
-#define AND 338
-#define OR 339
-#define XOR 340
-#define ICMP 341
-#define FCMP 342
-#define EQ 343
-#define NE 344
-#define SLT 345
-#define SGT 346
-#define SLE 347
-#define SGE 348
-#define ULT 349
-#define UGT 350
-#define ULE 351
-#define UGE 352
-#define OEQ 353
-#define ONE 354
-#define OLT 355
-#define OGT 356
-#define OLE 357
-#define OGE 358
-#define ORD 359
-#define UNO 360
-#define UEQ 361
-#define UNE 362
-#define MALLOC 363
-#define ALLOCA 364
-#define FREE 365
-#define LOAD 366
-#define STORE 367
-#define GETELEMENTPTR 368
-#define TRUNC 369
-#define ZEXT 370
-#define SEXT 371
-#define FPTRUNC 372
-#define FPEXT 373
-#define BITCAST 374
-#define UITOFP 375
-#define SITOFP 376
-#define FPTOUI 377
-#define FPTOSI 378
-#define INTTOPTR 379
-#define PTRTOINT 380
-#define PHI_TOK 381
-#define SELECT 382
-#define SHL 383
-#define LSHR 384
-#define ASHR 385
-#define VAARG 386
-#define EXTRACTELEMENT 387
-#define INSERTELEMENT 388
-#define SHUFFLEVECTOR 389
-
-
-
-
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 843 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
-typedef union YYSTYPE {
+typedef union {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
llvm::BasicBlock *BasicBlockVal;
std::vector<llvm::Constant*> *ConstVector;
llvm::GlobalValue::LinkageTypes Linkage;
- llvm::FunctionType::ParameterAttributes ParamAttrs;
+ llvm::GlobalValue::VisibilityTypes Visibility;
+ uint16_t ParamAttrs;
+ llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
int SIntVal;
unsigned UIntVal;
- double FPVal;
+ llvm::APFloat *FPVal;
bool BoolVal;
- char *StrVal; // This memory is strdup'd!
- llvm::ValID ValIDVal; // strdup'd memory maybe!
+ std::string *StrVal; // This memory must be deleted
+ llvm::ValID ValIDVal;
llvm::Instruction::BinaryOps BinaryOpVal;
llvm::Instruction::TermOps TermOpVal;
llvm::Instruction::MemoryOps MemOpVal;
llvm::Instruction::CastOps CastOpVal;
llvm::Instruction::OtherOps OtherOpVal;
- llvm::Module::Endianness Endianness;
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
-/* Line 1447 of yacc.c. */
-#line 352 "llvmAsmParser.tab.h"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-extern YYSTYPE llvmAsmlval;
-
+#define ESINT64VAL 257
+#define EUINT64VAL 258
+#define ESAPINTVAL 259
+#define EUAPINTVAL 260
+#define LOCALVAL_ID 261
+#define GLOBALVAL_ID 262
+#define FPVAL 263
+#define VOID 264
+#define INTTYPE 265
+#define FLOAT 266
+#define DOUBLE 267
+#define X86_FP80 268
+#define FP128 269
+#define PPC_FP128 270
+#define LABEL 271
+#define TYPE 272
+#define LOCALVAR 273
+#define GLOBALVAR 274
+#define LABELSTR 275
+#define STRINGCONSTANT 276
+#define ATSTRINGCONSTANT 277
+#define PCTSTRINGCONSTANT 278
+#define ZEROINITIALIZER 279
+#define TRUETOK 280
+#define FALSETOK 281
+#define BEGINTOK 282
+#define ENDTOK 283
+#define DECLARE 284
+#define DEFINE 285
+#define GLOBAL 286
+#define CONSTANT 287
+#define SECTION 288
+#define ALIAS 289
+#define VOLATILE 290
+#define THREAD_LOCAL 291
+#define TO 292
+#define DOTDOTDOT 293
+#define NULL_TOK 294
+#define UNDEF 295
+#define INTERNAL 296
+#define LINKONCE 297
+#define WEAK 298
+#define APPENDING 299
+#define DLLIMPORT 300
+#define DLLEXPORT 301
+#define EXTERN_WEAK 302
+#define OPAQUE 303
+#define EXTERNAL 304
+#define TARGET 305
+#define TRIPLE 306
+#define ALIGN 307
+#define DEPLIBS 308
+#define CALL 309
+#define TAIL 310
+#define ASM_TOK 311
+#define MODULE 312
+#define SIDEEFFECT 313
+#define CC_TOK 314
+#define CCC_TOK 315
+#define FASTCC_TOK 316
+#define COLDCC_TOK 317
+#define X86_STDCALLCC_TOK 318
+#define X86_FASTCALLCC_TOK 319
+#define DATALAYOUT 320
+#define RET 321
+#define BR 322
+#define SWITCH 323
+#define INVOKE 324
+#define UNWIND 325
+#define UNREACHABLE 326
+#define ADD 327
+#define SUB 328
+#define MUL 329
+#define UDIV 330
+#define SDIV 331
+#define FDIV 332
+#define UREM 333
+#define SREM 334
+#define FREM 335
+#define AND 336
+#define OR 337
+#define XOR 338
+#define SHL 339
+#define LSHR 340
+#define ASHR 341
+#define ICMP 342
+#define FCMP 343
+#define EQ 344
+#define NE 345
+#define SLT 346
+#define SGT 347
+#define SLE 348
+#define SGE 349
+#define ULT 350
+#define UGT 351
+#define ULE 352
+#define UGE 353
+#define OEQ 354
+#define ONE 355
+#define OLT 356
+#define OGT 357
+#define OLE 358
+#define OGE 359
+#define ORD 360
+#define UNO 361
+#define UEQ 362
+#define UNE 363
+#define MALLOC 364
+#define ALLOCA 365
+#define FREE 366
+#define LOAD 367
+#define STORE 368
+#define GETELEMENTPTR 369
+#define TRUNC 370
+#define ZEXT 371
+#define SEXT 372
+#define FPTRUNC 373
+#define FPEXT 374
+#define BITCAST 375
+#define UITOFP 376
+#define SITOFP 377
+#define FPTOUI 378
+#define FPTOSI 379
+#define INTTOPTR 380
+#define PTRTOINT 381
+#define PHI_TOK 382
+#define SELECT 383
+#define VAARG 384
+#define EXTRACTELEMENT 385
+#define INSERTELEMENT 386
+#define SHUFFLEVECTOR 387
+#define SIGNEXT 388
+#define ZEROEXT 389
+#define NORETURN 390
+#define INREG 391
+#define SRET 392
+#define NOUNWIND 393
+#define NOALIAS 394
+#define BYVAL 395
+#define NEST 396
+#define DEFAULT 397
+#define HIDDEN 398
+#define PROTECTED 399
+extern YYSTYPE llvmAsmlval;