TARGET = 306,
TRIPLE = 307,
ALIGN = 308,
- DEPLIBS = 309,
- CALL = 310,
- TAIL = 311,
- ASM_TOK = 312,
- MODULE = 313,
- SIDEEFFECT = 314,
- CC_TOK = 315,
- CCC_TOK = 316,
- FASTCC_TOK = 317,
- COLDCC_TOK = 318,
- X86_STDCALLCC_TOK = 319,
- X86_FASTCALLCC_TOK = 320,
- DATALAYOUT = 321,
- RET = 322,
- BR = 323,
- SWITCH = 324,
- INVOKE = 325,
- UNWIND = 326,
- UNREACHABLE = 327,
- ADD = 328,
- SUB = 329,
- MUL = 330,
- UDIV = 331,
- SDIV = 332,
- FDIV = 333,
- UREM = 334,
- SREM = 335,
- FREM = 336,
- AND = 337,
- OR = 338,
- XOR = 339,
- SHL = 340,
- LSHR = 341,
- ASHR = 342,
- ICMP = 343,
- FCMP = 344,
- EQ = 345,
- NE = 346,
- SLT = 347,
- SGT = 348,
- SLE = 349,
- SGE = 350,
- ULT = 351,
- UGT = 352,
- ULE = 353,
- UGE = 354,
- OEQ = 355,
- ONE = 356,
- OLT = 357,
- OGT = 358,
- OLE = 359,
- OGE = 360,
- ORD = 361,
- UNO = 362,
- UEQ = 363,
- UNE = 364,
- MALLOC = 365,
- ALLOCA = 366,
- FREE = 367,
- LOAD = 368,
- STORE = 369,
- GETELEMENTPTR = 370,
- TRUNC = 371,
- ZEXT = 372,
- SEXT = 373,
- FPTRUNC = 374,
- FPEXT = 375,
- BITCAST = 376,
- UITOFP = 377,
- SITOFP = 378,
- FPTOUI = 379,
- FPTOSI = 380,
- INTTOPTR = 381,
- PTRTOINT = 382,
- PHI_TOK = 383,
- SELECT = 384,
- VAARG = 385,
- EXTRACTELEMENT = 386,
- INSERTELEMENT = 387,
- SHUFFLEVECTOR = 388,
- SIGNEXT = 389,
- ZEROEXT = 390,
- NORETURN = 391,
- INREG = 392,
- SRET = 393,
- NOUNWIND = 394,
- NOALIAS = 395,
- BYVAL = 396,
- NEST = 397,
- CONST = 398,
- PURE = 399,
- DEFAULT = 400,
- HIDDEN = 401,
- PROTECTED = 402
+ ADDRSPACE = 309,
+ DEPLIBS = 310,
+ CALL = 311,
+ TAIL = 312,
+ ASM_TOK = 313,
+ MODULE = 314,
+ SIDEEFFECT = 315,
+ CC_TOK = 316,
+ CCC_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,
+ SHL = 341,
+ LSHR = 342,
+ ASHR = 343,
+ ICMP = 344,
+ FCMP = 345,
+ EQ = 346,
+ NE = 347,
+ SLT = 348,
+ SGT = 349,
+ SLE = 350,
+ SGE = 351,
+ ULT = 352,
+ UGT = 353,
+ ULE = 354,
+ UGE = 355,
+ OEQ = 356,
+ ONE = 357,
+ OLT = 358,
+ OGT = 359,
+ OLE = 360,
+ OGE = 361,
+ ORD = 362,
+ UNO = 363,
+ UEQ = 364,
+ UNE = 365,
+ MALLOC = 366,
+ ALLOCA = 367,
+ FREE = 368,
+ LOAD = 369,
+ STORE = 370,
+ GETELEMENTPTR = 371,
+ TRUNC = 372,
+ ZEXT = 373,
+ SEXT = 374,
+ FPTRUNC = 375,
+ FPEXT = 376,
+ BITCAST = 377,
+ UITOFP = 378,
+ SITOFP = 379,
+ FPTOUI = 380,
+ FPTOSI = 381,
+ INTTOPTR = 382,
+ PTRTOINT = 383,
+ PHI_TOK = 384,
+ SELECT = 385,
+ VAARG = 386,
+ EXTRACTELEMENT = 387,
+ INSERTELEMENT = 388,
+ SHUFFLEVECTOR = 389,
+ GETRESULT = 390,
+ SIGNEXT = 391,
+ ZEROEXT = 392,
+ NORETURN = 393,
+ INREG = 394,
+ SRET = 395,
+ NOUNWIND = 396,
+ NOALIAS = 397,
+ BYVAL = 398,
+ NEST = 399,
+ READNONE = 400,
+ READONLY = 401,
+ GC = 402,
+ DEFAULT = 403,
+ HIDDEN = 404,
+ PROTECTED = 405
};
#endif
/* Tokens. */
#define TARGET 306
#define TRIPLE 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 FASTCC_TOK 317
-#define COLDCC_TOK 318
-#define X86_STDCALLCC_TOK 319
-#define X86_FASTCALLCC_TOK 320
-#define DATALAYOUT 321
-#define RET 322
-#define BR 323
-#define SWITCH 324
-#define INVOKE 325
-#define UNWIND 326
-#define UNREACHABLE 327
-#define ADD 328
-#define SUB 329
-#define MUL 330
-#define UDIV 331
-#define SDIV 332
-#define FDIV 333
-#define UREM 334
-#define SREM 335
-#define FREM 336
-#define AND 337
-#define OR 338
-#define XOR 339
-#define SHL 340
-#define LSHR 341
-#define ASHR 342
-#define ICMP 343
-#define FCMP 344
-#define EQ 345
-#define NE 346
-#define SLT 347
-#define SGT 348
-#define SLE 349
-#define SGE 350
-#define ULT 351
-#define UGT 352
-#define ULE 353
-#define UGE 354
-#define OEQ 355
-#define ONE 356
-#define OLT 357
-#define OGT 358
-#define OLE 359
-#define OGE 360
-#define ORD 361
-#define UNO 362
-#define UEQ 363
-#define UNE 364
-#define MALLOC 365
-#define ALLOCA 366
-#define FREE 367
-#define LOAD 368
-#define STORE 369
-#define GETELEMENTPTR 370
-#define TRUNC 371
-#define ZEXT 372
-#define SEXT 373
-#define FPTRUNC 374
-#define FPEXT 375
-#define BITCAST 376
-#define UITOFP 377
-#define SITOFP 378
-#define FPTOUI 379
-#define FPTOSI 380
-#define INTTOPTR 381
-#define PTRTOINT 382
-#define PHI_TOK 383
-#define SELECT 384
-#define VAARG 385
-#define EXTRACTELEMENT 386
-#define INSERTELEMENT 387
-#define SHUFFLEVECTOR 388
-#define SIGNEXT 389
-#define ZEROEXT 390
-#define NORETURN 391
-#define INREG 392
-#define SRET 393
-#define NOUNWIND 394
-#define NOALIAS 395
-#define BYVAL 396
-#define NEST 397
-#define CONST 398
-#define PURE 399
-#define DEFAULT 400
-#define HIDDEN 401
-#define PROTECTED 402
+#define ADDRSPACE 309
+#define DEPLIBS 310
+#define CALL 311
+#define TAIL 312
+#define ASM_TOK 313
+#define MODULE 314
+#define SIDEEFFECT 315
+#define CC_TOK 316
+#define CCC_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 SHL 341
+#define LSHR 342
+#define ASHR 343
+#define ICMP 344
+#define FCMP 345
+#define EQ 346
+#define NE 347
+#define SLT 348
+#define SGT 349
+#define SLE 350
+#define SGE 351
+#define ULT 352
+#define UGT 353
+#define ULE 354
+#define UGE 355
+#define OEQ 356
+#define ONE 357
+#define OLT 358
+#define OGT 359
+#define OLE 360
+#define OGE 361
+#define ORD 362
+#define UNO 363
+#define UEQ 364
+#define UNE 365
+#define MALLOC 366
+#define ALLOCA 367
+#define FREE 368
+#define LOAD 369
+#define STORE 370
+#define GETELEMENTPTR 371
+#define TRUNC 372
+#define ZEXT 373
+#define SEXT 374
+#define FPTRUNC 375
+#define FPEXT 376
+#define BITCAST 377
+#define UITOFP 378
+#define SITOFP 379
+#define FPTOUI 380
+#define FPTOSI 381
+#define INTTOPTR 382
+#define PTRTOINT 383
+#define PHI_TOK 384
+#define SELECT 385
+#define VAARG 386
+#define EXTRACTELEMENT 387
+#define INSERTELEMENT 388
+#define SHUFFLEVECTOR 389
+#define GETRESULT 390
+#define SIGNEXT 391
+#define ZEROEXT 392
+#define NORETURN 393
+#define INREG 394
+#define SRET 395
+#define NOUNWIND 396
+#define NOALIAS 397
+#define BYVAL 398
+#define NEST 399
+#define READNONE 400
+#define READONLY 401
+#define GC 402
+#define DEFAULT 403
+#define HIDDEN 404
+#define PROTECTED 405
/* Copy the first part of user declarations. */
-#line 14 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
#include "ParserInternals.h"
#include "llvm/CallingConv.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Streams.h"
+#include "llvm/ParamAttrsList.h"
#include <algorithm>
#include <list>
#include <map>
#include <utility>
-#ifndef NDEBUG
-#define YYDEBUG 1
-#endif
// The following is a gross hack. In order to rid the libAsmParser library of
// exceptions, we have to have a way of getting the yyparse function to go into
int yyerror(const char *ErrorMsg); // Forward declarations to prevent "implicit
int yylex(); // declaration" of xxx warnings.
int yyparse();
-
-namespace llvm {
- std::string CurFilename;
-#if YYDEBUG
-static cl::opt<bool>
-Debug("debug-yacc", cl::desc("Print yacc debug state changes"),
- cl::Hidden, cl::init(false));
-#endif
-}
using namespace llvm;
static Module *ParserResult;
// Check to make sure that "Ty" is an integral type, and that our
// value will fit into the specified type...
case ValID::ConstSIntVal: // Is it a constant pool reference??
- if (!ConstantInt::isValueValidForType(Ty, D.ConstPool64)) {
+ if (!isa<IntegerType>(Ty) ||
+ !ConstantInt::isValueValidForType(Ty, D.ConstPool64)) {
GenerateError("Signed integral constant '" +
itostr(D.ConstPool64) + "' is invalid for type '" +
Ty->getDescription() + "'");
return ConstantInt::get(Ty, D.ConstPool64, true);
case ValID::ConstUIntVal: // Is it an unsigned const pool reference?
- if (!ConstantInt::isValueValidForType(Ty, D.UConstPool64)) {
- if (!ConstantInt::isValueValidForType(Ty, D.ConstPool64)) {
- GenerateError("Integral constant '" + utostr(D.UConstPool64) +
- "' is invalid or out of range");
- return 0;
- } else { // This is really a signed reference. Transmogrify.
- return ConstantInt::get(Ty, D.ConstPool64, true);
- }
- } else {
+ if (isa<IntegerType>(Ty) &&
+ ConstantInt::isValueValidForType(Ty, D.UConstPool64))
return ConstantInt::get(Ty, D.UConstPool64);
+
+ if (!isa<IntegerType>(Ty) ||
+ !ConstantInt::isValueValidForType(Ty, D.ConstPool64)) {
+ GenerateError("Integral constant '" + utostr(D.UConstPool64) +
+ "' is invalid or out of range for type '" +
+ Ty->getDescription() + "'");
+ return 0;
}
+ // This is really a signed reference. Transmogrify.
+ return ConstantInt::get(Ty, D.ConstPool64, true);
case ValID::ConstFPVal: // Is it a floating point const pool reference?
- if (!ConstantFP::isValueValidForType(Ty, *D.ConstPoolFP)) {
+ if (!Ty->isFloatingPoint() ||
+ !ConstantFP::isValueValidForType(Ty, *D.ConstPoolFP)) {
GenerateError("FP constant invalid for type");
return 0;
}
if (const FunctionType *FTy = dyn_cast<FunctionType>(ElTy))
V = new Function(FTy, GlobalValue::ExternalLinkage);
else
- V = new GlobalVariable(ElTy, false, GlobalValue::ExternalLinkage);
+ V = new GlobalVariable(ElTy, false, GlobalValue::ExternalLinkage, 0, "",
+ (Module*)0, false, PTy->getAddressSpace());
break;
}
default:
// Remember where this forward reference came from. FIXME, shouldn't we try
// to recycle these things??
CurModule.PlaceHolderInfo.insert(std::make_pair(V, std::make_pair(ID,
- llvmAsmlineno)));
+ LLLgetLineNo())));
if (inFunctionScope())
InsertValue(V, CurFun.LateResolveValues);
} if (ID.Type == ValID::LocalName) {
std::string Name = ID.getName();
Value *N = CurFun.CurrentFunction->getValueSymbolTable().lookup(Name);
- if (N)
+ if (N) {
if (N->getType()->getTypeID() == Type::LabelTyID)
BB = cast<BasicBlock>(N);
else
GenerateError("Reference to label '" + Name + "' is actually of type '"+
N->getType()->getDescription() + "'");
+ }
} else if (ID.Type == ValID::LocalID) {
if (ID.Num < CurFun.NextValNum && ID.Num < CurFun.Values.size()) {
if (CurFun.Values[ID.Num]->getType()->getTypeID() == Type::LabelTyID)
GlobalValue::LinkageTypes Linkage,
GlobalValue::VisibilityTypes Visibility,
bool isConstantGlobal, const Type *Ty,
- Constant *Initializer, bool IsThreadLocal) {
+ Constant *Initializer, bool IsThreadLocal,
+ unsigned AddressSpace = 0) {
if (isa<FunctionType>(Ty)) {
GenerateError("Cannot declare global vars of function type");
return 0;
}
- const PointerType *PTy = PointerType::get(Ty);
+ const PointerType *PTy = PointerType::get(Ty, AddressSpace);
std::string Name;
if (NameStr) {
// Otherwise there is no existing GV to use, create one now.
GlobalVariable *GV =
new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name,
- CurModule.CurrentModule, IsThreadLocal);
+ CurModule.CurrentModule, IsThreadLocal, AddressSpace);
GV->setVisibility(Visibility);
InsertValue(GV, CurModule.Values);
return GV;
//
static Module* RunParser(Module * M);
-Module *llvm::RunVMAsmParser(const std::string &Filename, FILE *F) {
- set_scan_file(F);
-
- CurFilename = Filename;
- return RunParser(new Module(CurFilename));
-}
-
-Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
- set_scan_string(AsmString);
-
- CurFilename = "from_memory";
- if (M == NULL) {
- return RunParser(new Module (CurFilename));
- } else {
- return RunParser(M);
- }
+Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
+ InitLLLexer(MB);
+ Module *M = RunParser(new Module(LLLgetFilename()));
+ FreeLexer();
+ return M;
}
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 968 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 953 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
- uint16_t ParamAttrs;
+ llvm::ParameterAttributes ParamAttrs;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
llvm::FCmpInst::Predicate FPredicate;
}
/* Line 193 of yacc.c. */
-#line 1399 "llvmAsmParser.tab.c"
+#line 1390 "llvmAsmParser.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
/* Line 216 of yacc.c. */
-#line 1412 "llvmAsmParser.tab.c"
+#line 1403 "llvmAsmParser.tab.c"
#ifdef short
# undef short
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 43
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1754
+#define YYLAST 1978
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 162
+#define YYNTOKENS 165
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 82
+#define YYNNTS 85
/* YYNRULES -- Number of rules. */
-#define YYNRULES 314
+#define YYNRULES 322
/* YYNRULES -- Number of states. */
-#define YYNSTATES 602
+#define YYNSTATES 629
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 402
+#define YYMAXUTOK 405
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 152, 153, 150, 2, 149, 2, 2, 2, 2, 2,
+ 151, 152, 155, 2, 154, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 157, 148, 158, 2, 2, 2, 2, 2, 2, 2,
+ 160, 153, 161, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 154, 151, 156, 2, 2, 2, 2, 2, 161,
+ 2, 157, 156, 159, 2, 2, 2, 2, 2, 164,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 155, 2, 2, 159, 2, 160, 2, 2, 2, 2,
+ 158, 2, 2, 162, 2, 163, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147
+ 145, 146, 147, 148, 149, 150
};
#if YYDEBUG
59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
79, 81, 83, 85, 87, 89, 91, 93, 95, 97,
99, 101, 103, 105, 107, 109, 111, 113, 115, 117,
- 119, 121, 123, 125, 127, 129, 130, 133, 134, 136,
- 138, 140, 141, 144, 146, 148, 150, 152, 154, 156,
- 158, 160, 161, 163, 165, 167, 168, 170, 172, 173,
- 175, 177, 179, 181, 182, 184, 186, 187, 189, 191,
- 193, 195, 197, 200, 202, 204, 206, 208, 210, 212,
- 214, 216, 218, 219, 222, 224, 226, 228, 230, 232,
- 234, 235, 238, 239, 242, 243, 247, 250, 251, 253,
- 254, 258, 260, 263, 265, 267, 269, 271, 273, 275,
- 277, 279, 281, 284, 286, 289, 295, 301, 307, 313,
- 317, 320, 326, 331, 334, 336, 338, 340, 344, 346,
- 350, 352, 353, 355, 359, 364, 368, 372, 377, 382,
- 386, 393, 399, 402, 405, 408, 411, 414, 417, 420,
- 423, 426, 429, 432, 435, 442, 448, 457, 464, 471,
- 479, 487, 494, 503, 512, 516, 518, 520, 522, 524,
- 525, 528, 535, 537, 538, 540, 543, 544, 548, 549,
- 553, 557, 561, 565, 566, 574, 575, 584, 585, 594,
- 600, 603, 607, 609, 613, 617, 621, 625, 627, 628,
- 634, 638, 640, 644, 646, 647, 657, 659, 661, 666,
- 668, 670, 673, 677, 678, 680, 682, 684, 686, 688,
- 690, 692, 694, 696, 700, 702, 708, 710, 712, 714,
- 716, 718, 720, 723, 726, 729, 733, 736, 737, 739,
- 742, 745, 749, 759, 769, 778, 793, 795, 797, 804,
- 810, 813, 820, 828, 832, 836, 842, 848, 849, 850,
- 854, 857, 859, 865, 871, 878, 885, 890, 897, 902,
- 907, 914, 921, 924, 933, 935, 937, 938, 942, 949,
- 953, 960, 963, 969, 977
+ 119, 121, 123, 125, 127, 129, 130, 135, 136, 139,
+ 140, 142, 144, 146, 147, 150, 152, 154, 156, 158,
+ 160, 162, 164, 166, 167, 169, 171, 173, 174, 176,
+ 178, 179, 181, 183, 185, 187, 188, 190, 192, 193,
+ 195, 197, 199, 201, 203, 206, 208, 210, 212, 214,
+ 216, 218, 220, 222, 224, 227, 228, 231, 233, 235,
+ 237, 239, 241, 243, 244, 247, 248, 251, 252, 255,
+ 256, 260, 263, 264, 266, 267, 271, 273, 276, 278,
+ 280, 282, 284, 286, 288, 290, 292, 294, 298, 300,
+ 303, 309, 315, 321, 327, 331, 334, 340, 345, 348,
+ 350, 352, 354, 358, 360, 364, 366, 367, 369, 373,
+ 378, 382, 386, 391, 396, 400, 407, 413, 416, 419,
+ 422, 425, 428, 431, 434, 437, 440, 443, 446, 449,
+ 456, 462, 471, 478, 485, 493, 501, 508, 517, 526,
+ 530, 532, 534, 536, 538, 539, 542, 549, 551, 552,
+ 554, 557, 558, 562, 563, 567, 571, 575, 579, 580,
+ 589, 590, 600, 601, 611, 617, 620, 624, 626, 630,
+ 634, 638, 642, 644, 645, 651, 655, 657, 661, 663,
+ 664, 675, 677, 679, 684, 686, 688, 691, 695, 696,
+ 698, 700, 702, 704, 706, 708, 710, 712, 714, 718,
+ 720, 726, 728, 730, 732, 734, 736, 738, 741, 743,
+ 747, 750, 753, 757, 760, 761, 763, 766, 769, 773,
+ 783, 793, 802, 817, 819, 821, 828, 834, 837, 844,
+ 852, 857, 862, 869, 876, 877, 878, 882, 885, 887,
+ 893, 899, 906, 913, 918, 925, 930, 935, 942, 949,
+ 952, 961, 963, 965, 966, 970, 977, 981, 988, 991,
+ 997, 1005, 1011
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 206, 0, -1, 73, -1, 74, -1, 75, -1, 76,
- -1, 77, -1, 78, -1, 79, -1, 80, -1, 81,
- -1, 85, -1, 86, -1, 87, -1, 82, -1, 83,
- -1, 84, -1, 116, -1, 117, -1, 118, -1, 119,
- -1, 120, -1, 121, -1, 122, -1, 123, -1, 124,
- -1, 125, -1, 126, -1, 127, -1, 90, -1, 91,
- -1, 92, -1, 93, -1, 94, -1, 95, -1, 96,
- -1, 97, -1, 98, -1, 99, -1, 100, -1, 101,
- -1, 102, -1, 103, -1, 104, -1, 105, -1, 106,
- -1, 107, -1, 108, -1, 109, -1, 96, -1, 97,
- -1, 98, -1, 99, -1, 26, -1, 27, -1, 11,
+ 211, 0, -1, 74, -1, 75, -1, 76, -1, 77,
+ -1, 78, -1, 79, -1, 80, -1, 81, -1, 82,
+ -1, 86, -1, 87, -1, 88, -1, 83, -1, 84,
+ -1, 85, -1, 117, -1, 118, -1, 119, -1, 120,
+ -1, 121, -1, 122, -1, 123, -1, 124, -1, 125,
+ -1, 126, -1, 127, -1, 128, -1, 91, -1, 92,
+ -1, 93, -1, 94, -1, 95, -1, 96, -1, 97,
+ -1, 98, -1, 99, -1, 100, -1, 101, -1, 102,
+ -1, 103, -1, 104, -1, 105, -1, 106, -1, 107,
+ -1, 108, -1, 109, -1, 110, -1, 97, -1, 98,
+ -1, 99, -1, 100, -1, 26, -1, 27, -1, 11,
-1, 12, -1, 13, -1, 16, -1, 15, -1, 14,
- -1, 19, -1, 22, -1, 24, -1, 170, -1, -1,
- 170, 148, -1, -1, 20, -1, 23, -1, 175, -1,
- -1, 173, 148, -1, 42, -1, 44, -1, 43, -1,
- 45, -1, 47, -1, 46, -1, 48, -1, 50, -1,
- -1, 145, -1, 146, -1, 147, -1, -1, 46, -1,
- 48, -1, -1, 42, -1, 43, -1, 44, -1, 47,
- -1, -1, 44, -1, 42, -1, -1, 61, -1, 62,
- -1, 63, -1, 64, -1, 65, -1, 60, 4, -1,
- 135, -1, 117, -1, 134, -1, 118, -1, 137, -1,
- 138, -1, 140, -1, 141, -1, 142, -1, -1, 184,
- 183, -1, 136, -1, 139, -1, 135, -1, 134, -1,
- 144, -1, 143, -1, -1, 186, 185, -1, -1, 53,
- 4, -1, -1, 149, 53, 4, -1, 34, 22, -1,
- -1, 189, -1, -1, 149, 192, 191, -1, 189, -1,
- 53, 4, -1, 11, -1, 12, -1, 13, -1, 16,
- -1, 15, -1, 14, -1, 17, -1, 49, -1, 193,
- -1, 194, 150, -1, 228, -1, 151, 4, -1, 194,
- 152, 198, 153, 186, -1, 10, 152, 198, 153, 186,
- -1, 154, 4, 155, 194, 156, -1, 157, 4, 155,
- 194, 158, -1, 159, 199, 160, -1, 159, 160, -1,
- 157, 159, 199, 160, 158, -1, 157, 159, 160, 158,
- -1, 194, 184, -1, 194, -1, 10, -1, 195, -1,
- 197, 149, 195, -1, 197, -1, 197, 149, 39, -1,
- 39, -1, -1, 194, -1, 199, 149, 194, -1, 194,
- 154, 202, 156, -1, 194, 154, 156, -1, 194, 161,
- 22, -1, 194, 157, 202, 158, -1, 194, 159, 202,
- 160, -1, 194, 159, 160, -1, 194, 157, 159, 202,
- 160, 158, -1, 194, 157, 159, 160, 158, -1, 194,
- 40, -1, 194, 41, -1, 194, 228, -1, 194, 201,
- -1, 194, 25, -1, 168, 3, -1, 168, 5, -1,
- 168, 4, -1, 168, 6, -1, 11, 26, -1, 11,
- 27, -1, 169, 9, -1, 165, 152, 200, 38, 194,
- 153, -1, 115, 152, 200, 239, 153, -1, 129, 152,
- 200, 149, 200, 149, 200, 153, -1, 163, 152, 200,
- 149, 200, 153, -1, 164, 152, 200, 149, 200, 153,
- -1, 88, 166, 152, 200, 149, 200, 153, -1, 89,
- 167, 152, 200, 149, 200, 153, -1, 131, 152, 200,
- 149, 200, 153, -1, 132, 152, 200, 149, 200, 149,
- 200, 153, -1, 133, 152, 200, 149, 200, 149, 200,
- 153, -1, 202, 149, 200, -1, 200, -1, 32, -1,
- 33, -1, 37, -1, -1, 196, 228, -1, 121, 152,
- 205, 38, 194, 153, -1, 207, -1, -1, 208, -1,
- 207, 208, -1, -1, 31, 209, 224, -1, -1, 30,
- 210, 225, -1, 58, 57, 214, -1, 172, 18, 194,
- -1, 172, 18, 10, -1, -1, 174, 178, 204, 203,
- 200, 211, 191, -1, -1, 174, 176, 178, 204, 203,
- 200, 212, 191, -1, -1, 174, 177, 178, 204, 203,
- 194, 213, 191, -1, 174, 178, 35, 181, 205, -1,
- 51, 215, -1, 54, 148, 216, -1, 22, -1, 52,
- 148, 22, -1, 66, 148, 22, -1, 154, 217, 156,
- -1, 217, 149, 22, -1, 22, -1, -1, 218, 149,
- 194, 184, 171, -1, 194, 184, 171, -1, 218, -1,
- 218, 149, 39, -1, 39, -1, -1, 182, 196, 173,
- 152, 219, 153, 186, 190, 187, -1, 28, -1, 159,
- -1, 180, 178, 220, 221, -1, 29, -1, 160, -1,
- 231, 223, -1, 179, 178, 220, -1, -1, 59, -1,
- 3, -1, 4, -1, 9, -1, 26, -1, 27, -1,
- 40, -1, 41, -1, 25, -1, 157, 202, 158, -1,
- 201, -1, 57, 226, 22, 149, 22, -1, 7, -1,
- 8, -1, 170, -1, 173, -1, 228, -1, 227, -1,
- 194, 229, -1, 231, 232, -1, 222, 232, -1, 233,
- 172, 234, -1, 233, 236, -1, -1, 21, -1, 67,
- 230, -1, 67, 10, -1, 68, 17, 229, -1, 68,
- 11, 229, 149, 17, 229, 149, 17, 229, -1, 69,
- 168, 229, 149, 17, 229, 154, 235, 156, -1, 69,
- 168, 229, 149, 17, 229, 154, 156, -1, 70, 182,
- 196, 229, 152, 238, 153, 186, 38, 17, 229, 71,
- 17, 229, -1, 71, -1, 72, -1, 235, 168, 227,
- 149, 17, 229, -1, 168, 227, 149, 17, 229, -1,
- 172, 241, -1, 194, 154, 229, 149, 229, 156, -1,
- 237, 149, 154, 229, 149, 229, 156, -1, 194, 229,
- 184, -1, 17, 229, 184, -1, 238, 149, 194, 229,
- 184, -1, 238, 149, 17, 229, 184, -1, -1, -1,
- 239, 149, 230, -1, 56, 55, -1, 55, -1, 163,
- 194, 229, 149, 229, -1, 164, 194, 229, 149, 229,
- -1, 88, 166, 194, 229, 149, 229, -1, 89, 167,
- 194, 229, 149, 229, -1, 165, 230, 38, 194, -1,
- 129, 230, 149, 230, 149, 230, -1, 130, 230, 149,
- 194, -1, 131, 230, 149, 230, -1, 132, 230, 149,
- 230, 149, 230, -1, 133, 230, 149, 230, 149, 230,
- -1, 128, 237, -1, 240, 182, 196, 229, 152, 238,
- 153, 186, -1, 243, -1, 36, -1, -1, 110, 194,
- 188, -1, 110, 194, 149, 11, 229, 188, -1, 111,
- 194, 188, -1, 111, 194, 149, 11, 229, 188, -1,
- 112, 230, -1, 242, 113, 194, 229, 188, -1, 242,
- 114, 230, 149, 194, 229, 188, -1, 115, 194, 229,
- 239, -1
+ -1, 19, -1, 22, -1, 24, -1, 173, -1, -1,
+ 54, 151, 4, 152, -1, -1, 173, 153, -1, -1,
+ 20, -1, 23, -1, 179, -1, -1, 177, 153, -1,
+ 42, -1, 44, -1, 43, -1, 45, -1, 47, -1,
+ 46, -1, 48, -1, 50, -1, -1, 148, -1, 149,
+ -1, 150, -1, -1, 46, -1, 48, -1, -1, 42,
+ -1, 43, -1, 44, -1, 47, -1, -1, 44, -1,
+ 42, -1, -1, 62, -1, 63, -1, 64, -1, 65,
+ -1, 66, -1, 61, 4, -1, 137, -1, 118, -1,
+ 136, -1, 119, -1, 139, -1, 140, -1, 142, -1,
+ 143, -1, 144, -1, 53, 4, -1, -1, 188, 187,
+ -1, 138, -1, 141, -1, 137, -1, 136, -1, 145,
+ -1, 146, -1, -1, 190, 189, -1, -1, 147, 22,
+ -1, -1, 53, 4, -1, -1, 154, 53, 4, -1,
+ 34, 22, -1, -1, 194, -1, -1, 154, 197, 196,
+ -1, 194, -1, 53, 4, -1, 11, -1, 12, -1,
+ 13, -1, 16, -1, 15, -1, 14, -1, 17, -1,
+ 49, -1, 198, -1, 199, 175, 155, -1, 233, -1,
+ 156, 4, -1, 199, 151, 203, 152, 190, -1, 10,
+ 151, 203, 152, 190, -1, 157, 4, 158, 199, 159,
+ -1, 160, 4, 158, 199, 161, -1, 162, 204, 163,
+ -1, 162, 163, -1, 160, 162, 204, 163, 161, -1,
+ 160, 162, 163, 161, -1, 199, 188, -1, 199, -1,
+ 10, -1, 200, -1, 202, 154, 200, -1, 202, -1,
+ 202, 154, 39, -1, 39, -1, -1, 199, -1, 204,
+ 154, 199, -1, 199, 157, 207, 159, -1, 199, 157,
+ 159, -1, 199, 164, 22, -1, 199, 160, 207, 161,
+ -1, 199, 162, 207, 163, -1, 199, 162, 163, -1,
+ 199, 160, 162, 207, 163, 161, -1, 199, 160, 162,
+ 163, 161, -1, 199, 40, -1, 199, 41, -1, 199,
+ 233, -1, 199, 206, -1, 199, 25, -1, 171, 3,
+ -1, 171, 5, -1, 171, 4, -1, 171, 6, -1,
+ 11, 26, -1, 11, 27, -1, 172, 9, -1, 168,
+ 151, 205, 38, 199, 152, -1, 116, 151, 205, 245,
+ 152, -1, 130, 151, 205, 154, 205, 154, 205, 152,
+ -1, 166, 151, 205, 154, 205, 152, -1, 167, 151,
+ 205, 154, 205, 152, -1, 89, 169, 151, 205, 154,
+ 205, 152, -1, 90, 170, 151, 205, 154, 205, 152,
+ -1, 132, 151, 205, 154, 205, 152, -1, 133, 151,
+ 205, 154, 205, 154, 205, 152, -1, 134, 151, 205,
+ 154, 205, 154, 205, 152, -1, 207, 154, 205, -1,
+ 205, -1, 32, -1, 33, -1, 37, -1, -1, 201,
+ 233, -1, 122, 151, 210, 38, 199, 152, -1, 212,
+ -1, -1, 213, -1, 212, 213, -1, -1, 31, 214,
+ 229, -1, -1, 30, 215, 230, -1, 59, 58, 219,
+ -1, 176, 18, 199, -1, 176, 18, 10, -1, -1,
+ 178, 182, 209, 208, 205, 175, 216, 196, -1, -1,
+ 178, 180, 182, 209, 208, 205, 175, 217, 196, -1,
+ -1, 178, 181, 182, 209, 208, 199, 175, 218, 196,
+ -1, 178, 182, 35, 185, 210, -1, 51, 220, -1,
+ 55, 153, 221, -1, 22, -1, 52, 153, 22, -1,
+ 67, 153, 22, -1, 157, 222, 159, -1, 222, 154,
+ 22, -1, 22, -1, -1, 223, 154, 199, 188, 174,
+ -1, 199, 188, 174, -1, 223, -1, 223, 154, 39,
+ -1, 39, -1, -1, 186, 201, 177, 151, 224, 152,
+ 190, 195, 192, 191, -1, 28, -1, 162, -1, 184,
+ 182, 225, 226, -1, 29, -1, 163, -1, 237, 228,
+ -1, 183, 182, 225, -1, -1, 60, -1, 3, -1,
+ 4, -1, 9, -1, 26, -1, 27, -1, 40, -1,
+ 41, -1, 25, -1, 160, 207, 161, -1, 206, -1,
+ 58, 231, 22, 154, 22, -1, 7, -1, 8, -1,
+ 173, -1, 177, -1, 233, -1, 232, -1, 199, 234,
+ -1, 235, -1, 236, 154, 235, -1, 237, 238, -1,
+ 227, 238, -1, 239, 176, 240, -1, 239, 242, -1,
+ -1, 21, -1, 68, 236, -1, 68, 10, -1, 69,
+ 17, 234, -1, 69, 11, 234, 154, 17, 234, 154,
+ 17, 234, -1, 70, 171, 234, 154, 17, 234, 157,
+ 241, 159, -1, 70, 171, 234, 154, 17, 234, 157,
+ 159, -1, 71, 186, 201, 234, 151, 244, 152, 190,
+ 38, 17, 234, 72, 17, 234, -1, 72, -1, 73,
+ -1, 241, 171, 232, 154, 17, 234, -1, 171, 232,
+ 154, 17, 234, -1, 176, 247, -1, 199, 157, 234,
+ 154, 234, 159, -1, 243, 154, 157, 234, 154, 234,
+ 159, -1, 199, 188, 234, 188, -1, 17, 188, 234,
+ 188, -1, 244, 154, 199, 188, 234, 188, -1, 244,
+ 154, 17, 188, 234, 188, -1, -1, -1, 245, 154,
+ 235, -1, 57, 56, -1, 56, -1, 166, 199, 234,
+ 154, 234, -1, 167, 199, 234, 154, 234, -1, 89,
+ 169, 199, 234, 154, 234, -1, 90, 170, 199, 234,
+ 154, 234, -1, 168, 235, 38, 199, -1, 130, 235,
+ 154, 235, 154, 235, -1, 131, 235, 154, 199, -1,
+ 132, 235, 154, 235, -1, 133, 235, 154, 235, 154,
+ 235, -1, 134, 235, 154, 235, 154, 235, -1, 129,
+ 243, -1, 246, 186, 201, 234, 151, 244, 152, 190,
+ -1, 249, -1, 36, -1, -1, 111, 199, 193, -1,
+ 111, 199, 154, 11, 234, 193, -1, 112, 199, 193,
+ -1, 112, 199, 154, 11, 234, 193, -1, 113, 235,
+ -1, 248, 114, 199, 234, 193, -1, 248, 115, 235,
+ 154, 199, 234, 193, -1, 135, 199, 233, 154, 4,
+ -1, 116, 199, 234, 245, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
- 1128, 1129, 1129, 1129, 1129, 1129, 1129, 1130, 1130, 1130,
- 1130, 1130, 1130, 1131, 1131, 1131, 1131, 1131, 1131, 1134,
- 1134, 1135, 1135, 1136, 1136, 1137, 1137, 1138, 1138, 1142,
- 1142, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1146, 1147,
- 1147, 1148, 1148, 1149, 1150, 1155, 1156, 1156, 1156, 1156,
- 1156, 1158, 1158, 1158, 1159, 1159, 1163, 1167, 1172, 1172,
- 1174, 1175, 1180, 1186, 1187, 1188, 1189, 1190, 1194, 1195,
- 1196, 1200, 1201, 1202, 1203, 1207, 1208, 1209, 1213, 1214,
- 1215, 1216, 1217, 1221, 1222, 1223, 1226, 1227, 1228, 1229,
- 1230, 1231, 1232, 1239, 1240, 1241, 1242, 1243, 1244, 1245,
- 1246, 1247, 1250, 1251, 1256, 1257, 1258, 1259, 1260, 1261,
- 1264, 1265, 1272, 1273, 1279, 1280, 1288, 1296, 1297, 1302,
- 1303, 1304, 1309, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
- 1325, 1329, 1333, 1340, 1345, 1353, 1383, 1414, 1419, 1429,
- 1439, 1443, 1453, 1460, 1467, 1474, 1479, 1484, 1491, 1492,
- 1499, 1506, 1514, 1520, 1532, 1560, 1576, 1603, 1631, 1657,
- 1677, 1703, 1723, 1735, 1742, 1808, 1818, 1828, 1834, 1844,
- 1850, 1860, 1865, 1870, 1883, 1895, 1917, 1925, 1931, 1942,
- 1947, 1952, 1958, 1964, 1973, 1977, 1985, 1985, 1988, 1988,
- 1991, 2003, 2024, 2029, 2037, 2038, 2042, 2042, 2046, 2046,
- 2049, 2052, 2076, 2087, 2087, 2098, 2097, 2107, 2106, 2117,
- 2157, 2160, 2166, 2176, 2180, 2185, 2187, 2192, 2197, 2206,
- 2216, 2227, 2231, 2240, 2249, 2254, 2375, 2375, 2377, 2386,
- 2386, 2388, 2393, 2405, 2409, 2414, 2418, 2422, 2426, 2430,
- 2434, 2438, 2442, 2446, 2471, 2475, 2485, 2489, 2493, 2498,
- 2505, 2505, 2511, 2520, 2524, 2533, 2542, 2551, 2555, 2562,
- 2566, 2570, 2575, 2585, 2604, 2613, 2693, 2697, 2704, 2715,
- 2728, 2738, 2749, 2759, 2768, 2774, 2783, 2789, 2792, 2793,
- 2800, 2804, 2809, 2825, 2842, 2856, 2870, 2882, 2890, 2897,
- 2903, 2909, 2915, 2930, 3015, 3020, 3024, 3031, 3038, 3046,
- 3053, 3061, 3069, 3083, 3100
+ 0, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
+ 1115, 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117,
+ 1117, 1117, 1117, 1118, 1118, 1118, 1118, 1118, 1118, 1121,
+ 1121, 1122, 1122, 1123, 1123, 1124, 1124, 1125, 1125, 1129,
+ 1129, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133, 1134,
+ 1134, 1135, 1135, 1136, 1137, 1142, 1143, 1143, 1143, 1143,
+ 1143, 1145, 1145, 1145, 1146, 1146, 1148, 1149, 1153, 1157,
+ 1162, 1162, 1164, 1165, 1170, 1176, 1177, 1178, 1179, 1180,
+ 1184, 1185, 1186, 1190, 1191, 1192, 1193, 1197, 1198, 1199,
+ 1203, 1204, 1205, 1206, 1207, 1211, 1212, 1213, 1216, 1217,
+ 1218, 1219, 1220, 1221, 1222, 1229, 1230, 1231, 1232, 1233,
+ 1234, 1235, 1236, 1237, 1238, 1242, 1243, 1248, 1249, 1250,
+ 1251, 1252, 1253, 1256, 1257, 1262, 1263, 1270, 1271, 1277,
+ 1278, 1287, 1295, 1296, 1301, 1302, 1303, 1308, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1324, 1328, 1332, 1339, 1344,
+ 1352, 1382, 1407, 1412, 1422, 1432, 1436, 1446, 1453, 1462,
+ 1469, 1474, 1479, 1486, 1487, 1494, 1501, 1509, 1515, 1527,
+ 1555, 1571, 1598, 1626, 1652, 1672, 1698, 1718, 1730, 1737,
+ 1803, 1813, 1823, 1829, 1839, 1845, 1855, 1860, 1865, 1878,
+ 1890, 1912, 1920, 1926, 1937, 1942, 1947, 1953, 1959, 1968,
+ 1972, 1980, 1980, 1983, 1983, 1986, 1998, 2019, 2024, 2032,
+ 2033, 2037, 2037, 2041, 2041, 2044, 2047, 2071, 2083, 2082,
+ 2094, 2093, 2103, 2102, 2113, 2153, 2156, 2162, 2172, 2176,
+ 2181, 2183, 2188, 2193, 2202, 2212, 2223, 2227, 2236, 2245,
+ 2250, 2384, 2384, 2386, 2395, 2395, 2397, 2402, 2414, 2418,
+ 2423, 2427, 2431, 2435, 2439, 2443, 2447, 2451, 2455, 2480,
+ 2484, 2494, 2498, 2502, 2507, 2514, 2514, 2520, 2529, 2534,
+ 2539, 2543, 2552, 2561, 2570, 2574, 2582, 2589, 2593, 2598,
+ 2608, 2627, 2636, 2727, 2731, 2738, 2749, 2762, 2772, 2783,
+ 2793, 2804, 2812, 2822, 2829, 2832, 2833, 2840, 2844, 2849,
+ 2865, 2882, 2896, 2910, 2922, 2930, 2937, 2943, 2949, 2955,
+ 2970, 3068, 3073, 3077, 3084, 3091, 3099, 3106, 3114, 3122,
+ 3136, 3153, 3161
};
#endif
"CONSTANT", "SECTION", "ALIAS", "VOLATILE", "THREAD_LOCAL", "TO",
"DOTDOTDOT", "NULL_TOK", "UNDEF", "INTERNAL", "LINKONCE", "WEAK",
"APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE",
- "EXTERNAL", "TARGET", "TRIPLE", "ALIGN", "DEPLIBS", "CALL", "TAIL",
- "ASM_TOK", "MODULE", "SIDEEFFECT", "CC_TOK", "CCC_TOK", "FASTCC_TOK",
- "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
- "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
- "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
- "XOR", "SHL", "LSHR", "ASHR", "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT",
- "SLE", "SGE", "ULT", "UGT", "ULE", "UGE", "OEQ", "ONE", "OLT", "OGT",
- "OLE", "OGE", "ORD", "UNO", "UEQ", "UNE", "MALLOC", "ALLOCA", "FREE",
- "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT", "SEXT", "FPTRUNC",
- "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR",
- "PTRTOINT", "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT",
- "INSERTELEMENT", "SHUFFLEVECTOR", "SIGNEXT", "ZEROEXT", "NORETURN",
- "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", "CONST", "PURE",
- "DEFAULT", "HIDDEN", "PROTECTED", "'='", "','", "'*'", "'\\\\'", "'('",
- "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept",
- "ArithmeticOps", "LogicalOps", "CastOps", "IPredicates", "FPredicates",
- "IntType", "FPType", "LocalName", "OptLocalName", "OptLocalAssign",
+ "EXTERNAL", "TARGET", "TRIPLE", "ALIGN", "ADDRSPACE", "DEPLIBS", "CALL",
+ "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT", "CC_TOK", "CCC_TOK",
+ "FASTCC_TOK", "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK",
+ "DATALAYOUT", "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE",
+ "ADD", "SUB", "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM",
+ "AND", "OR", "XOR", "SHL", "LSHR", "ASHR", "ICMP", "FCMP", "EQ", "NE",
+ "SLT", "SGT", "SLE", "SGE", "ULT", "UGT", "ULE", "UGE", "OEQ", "ONE",
+ "OLT", "OGT", "OLE", "OGE", "ORD", "UNO", "UEQ", "UNE", "MALLOC",
+ "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT",
+ "SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI",
+ "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "VAARG",
+ "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "GETRESULT",
+ "SIGNEXT", "ZEROEXT", "NORETURN", "INREG", "SRET", "NOUNWIND", "NOALIAS",
+ "BYVAL", "NEST", "READNONE", "READONLY", "GC", "DEFAULT", "HIDDEN",
+ "PROTECTED", "'('", "')'", "'='", "','", "'*'", "'\\\\'", "'['", "'x'",
+ "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept", "ArithmeticOps",
+ "LogicalOps", "CastOps", "IPredicates", "FPredicates", "IntType",
+ "FPType", "LocalName", "OptLocalName", "OptAddrSpace", "OptLocalAssign",
"GlobalName", "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage",
"GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage",
"FunctionDefineLinkage", "AliasLinkage", "OptCallingConv", "ParamAttr",
- "OptParamAttrs", "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign",
- "SectionString", "OptSection", "GlobalVarAttributes",
+ "OptParamAttrs", "FuncAttr", "OptFuncAttrs", "OptGC", "OptAlign",
+ "OptCAlign", "SectionString", "OptSection", "GlobalVarAttributes",
"GlobalVarAttribute", "PrimType", "Types", "ArgType", "ResultTypes",
"ArgTypeList", "ArgTypeListI", "TypeListI", "ConstVal", "ConstExpr",
"ConstVector", "GlobalType", "ThreadLocal", "AliaseeRef", "Module",
"TargetDefinition", "LibrariesDefinition", "LibList", "ArgListH",
"ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END",
"Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
- "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList",
- "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst",
- "PHIList", "ParamList", "IndexList", "OptTailCall", "InstVal",
- "OptVolatile", "MemoryInst", 0
+ "SymbolicValueRef", "ValueRef", "ResolvedVal", "ReturnedVal",
+ "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
+ "JumpTable", "Inst", "PHIList", "ParamList", "IndexList", "OptTailCall",
+ "InstVal", "OptVolatile", "MemoryInst", 0
};
#endif
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 402, 61, 44,
- 42, 92, 40, 41, 91, 120, 93, 60, 62, 123,
- 125, 99
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 40, 41, 61, 44, 42, 92, 91, 120, 93,
+ 60, 62, 123, 125, 99
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 162, 163, 163, 163, 163, 163, 163, 163, 163,
- 163, 164, 164, 164, 164, 164, 164, 165, 165, 165,
- 165, 165, 165, 165, 165, 165, 165, 165, 165, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 168, 169, 169, 169, 169,
- 169, 170, 170, 170, 171, 171, 172, 172, 173, 173,
- 174, 174, 175, 176, 176, 176, 176, 176, 177, 177,
- 177, 178, 178, 178, 178, 179, 179, 179, 180, 180,
- 180, 180, 180, 181, 181, 181, 182, 182, 182, 182,
- 182, 182, 182, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 184, 184, 185, 185, 185, 185, 185, 185,
- 186, 186, 187, 187, 188, 188, 189, 190, 190, 191,
- 191, 192, 192, 193, 193, 193, 193, 193, 193, 193,
- 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
- 194, 194, 194, 195, 196, 196, 197, 197, 198, 198,
- 198, 198, 199, 199, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 201, 201, 201, 201, 201, 201,
- 201, 201, 201, 201, 202, 202, 203, 203, 204, 204,
- 205, 205, 206, 206, 207, 207, 209, 208, 210, 208,
- 208, 208, 208, 211, 208, 212, 208, 213, 208, 208,
- 208, 208, 214, 215, 215, 216, 217, 217, 217, 218,
- 218, 219, 219, 219, 219, 220, 221, 221, 222, 223,
- 223, 224, 225, 226, 226, 227, 227, 227, 227, 227,
- 227, 227, 227, 227, 227, 227, 228, 228, 228, 228,
- 229, 229, 230, 231, 231, 232, 233, 233, 233, 234,
- 234, 234, 234, 234, 234, 234, 234, 234, 235, 235,
- 236, 237, 237, 238, 238, 238, 238, 238, 239, 239,
- 240, 240, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 242, 242, 243, 243, 243,
- 243, 243, 243, 243, 243
+ 0, 165, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 167, 167, 167, 167, 167, 167, 168, 168, 168,
+ 168, 168, 168, 168, 168, 168, 168, 168, 168, 169,
+ 169, 169, 169, 169, 169, 169, 169, 169, 169, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
+ 170, 170, 170, 170, 170, 171, 172, 172, 172, 172,
+ 172, 173, 173, 173, 174, 174, 175, 175, 176, 176,
+ 177, 177, 178, 178, 179, 180, 180, 180, 180, 180,
+ 181, 181, 181, 182, 182, 182, 182, 183, 183, 183,
+ 184, 184, 184, 184, 184, 185, 185, 185, 186, 186,
+ 186, 186, 186, 186, 186, 187, 187, 187, 187, 187,
+ 187, 187, 187, 187, 187, 188, 188, 189, 189, 189,
+ 189, 189, 189, 190, 190, 191, 191, 192, 192, 193,
+ 193, 194, 195, 195, 196, 196, 197, 197, 198, 198,
+ 198, 198, 198, 198, 198, 199, 199, 199, 199, 199,
+ 199, 199, 199, 199, 199, 199, 199, 199, 200, 201,
+ 201, 202, 202, 203, 203, 203, 203, 204, 204, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205, 205, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 207,
+ 207, 208, 208, 209, 209, 210, 210, 211, 211, 212,
+ 212, 214, 213, 215, 213, 213, 213, 213, 216, 213,
+ 217, 213, 218, 213, 213, 213, 213, 219, 220, 220,
+ 221, 222, 222, 222, 223, 223, 224, 224, 224, 224,
+ 225, 226, 226, 227, 228, 228, 229, 230, 231, 231,
+ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
+ 232, 233, 233, 233, 233, 234, 234, 235, 236, 236,
+ 237, 237, 238, 239, 239, 239, 240, 240, 240, 240,
+ 240, 240, 240, 240, 240, 241, 241, 242, 243, 243,
+ 244, 244, 244, 244, 244, 245, 245, 246, 246, 247,
+ 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+ 247, 247, 248, 248, 249, 249, 249, 249, 249, 249,
+ 249, 249, 249
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 2, 0, 1, 1,
- 1, 0, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 0, 1, 1, 1, 0, 1, 1, 0, 1,
- 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,
- 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 2, 1, 1, 1, 1, 1, 1,
- 0, 2, 0, 2, 0, 3, 2, 0, 1, 0,
- 3, 1, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 1, 2, 5, 5, 5, 5, 3,
- 2, 5, 4, 2, 1, 1, 1, 3, 1, 3,
- 1, 0, 1, 3, 4, 3, 3, 4, 4, 3,
- 6, 5, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 6, 5, 8, 6, 6, 7,
- 7, 6, 8, 8, 3, 1, 1, 1, 1, 0,
- 2, 6, 1, 0, 1, 2, 0, 3, 0, 3,
- 3, 3, 3, 0, 7, 0, 8, 0, 8, 5,
- 2, 3, 1, 3, 3, 3, 3, 1, 0, 5,
- 3, 1, 3, 1, 0, 9, 1, 1, 4, 1,
- 1, 2, 3, 0, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 3, 1, 5, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 3, 2, 0, 1, 2,
- 2, 3, 9, 9, 8, 14, 1, 1, 6, 5,
- 2, 6, 7, 3, 3, 5, 5, 0, 0, 3,
- 2, 1, 5, 5, 6, 6, 4, 6, 4, 4,
- 6, 6, 2, 8, 1, 1, 0, 3, 6, 3,
- 6, 2, 5, 7, 4
+ 1, 1, 1, 1, 1, 0, 4, 0, 2, 0,
+ 1, 1, 1, 0, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0, 1, 1, 1, 0, 1, 1,
+ 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,
+ 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 2, 0, 2, 1, 1, 1,
+ 1, 1, 1, 0, 2, 0, 2, 0, 2, 0,
+ 3, 2, 0, 1, 0, 3, 1, 2, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 1, 2,
+ 5, 5, 5, 5, 3, 2, 5, 4, 2, 1,
+ 1, 1, 3, 1, 3, 1, 0, 1, 3, 4,
+ 3, 3, 4, 4, 3, 6, 5, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 6,
+ 5, 8, 6, 6, 7, 7, 6, 8, 8, 3,
+ 1, 1, 1, 1, 0, 2, 6, 1, 0, 1,
+ 2, 0, 3, 0, 3, 3, 3, 3, 0, 8,
+ 0, 9, 0, 9, 5, 2, 3, 1, 3, 3,
+ 3, 3, 1, 0, 5, 3, 1, 3, 1, 0,
+ 10, 1, 1, 4, 1, 1, 2, 3, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
+ 5, 1, 1, 1, 1, 1, 1, 2, 1, 3,
+ 2, 2, 3, 2, 0, 1, 2, 2, 3, 9,
+ 9, 8, 14, 1, 1, 6, 5, 2, 6, 7,
+ 4, 4, 6, 6, 0, 0, 3, 2, 1, 5,
+ 5, 6, 6, 4, 6, 4, 4, 6, 6, 2,
+ 8, 1, 1, 0, 3, 6, 3, 6, 2, 5,
+ 7, 5, 4
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 71, 61, 68, 62, 69, 63, 208, 206, 0, 0,
- 0, 0, 0, 0, 81, 70, 0, 71, 204, 85,
- 88, 0, 0, 220, 0, 0, 66, 0, 72, 73,
- 75, 74, 76, 78, 77, 79, 80, 82, 83, 84,
- 81, 81, 199, 1, 205, 86, 87, 81, 209, 89,
- 90, 91, 92, 81, 267, 207, 267, 0, 0, 228,
- 221, 222, 210, 256, 257, 212, 133, 134, 135, 138,
- 137, 136, 139, 140, 0, 0, 0, 0, 258, 259,
- 141, 211, 143, 199, 199, 93, 198, 0, 96, 96,
- 268, 264, 67, 239, 240, 241, 263, 223, 224, 227,
- 0, 161, 144, 0, 0, 0, 0, 150, 162, 0,
- 142, 161, 0, 0, 95, 94, 0, 196, 197, 0,
- 0, 97, 98, 99, 100, 101, 0, 242, 0, 306,
- 266, 0, 225, 160, 112, 156, 158, 0, 0, 0,
- 0, 0, 0, 149, 0, 0, 0, 155, 0, 154,
- 0, 219, 133, 134, 135, 138, 137, 136, 0, 0,
- 0, 213, 102, 0, 236, 237, 238, 305, 291, 0,
- 0, 0, 0, 96, 276, 277, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 14, 15, 16, 11, 12,
- 13, 0, 0, 0, 0, 0, 0, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 265, 96,
- 280, 0, 304, 226, 153, 0, 120, 0, 0, 152,
- 0, 163, 120, 215, 217, 0, 200, 181, 182, 177,
- 179, 178, 180, 183, 176, 172, 173, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 175, 174, 129, 0, 290, 270, 0, 269, 0,
- 0, 55, 0, 0, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 0, 53, 54, 49, 50, 51,
- 52, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 0, 124, 124, 311, 0, 0, 302, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
- 106, 105, 103, 107, 108, 109, 110, 111, 113, 159,
- 157, 146, 147, 148, 151, 145, 129, 129, 0, 0,
- 0, 0, 0, 0, 0, 0, 165, 195, 0, 0,
- 0, 169, 0, 166, 0, 0, 0, 0, 214, 234,
- 245, 246, 247, 252, 248, 249, 250, 251, 243, 0,
- 254, 261, 260, 262, 0, 271, 0, 0, 0, 0,
- 0, 307, 0, 309, 288, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 117, 116,
- 114, 115, 119, 118, 121, 216, 218, 0, 0, 0,
- 288, 0, 0, 0, 0, 0, 164, 150, 162, 0,
- 167, 168, 0, 0, 0, 0, 0, 131, 129, 233,
- 112, 231, 0, 244, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 314, 0, 0, 0, 298, 299,
- 0, 0, 0, 0, 296, 0, 124, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 194, 171, 0, 0,
- 0, 0, 126, 132, 130, 65, 0, 120, 0, 253,
- 0, 0, 287, 0, 0, 124, 125, 124, 0, 0,
- 0, 0, 0, 0, 292, 293, 287, 0, 312, 0,
- 201, 0, 0, 185, 0, 0, 0, 0, 170, 0,
- 0, 0, 64, 230, 232, 112, 127, 0, 0, 0,
- 139, 0, 0, 294, 295, 308, 310, 289, 0, 0,
- 297, 300, 301, 0, 124, 0, 0, 0, 191, 0,
- 0, 187, 188, 184, 65, 128, 122, 255, 0, 0,
- 112, 112, 0, 120, 281, 0, 120, 313, 189, 190,
- 0, 0, 0, 229, 0, 235, 0, 274, 0, 0,
- 284, 283, 139, 0, 0, 282, 303, 186, 192, 193,
- 123, 272, 0, 273, 0, 112, 112, 0, 0, 0,
- 286, 285, 0, 0, 0, 0, 279, 0, 0, 278,
- 0, 275
+ 73, 61, 70, 62, 71, 63, 213, 211, 0, 0,
+ 0, 0, 0, 0, 83, 72, 0, 73, 209, 87,
+ 90, 0, 0, 225, 0, 0, 68, 0, 74, 75,
+ 77, 76, 78, 80, 79, 81, 82, 84, 85, 86,
+ 83, 83, 204, 1, 210, 88, 89, 83, 214, 91,
+ 92, 93, 94, 83, 274, 212, 274, 0, 0, 233,
+ 226, 227, 215, 261, 262, 217, 138, 139, 140, 143,
+ 142, 141, 144, 145, 0, 0, 0, 0, 263, 264,
+ 146, 216, 148, 204, 204, 95, 203, 0, 98, 98,
+ 275, 271, 69, 244, 245, 246, 270, 228, 229, 232,
+ 0, 166, 149, 0, 0, 0, 0, 155, 167, 0,
+ 0, 166, 0, 0, 0, 97, 96, 0, 201, 202,
+ 0, 0, 99, 100, 101, 102, 103, 0, 247, 0,
+ 313, 273, 0, 230, 165, 115, 161, 163, 0, 0,
+ 0, 0, 0, 0, 154, 0, 0, 147, 0, 0,
+ 160, 0, 159, 0, 224, 138, 139, 140, 143, 142,
+ 141, 0, 0, 67, 67, 104, 0, 241, 242, 243,
+ 312, 298, 0, 0, 0, 0, 98, 283, 284, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 14, 15,
+ 16, 11, 12, 13, 0, 0, 0, 0, 0, 0,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 272, 98, 287, 0, 311, 231, 158, 0,
+ 123, 67, 67, 157, 0, 168, 0, 123, 67, 67,
+ 0, 205, 186, 187, 182, 184, 183, 185, 188, 181,
+ 177, 178, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 180, 179, 218, 0,
+ 297, 277, 67, 268, 276, 0, 0, 55, 0, 0,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 0, 53, 54, 49, 50, 51, 52, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 0, 129, 129,
+ 318, 67, 67, 309, 0, 0, 0, 0, 0, 67,
+ 67, 67, 0, 0, 0, 0, 0, 106, 108, 107,
+ 105, 109, 110, 111, 112, 113, 116, 164, 162, 151,
+ 152, 153, 156, 66, 150, 220, 222, 0, 0, 0,
+ 0, 0, 0, 0, 0, 170, 200, 0, 0, 0,
+ 174, 0, 171, 0, 0, 0, 134, 239, 250, 251,
+ 252, 257, 253, 254, 255, 256, 248, 0, 259, 266,
+ 265, 267, 0, 0, 278, 0, 0, 67, 67, 0,
+ 314, 0, 316, 295, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 67, 0, 114, 120,
+ 119, 117, 118, 121, 122, 124, 134, 134, 0, 0,
+ 0, 295, 0, 0, 0, 0, 0, 169, 155, 167,
+ 0, 172, 173, 0, 0, 0, 0, 219, 238, 115,
+ 236, 0, 249, 0, 0, 269, 0, 0, 0, 0,
+ 0, 0, 0, 0, 322, 0, 0, 0, 305, 306,
+ 0, 0, 0, 0, 0, 303, 0, 129, 0, 221,
+ 223, 67, 0, 0, 0, 0, 0, 0, 0, 199,
+ 176, 0, 0, 0, 0, 0, 0, 136, 134, 65,
+ 0, 123, 0, 258, 0, 0, 294, 0, 0, 129,
+ 130, 129, 0, 0, 0, 0, 0, 0, 321, 299,
+ 300, 294, 0, 319, 67, 206, 0, 0, 190, 0,
+ 0, 0, 0, 175, 0, 0, 67, 131, 137, 135,
+ 64, 235, 237, 115, 132, 0, 0, 0, 115, 115,
+ 0, 301, 302, 315, 317, 296, 0, 0, 304, 307,
+ 308, 0, 129, 0, 0, 0, 196, 0, 0, 192,
+ 193, 189, 65, 133, 127, 260, 0, 0, 0, 0,
+ 123, 0, 288, 0, 123, 320, 194, 195, 0, 0,
+ 0, 234, 0, 125, 0, 281, 0, 0, 106, 108,
+ 115, 115, 0, 115, 115, 289, 310, 191, 197, 198,
+ 128, 0, 240, 279, 0, 280, 0, 291, 290, 0,
+ 0, 0, 126, 0, 0, 0, 115, 115, 0, 0,
+ 0, 293, 292, 286, 0, 0, 285, 0, 282
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 258, 259, 260, 284, 301, 158, 159, 78, 513,
- 12, 79, 14, 15, 40, 41, 42, 47, 53, 116,
- 126, 328, 224, 404, 331, 565, 381, 427, 546, 358,
- 428, 80, 160, 135, 150, 136, 137, 109, 347, 370,
- 348, 119, 87, 151, 16, 17, 18, 20, 19, 263,
- 336, 337, 62, 23, 60, 100, 431, 432, 127, 166,
- 54, 95, 55, 48, 434, 371, 82, 373, 268, 56,
- 91, 92, 218, 569, 130, 307, 522, 444, 219, 220,
- 221, 222
+ -1, 263, 264, 265, 290, 307, 161, 162, 78, 531,
+ 112, 12, 79, 14, 15, 40, 41, 42, 47, 53,
+ 117, 127, 336, 228, 415, 339, 602, 583, 390, 487,
+ 564, 437, 488, 80, 163, 136, 153, 137, 138, 109,
+ 356, 378, 357, 120, 87, 154, 16, 17, 18, 20,
+ 19, 366, 416, 417, 62, 23, 60, 100, 440, 441,
+ 128, 169, 54, 95, 55, 48, 443, 379, 82, 381,
+ 273, 274, 56, 91, 92, 222, 587, 131, 313, 540,
+ 454, 223, 224, 225, 226
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -549
+#define YYPACT_NINF -572
static const yytype_int16 yypact[] =
{
- 322, -549, -549, -549, -549, -549, -549, -549, -18, -120,
- 6, -117, 62, -60, 224, -549, 111, 464, -549, 103,
- 184, -12, -7, -549, 21, 133, -549, 1309, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- 140, 140, 211, -549, -549, -549, -549, 140, -549, -549,
- -549, -549, -549, 140, 139, -549, -14, 157, 174, 182,
- -549, -549, -549, -549, -549, 60, -549, -549, -549, -549,
- -549, -549, -549, -549, 215, 233, 2, 526, -549, -549,
- -549, 150, -549, 178, 178, 269, -549, 14, 274, 274,
- -549, -549, 134, -549, -549, -549, -549, -549, -549, -549,
- -23, 54, -549, 97, 105, 993, 60, -549, 150, -125,
- -549, 54, 14, 14, -549, -549, 1093, -549, -549, 1340,
- 260, -549, -549, -549, -549, -549, 1358, -549, -17, 1584,
- -549, 251, -549, -549, 150, -549, 128, 146, 1380, 1380,
- 145, -106, 1380, -549, 151, 1340, 1380, 60, 155, 150,
- 231, -549, 101, 303, 305, 308, 312, 315, 229, 320,
- 808, -549, -549, 187, -549, -549, -549, -549, -549, 275,
- 1423, 85, 321, 274, -549, -549, -549, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- -549, 461, 481, 1380, 1380, 1380, 1380, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, 1380,
- 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, -549, 274,
- -549, 110, -549, -549, -85, 1116, -549, -2, -33, -549,
- 173, 150, -549, -549, 150, 1093, -549, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, 461, 481, 191,
- 198, 199, 203, 204, 1156, 1534, 1033, 335, 206, 207,
- 208, -549, -549, 217, 223, -549, 60, 649, -549, 785,
- 785, -549, 785, 1358, -549, -549, -549, -549, -549, -549,
- -549, -549, -549, -549, 1380, -549, -549, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- -549, 1380, 107, 113, -549, 649, 26, 218, 236, 237,
- 238, 239, 240, 649, 649, 340, 1358, 1380, 1380, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
- -549, 162, -549, -549, -549, 162, 217, 217, 344, 242,
- 243, 1340, 1340, 1340, 1340, 1340, -549, -549, -9, 1073,
- -50, -549, -63, -549, 1340, 1340, 1340, -11, -549, 1187,
- -549, -549, -549, -549, -549, -549, -549, -549, 333, 1340,
- -549, -549, -549, -549, 247, -549, 248, 785, 649, 649,
- 7, -549, 34, -549, -549, 785, 244, 1380, 1380, 1380,
- 1380, 1380, 256, 257, 1380, 785, 649, 258, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, 1380, 1340, 1340,
- -549, 261, 264, 267, 268, 1340, -549, 263, 808, -51,
- -549, -549, 270, 273, 362, 396, 419, -549, 217, -549,
- 150, 276, 271, -549, 405, -48, 411, 412, 280, 284,
- 287, 785, 433, 785, 289, 290, 785, 293, 150, -549,
- 294, 295, 785, 785, 150, 296, 297, 1380, 90, 298,
- 300, 13, 1340, 1340, 1340, 1340, -549, -549, 299, 1340,
- 1340, 1380, -549, -549, -549, -3, 1269, -549, 304, -549,
- 785, 785, 1577, 785, 785, 297, -549, 297, 1380, 785,
- 306, 1380, 1380, 1380, -549, -549, 1577, 401, -549, 649,
- -549, 1340, 1340, -549, 309, 310, 319, 323, -549, 316,
- 318, 126, -549, -549, -549, 150, 38, 437, 324, 307,
- 785, 649, 44, -549, -549, -549, -549, -549, 325, 785,
- -549, -549, -549, 53, 297, 327, 332, 1340, -549, 1340,
- 1340, -549, -549, -549, -3, -549, 421, -549, 460, 1,
- -549, -549, 1595, -549, -549, 334, -549, -549, -549, -549,
- 336, 338, 339, -549, 489, -549, 785, -549, 945, 3,
- -85, -85, 785, 649, 86, -549, 162, -549, -549, -549,
- -549, -549, 347, -549, 945, -549, -549, 484, 485, 356,
- -85, -85, 785, 785, 492, 439, -549, 785, 494, -549,
- 785, -549
+ 284, -572, -572, -572, -572, -572, -572, -572, -13, -121,
+ 36, -94, 101, -55, 19, -572, 135, 883, -572, 165,
+ 162, 13, 27, -572, 4, 199, -572, 1464, -572, -572,
+ -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
+ 106, 106, 203, -572, -572, -572, -572, 106, -572, -572,
+ -572, -572, -572, 106, 210, -572, -10, 215, 219, 224,
+ -572, -572, -572, -572, -572, 99, -572, -572, -572, -572,
+ -572, -572, -572, -572, 265, 271, 2, 126, -572, -572,
+ -572, 1, -572, 259, 259, 205, -572, 9, 382, 382,
+ -572, -572, 78, -572, -572, -572, -572, -572, -572, -572,
+ -32, 1059, -572, 147, 151, 506, 99, -572, 1, -114,
+ 166, 1059, 158, 9, 9, -572, -572, 1014, -572, -572,
+ 1504, 315, -572, -572, -572, -572, -572, 1562, -572, -2,
+ 1843, -572, 294, -572, -572, 1, -572, 172, 168, 1620,
+ 1620, 170, -68, 1620, -572, 329, 185, -572, 1504, 1620,
+ 99, 187, 1, 339, -572, 77, 333, 335, 336, 340,
+ 341, 262, 342, 1115, 298, -572, 139, -572, -572, -572,
+ -572, -572, 292, 1660, 59, 343, 382, -572, -572, -572,
+ -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
+ -572, -572, -572, -572, 312, 787, 1620, 1620, 1620, 1620,
+ -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
+ -572, -572, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
+ 1620, 1620, -572, 382, -572, -42, -572, -572, 434, 1345,
+ -572, -31, -30, -572, 194, 1, 208, -572, 298, 3,
+ 1014, -572, -572, -572, -572, -572, -572, -572, -572, -572,
+ -572, -572, 312, 787, 213, 214, 218, 225, 228, 1385,
+ 1678, 609, 346, 230, 231, 238, -572, -572, -572, 242,
+ -572, 99, 702, -572, 241, 841, 841, -572, 841, 1562,
+ -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
+ 1620, -572, -572, -572, -572, -572, -572, -572, -572, -572,
+ -572, -572, -572, -572, -572, -572, -572, 1620, 97, 125,
+ -572, 702, -25, 244, 245, 261, 263, 266, 269, 14,
+ 702, 702, 358, 1562, 1620, 1620, 409, -572, -572, -572,
+ -572, -572, -572, -572, -572, -572, -572, -572, -572, -93,
+ -572, -572, -572, -572, -93, -572, 158, 378, 275, 277,
+ 1504, 1504, 1504, 1504, 1504, -572, -572, 80, 788, -83,
+ -572, -64, -572, 1504, 1504, 1504, 276, 1406, -572, -572,
+ -572, -572, -572, -572, -572, -572, 369, 1504, -572, -572,
+ -572, -572, 1620, 281, -572, 282, 841, 702, 702, 5,
+ -572, 7, -572, -572, 841, 274, 1620, 1620, 1620, 1620,
+ 1620, 283, 285, 287, 1620, 841, 702, 295, -572, -572,
+ -572, -572, -572, -572, -572, -572, 276, 276, 1620, 1504,
+ 1504, -572, 296, 299, 300, 301, 1504, -572, 306, 969,
+ -58, -572, -572, 302, 303, 421, -3, -572, -572, 1,
+ 307, 308, -572, 440, 22, -572, 451, 452, 321, 319,
+ 320, 841, 471, 841, 323, 324, 841, 328, 1, -572,
+ 330, 332, 479, 841, 841, 1, 337, 344, 1620, -572,
+ -572, -45, 347, 349, 133, 1504, 1504, 1504, 1504, -572,
+ -572, 334, 1504, 1504, 1620, 468, 487, -572, 276, 1746,
+ 1446, -572, 350, -572, 841, 841, 1718, 841, 841, 344,
+ -572, 344, 1620, 841, 351, 1620, 1620, 1620, -572, -572,
+ -572, 1718, 441, -572, 702, -572, 1504, 1504, -572, 352,
+ 348, 353, 357, -572, 360, 363, 64, -572, -572, -572,
+ -572, -572, -572, 1, 81, 474, 370, 374, 123, 1,
+ 138, -572, -572, -572, -572, -572, 368, 841, -572, -572,
+ -572, 171, 344, 380, 381, 1504, -572, 1504, 1504, -572,
+ -572, -572, 1746, -572, 483, -572, 520, -4, 560, 560,
+ -572, 1736, -572, 379, -572, -572, -572, -572, 394, 395,
+ 398, -572, 550, 410, 841, -572, 1255, -1, 405, 407,
+ -572, -572, 87, 123, 1, -572, -93, -572, -572, -572,
+ -572, 537, -572, -572, 411, -572, 1255, 434, 434, 544,
+ 560, 560, -572, 549, 418, 841, -572, -572, 841, 558,
+ 509, 434, 434, -572, 841, 571, -572, 841, -572
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -549, 383, 384, 385, 272, 277, -170, -549, 0, -24,
- 429, 8, -549, -549, -549, -549, 42, -549, -549, -549,
- -160, -549, -421, -549, -228, -549, -293, 11, -549, -310,
- -549, -549, -26, 341, -121, -549, 418, 425, -61, -157,
- -226, 9, 205, 326, -549, -549, 515, -549, -549, -549,
- -549, -549, -549, -549, -549, -549, -549, -549, 446, -549,
- -549, -549, -549, -549, -549, -548, -69, 121, -173, -549,
- 491, -549, -549, -549, -549, -549, 67, 158, -549, -549,
- -549, -549
+ -572, 459, 460, 461, 345, 354, -173, -572, 0, 30,
+ -150, 502, 8, -572, -572, -572, -572, 189, -572, -572,
+ -572, -149, -572, -409, -572, -234, -572, -572, -289, 61,
+ -572, -404, -572, -572, -26, 367, -122, -572, 488, 493,
+ -92, -159, -214, 84, 217, 362, -572, -572, 586, -572,
+ -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
+ 515, -572, -572, -572, -572, -572, -572, -571, -76, 46,
+ -105, -572, -572, 552, -572, -572, -572, -572, -572, 94,
+ 188, -572, -572, -572, -572
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -204
+#define YYTABLE_NINF -209
static const yytype_int16 yytable[] =
{
- 11, 81, 272, 261, 335, 163, 104, 90, 13, 475,
- 383, 164, 271, 273, 271, 93, 1, 11, 441, 3,
- 582, 5, 304, 425, 142, 13, 405, 406, 24, 350,
- 352, 26, 319, 320, 21, 143, 589, 308, 309, 310,
- 311, 312, 426, 142, 315, 443, 117, 118, 22, 321,
- 322, 108, 323, 324, 230, 325, 326, 327, 161, 316,
- 442, 63, 64, 25, 106, 66, 67, 68, 69, 70,
- 71, 72, 425, 1, 2, 134, 3, 4, 5, 108,
- 27, 236, 83, 84, 233, 134, 415, 442, 28, 88,
- 149, 262, 11, 133, 544, 89, 269, 421, 415, 415,
- 149, 415, 270, 73, -55, -55, -55, -55, 420, 468,
- 479, 43, 227, 228, 319, 320, 231, 110, 474, 111,
- 234, 145, 146, 419, 587, 333, 131, 237, 238, 570,
- 571, 321, 322, 132, 323, 324, 57, 325, 326, 327,
- 415, 58, 165, 435, 267, 397, 94, 416, 110, 45,
- 111, 46, 377, 1, 332, 61, 3, 567, 5, 583,
- 90, 105, 488, 498, 590, 591, 503, 302, 303, 267,
- 305, 264, 398, 399, 400, 59, 110, 401, 111, 97,
- 385, 402, 403, 306, 267, 267, 267, 267, 267, 313,
- 314, 267, 525, 552, 526, 395, 98, 553, 372, 134,
- 372, 372, 552, 372, 99, 74, 556, 2, 75, 149,
- 4, 76, 101, 77, 447, 86, 449, 450, 451, 102,
- 398, 399, 400, 317, 318, 401, 49, 50, 51, 402,
- 403, 52, 239, 240, 241, 242, 372, 103, 63, 64,
- 110, 557, 111, 500, 372, 372, 85, 149, 86, 516,
- 1, 2, 138, 3, 4, 5, 380, 110, 378, 111,
- 139, 261, 382, 110, 162, 111, 29, 30, 31, 32,
- 33, 34, 35, 223, 36, 379, 110, 225, 111, 543,
- 410, 411, 412, 413, 414, 37, 38, 39, 112, 113,
- 149, 396, 267, 422, 423, 424, 398, 399, 400, 226,
- 110, 401, 111, 229, 232, 402, 403, 235, 372, 372,
- 372, 114, -56, 115, -57, 527, 372, -60, 530, 531,
- 532, -59, -203, 418, -58, 574, 372, 372, 576, 243,
- 265, 334, 271, 430, 120, 121, 122, 123, 124, 125,
- -67, 1, 2, 341, 3, 4, 5, 459, 460, 262,
- 342, 343, 6, 7, 466, 344, 345, 353, 354, 355,
- 356, 267, 448, 267, 267, 267, 357, 386, 454, 37,
- 38, 39, 372, 8, 372, 359, 9, 372, 394, 568,
- 10, 458, 407, 372, 372, 387, 388, 389, 390, 391,
- 374, 375, 433, 376, 408, 409, 436, 437, 446, 584,
- 471, 504, 505, 506, 507, 452, 453, 457, 509, 510,
- 462, 372, 372, 463, 372, 372, 464, 465, 472, 469,
- 372, 467, 470, 473, 477, 476, 384, 478, 480, 481,
- 372, 499, 482, 483, 392, 393, 484, 486, 488, 489,
- 535, 536, 491, 492, 493, 511, 497, 501, 496, 502,
- 515, 372, 372, 517, 442, 529, 521, 508, 537, 547,
- 372, 549, 267, 538, -202, 267, 267, 267, 539, 541,
- 521, 542, 540, 548, 564, 512, 560, 566, 561, 562,
- 558, 554, -67, 1, 2, 559, 3, 4, 5, 577,
- 575, 578, 579, 580, 6, 7, 588, 372, 438, 439,
- 440, 592, 593, 372, 372, 594, 445, 285, 286, 597,
- 598, 600, 215, 216, 217, 8, 455, 456, 9, 339,
- 563, 129, 10, 372, 372, 340, 573, 545, 372, 144,
- 141, 372, 44, 63, 64, 128, 106, 66, 67, 68,
- 69, 70, 71, 72, 512, 1, 2, 96, 3, 4,
- 5, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 338, 485, 533, 487, 0, 330, 490, 461, 0,
- 0, 0, 0, 494, 495, 73, 0, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 518, 519, 0, 523, 524, 0, 0, 0, 0,
- 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 534, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 81, 278, 344, 266, 166, 104, 277, 13, 110,
+ 277, 90, 469, 470, 268, 604, 451, 11, 453, 93,
+ 392, 63, 64, 110, 110, 13, 167, 279, 164, 110,
+ 489, 485, 24, 1, 2, 614, 3, 4, 5, 21,
+ 143, 118, 119, 409, 410, 411, 359, 361, 412, 144,
+ 486, 108, 413, 414, 22, 110, 238, 110, 452, 26,
+ 452, 29, 30, 31, 32, 33, 34, 35, 110, 36,
+ 275, 426, 324, 325, 323, 135, 276, 241, 431, 108,
+ -55, -55, -55, -55, 529, 135, 143, 267, 345, 346,
+ 426, 152, 11, 310, 25, 234, 426, 1, 28, 432,
+ 3, 152, 5, 242, 243, 481, 111, 515, 314, 315,
+ 316, 317, 318, 231, 232, 485, 322, 235, 110, 27,
+ 111, 111, 132, 239, 562, 609, 111, 133, 340, 568,
+ 569, 341, 394, 63, 64, 43, 106, 66, 67, 68,
+ 69, 70, 71, 72, 430, 1, 2, 272, 3, 4,
+ 5, 110, 111, 94, 111, 585, -67, 386, 605, 2,
+ 168, 59, 4, 444, 105, 111, 57, 37, 38, 39,
+ 308, 309, 272, 311, 269, 73, 426, -144, 513, 110,
+ 58, 607, 608, 493, 610, 611, 312, 272, 272, 272,
+ 272, 272, 319, 320, 321, 272, 380, 148, 149, 380,
+ 380, 405, 380, 135, 49, 50, 51, 621, 622, 52,
+ 543, 45, 544, 46, 152, 111, 561, 409, 410, 411,
+ 407, 61, 412, 409, 410, 411, 413, 414, 412, 83,
+ 84, 90, 413, 414, 426, 380, 88, 97, 85, 427,
+ 86, 98, 89, 401, 380, 380, 99, 115, 111, 116,
+ 101, 389, -67, 152, 37, 38, 39, 534, 421, 422,
+ 423, 424, 425, 575, 387, 244, 245, 246, 247, 102,
+ 266, 433, 434, 435, -144, 103, 111, 445, -144, 391,
+ -67, 388, 74, 75, -208, 518, 76, 502, 77, 107,
+ 570, 457, 571, 459, 460, 461, 86, 152, 406, 272,
+ 113, 114, -69, 1, 2, 139, 3, 4, 5, 140,
+ 380, 380, 380, 147, 6, 7, 227, 145, 380, 165,
+ 230, 383, 384, 574, 385, 571, 229, 472, 473, 380,
+ 380, 233, 429, 236, 479, 8, 592, 237, 240, 9,
+ 596, 439, -56, 10, -57, -60, 63, 64, 270, -59,
+ -58, 248, 110, 267, 277, 342, 272, 393, 1, 2,
+ 343, 3, 4, 5, 350, 351, 402, 403, 362, 352,
+ 272, 458, 272, 272, 272, 380, 353, 380, 465, 354,
+ 380, 363, 364, 519, 520, 521, 522, 380, 380, 365,
+ 524, 525, 471, 367, 586, 382, 404, 545, 395, 396,
+ 548, 549, 550, 280, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 408, 606, 397, 418, 398, 380, 380,
+ 399, 380, 380, 400, 553, 554, 419, 380, 420, 442,
+ 436, 456, 448, 449, 450, 446, 447, 462, 380, 463,
+ 455, 464, 514, 121, 122, 123, 124, 125, 126, 468,
+ 475, 466, 467, 476, 477, 478, 482, 483, 526, 484,
+ 491, 490, 492, 578, 533, 579, 580, 480, 494, 495,
+ 539, 380, 496, 497, 498, 500, 272, 502, 503, 272,
+ 272, 272, 505, 508, 506, 539, 507, 326, 511, 530,
+ 527, 528, 380, 380, 452, 523, 565, 499, 512, 501,
+ 556, 516, 504, 517, 535, 547, 555, 557, 380, 509,
+ 510, 558, 559, 63, 64, 560, 106, 66, 67, 68,
+ 69, 70, 71, 72, 566, 1, 2, 572, 3, 4,
+ 5, 567, 576, 577, 380, 380, 582, 584, 595, 380,
+ 536, 537, 380, 541, 542, 594, 597, 598, 380, 546,
+ 599, 380, 327, 328, 600, 73, -18, 601, -19, 612,
+ 552, 615, 530, 368, 369, 613, 618, 63, 64, 370,
+ 329, 330, 619, 331, 332, 624, 333, 334, 335, 1,
+ 2, 625, 3, 4, 5, 371, 372, 373, 627, 219,
+ 220, 221, 581, 573, 130, 563, 338, 348, 142, 146,
+ 374, 375, 347, 44, 129, 551, 0, 349, 96, 474,
+ 0, 0, 0, 326, 590, 591, 63, 64, 376, 106,
+ 155, 156, 157, 158, 159, 160, 72, 0, 1, 2,
+ 603, 3, 4, 5, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 252,
+ 253, 0, 0, 0, 0, 0, 616, 617, 73, 0,
+ 0, 620, 74, 75, 623, 0, 76, 0, 77, 141,
+ 626, 0, 0, 628, 0, 0, 254, 200, 588, 589,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 0,
+ 255, 0, 256, 257, 258, 0, 329, 330, 0, 331,
+ 332, 0, 333, 334, 335, 368, 369, 0, 0, 63,
+ 64, 370, 0, 0, 0, 0, 0, 0, 0, 0,
+ 377, 1, 2, 0, 3, 4, 5, 371, 372, 373,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 550, 551, 0, 0, 0, 0, 0, 0, 0,
- 555, 0, 360, 361, 0, 0, 63, 64, 362, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
- 0, 3, 4, 5, 363, 364, 365, 74, 0, 0,
- 75, 0, 0, 76, 0, 77, 107, 581, 0, 366,
- 367, 0, 0, 585, 586, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 368, 0, 0, 0,
- 0, 0, 0, 595, 596, 0, 0, 0, 599, 0,
- 0, 601, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 247, 248, 0,
+ 0, 0, 374, 375, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 110, 0, 0, 0,
+ 376, 0, 0, 0, 0, 74, 75, 0, 0, 76,
+ 0, 77, 360, 0, 0, 0, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 252, 253, 0, 0, 63, 64, 0, 106, 155,
+ 156, 157, 158, 159, 160, 72, 0, 1, 2, 0,
+ 3, 4, 5, 291, 292, 0, 0, 0, 254, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 0, 255, 0, 256, 257, 258, 73, 0, 0,
+ 0, 0, 0, 0, 368, 369, 0, 0, 63, 64,
+ 370, 0, 0, 111, 0, 0, 0, 0, 0, 0,
+ 1, 2, 377, 3, 4, 5, 371, 372, 373, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 374, 375, -207, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 302, 303, 304, 305, 306, 0, 376,
+ 0, -69, 1, 2, 0, 3, 4, 5, 0, 0,
+ 0, 0, 0, 6, 7, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 252, 253, 0, 0, 8, 0, 0, 0, 9, 0,
+ 0, 0, 10, 0, 74, 75, 0, 0, 76, 0,
+ 77, 428, 0, 0, 0, 0, 0, 254, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 0, 255, 0, 256, 257, 258, 63, 64, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
+ 0, 3, 4, 5, 249, 0, 0, 0, 0, 0,
+ 0, 377, 0, 0, 0, 0, 0, 0, 0, 250,
+ 251, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 63, 64, 110, 150, 66, 67, 68, 69, 70,
+ 71, 72, 0, 1, 2, 0, 3, 4, 5, 0,
+ 0, 0, 0, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 252, 253,
+ 0, 0, 0, 73, 0, 0, 63, 64, 0, 106,
+ 66, 67, 68, 69, 70, 71, 72, 0, 1, 2,
+ 0, 3, 4, 5, 0, 254, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 134, 255,
+ 0, 256, 257, 258, 0, 0, 0, 0, 73, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 249, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 208, 0, 250, 0,
- 251, 252, 253, 0, 0, 0, 0, 0, 360, 361,
- 0, 0, 63, 64, 362, 0, 0, 0, 0, 110,
- 0, 111, 0, 0, 1, 2, 369, 3, 4, 5,
- 363, 364, 365, 0, 0, 63, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 366, 367, 1, 2, 0,
- 3, 4, 5, 244, 0, 0, 0, 0, 0, 0,
- 0, 0, 368, 0, 0, 0, 0, 0, 245, 246,
- 0, 0, 0, 0, 0, 0, 0, 0, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 247, 248, 0, 0, 0, 0, 0,
- 0, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 247, 248, 0, 0,
- 249, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 0, 250, 0, 251, 252, 253, 0,
- 0, 0, 0, 249, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 0, 250, 0, 251,
- 252, 253, 369, 0, 0, 0, 0, 0, 360, 361,
- 0, 0, 0, 0, 362, 0, 0, 0, 110, 0,
- 111, 0, 254, 0, 0, 255, 0, 256, 0, 257,
- 363, 364, 365, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 366, 367, 0, 0, 0,
+ 111, 0, 63, 64, -67, 0, 259, 0, 0, 260,
+ 0, 261, 0, 262, 1, 2, 151, 3, 4, 5,
+ 249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 250, 251, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
+ 74, 75, 0, 0, 76, 0, 77, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 252, 253, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 74, 75, 0, 0, 76,
+ 0, 77, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 254, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 0, 255, 0, 256, 257, 258,
+ 0, 0, 0, 0, 0, 0, 0, 0, 368, 369,
+ 0, 0, 0, 0, 370, 0, 111, 0, 0, 0,
+ 0, 0, 259, 0, 0, 260, 0, 261, 0, 262,
+ 371, 372, 373, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 374, 375, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 63, 64, 368, 106, 66, 67, 68, 69, 70, 71,
- 72, 0, 1, 2, 0, 3, 4, 5, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 247, 248, 0, 0, 0, 0, 0,
- 63, 64, 73, 106, 152, 153, 154, 155, 156, 157,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
- 249, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 0, 250, 0, 251, 252, 253, 0,
- 63, 64, 73, 106, 152, 153, 154, 155, 156, 157,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
- 63, 64, 369, 147, 66, 67, 68, 69, 70, 71,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
- 0, 0, 73, 63, 64, 0, 106, 66, 67, 68,
+ 0, 0, 0, 376, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 252, 253, 0, 0, 0, 0,
+ 0, 0, 63, 64, 0, 106, 66, 67, 68, 69,
+ 70, 71, 72, 0, 1, 2, 0, 3, 4, 5,
+ 0, 254, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 337, 255, 0, 256, 257, 258,
+ 0, 0, 63, 64, 73, 106, 155, 156, 157, 158,
+ 159, 160, 72, 0, 1, 2, 0, 3, 4, 5,
+ 0, 0, 0, 63, 64, 377, 106, 66, 67, 68,
69, 70, 71, 72, 0, 1, 2, 0, 3, 4,
- 5, 0, 73, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 140, 0, 329, 0, 0, 0, 0,
- 0, 0, 0, 63, 64, 73, 106, 152, 153, 154,
- 155, 156, 157, 72, 0, 1, 2, 0, 3, 4,
- 5, 0, 0, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 351, 63, 64, 0, 106, 66, 67,
- 68, 69, 70, 71, 72, 73, 1, 2, 0, 3,
- 4, 5, 0, 0, 148, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74, 0, 429, 75, 0, 0,
- 76, 0, 77, 417, 0, 0, 73, 0, 0, 0,
- 0, 0, 0, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
- 75, 0, 0, 76, 0, 77, 63, 64, 0, 106,
- 66, 67, 68, 69, 70, 71, 72, 0, 1, 2,
- 0, 3, 4, 5, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 74, 514, 0,
- 75, 0, 346, 76, 0, 77, 63, 64, 73, 65,
- 66, 67, 68, 69, 70, 71, 72, 0, 1, 2,
- 0, 3, 4, 5, 0, 0, 0, 0, 74, 0,
- 0, 75, 0, 0, 76, 0, 77, 63, 64, 0,
- 106, 152, 153, 154, 155, 156, 157, 72, 73, 1,
- 2, 0, 3, 4, 5, 63, 64, 0, 147, 66,
- 67, 68, 69, 70, 71, 72, 0, 1, 2, 0,
- 3, 4, 5, 0, 0, 0, 0, 63, 64, 73,
- 106, 66, 67, 68, 69, 70, 71, 72, 0, 1,
- 2, 0, 3, 4, 5, 0, 0, 73, 0, 0,
+ 5, 0, 0, 0, 73, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 438, 0, 0, 0, 0,
+ 0, 0, 0, 63, 64, 73, 106, 66, 67, 68,
+ 69, 70, 71, 72, 0, 1, 2, 0, 3, 4,
+ 5, 63, 64, 0, 65, 66, 67, 68, 69, 70,
+ 71, 72, 0, 1, 2, 532, 3, 4, 5, 0,
+ 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
+ 0, 74, 75, 0, 0, 76, 0, 77, 0, 0,
+ 0, 63, 64, 73, 106, 155, 156, 157, 158, 159,
+ 160, 72, 0, 1, 2, 0, 3, 4, 5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 74, 75, 0, 355, 76, 0, 77, 0, 0,
+ 0, 0, 0, 73, 0, 0, 0, 0, 0, 0,
+ 0, 0, 74, 75, 0, 0, 76, 0, 77, 63,
+ 64, 0, 150, 66, 67, 68, 69, 70, 71, 72,
+ 0, 1, 2, 0, 3, 4, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 75, 0, 0, 76, 0, 77, 73,
- 63, 64, 0, 266, 66, 67, 68, 69, 70, 71,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
+ 0, 0, 74, 75, 0, 0, 76, 0, 77, 0,
+ 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
+ 74, 75, 0, 0, 76, 0, 77, 63, 64, 0,
+ 106, 66, 67, 68, 69, 70, 71, 72, 0, 1,
+ 2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 75, 0, 0, 76, 0, 77, 0,
- 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
+ 74, 75, 0, 0, 76, 0, 77, 63, 64, 73,
+ 271, 66, 67, 68, 69, 70, 71, 72, 0, 1,
+ 2, 0, 3, 4, 5, 63, 64, 0, 106, 155,
+ 156, 157, 158, 159, 160, 72, 0, 1, 2, 0,
+ 3, 4, 5, 0, 0, 0, 0, 0, 0, 73,
+ 0, 0, 0, 0, 0, 0, 0, 0, 74, 75,
+ 0, 0, 76, 0, 77, 63, 64, 73, 106, 66,
+ 67, 68, 69, 70, 71, 538, 0, 1, 2, 0,
+ 3, 4, 5, 63, 64, 0, 106, 66, 67, 68,
+ 69, 70, 71, 593, 0, 1, 2, 0, 3, 4,
+ 5, 0, 0, 0, 0, 1, 0, 73, 3, 0,
+ 5, 0, 0, 0, 0, 0, 74, 75, 0, 0,
+ 76, 0, 77, 0, 0, 73, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 326,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,
- 0, 0, 75, 0, 0, 76, 0, 77, 0, 0,
+ 0, 0, 0, 0, 0, 0, 74, 75, 0, 0,
+ 76, 0, 77, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 74, 75, 0, 0, 76, 0,
+ 358, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
- 0, 63, 64, 0, 106, 152, 153, 154, 155, 156,
- 157, 72, 0, 1, 2, 0, 3, 4, 5, 0,
+ 0, 0, 0, 0, 327, 328, 0, 0, 0, 0,
+ 0, 0, 0, 0, 74, 75, 0, 0, 76, 170,
+ 77, 0, 329, 330, 0, 331, 332, 0, 333, 334,
+ 335, 0, 74, 75, 0, 0, 76, 0, 77, 171,
+ 172, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 73, 63, 64, 0, 106, 66, 67,
- 68, 69, 70, 71, 520, 0, 1, 2, 0, 3,
- 4, 5, 63, 64, 0, 106, 66, 67, 68, 69,
- 70, 71, 572, 0, 1, 2, 0, 3, 4, 5,
- 167, 0, 0, 0, 0, 0, 73, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
- 169, 0, 0, 0, 73, 0, 0, 0, 0, 0,
- 0, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 74, 0, 0, 75, 0,
- 0, 76, 0, 349, 193, 194, 195, 0, 0, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74, 0,
- 0, 75, 0, 0, 76, 0, 77, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 74, 0, 0, 75,
- 0, 0, 76, 0, 77
+ 0, 0, 0, 0, 196, 197, 198, 0, 0, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218
};
static const yytype_int16 yycheck[] =
{
- 0, 27, 172, 160, 232, 126, 4, 21, 0, 430,
- 303, 28, 11, 173, 11, 29, 19, 17, 11, 22,
- 568, 24, 195, 34, 149, 17, 336, 337, 148, 255,
- 256, 148, 117, 118, 52, 160, 584, 210, 211, 212,
- 213, 214, 53, 149, 217, 11, 32, 33, 66, 134,
- 135, 77, 137, 138, 160, 140, 141, 142, 119, 219,
- 53, 7, 8, 57, 10, 11, 12, 13, 14, 15,
- 16, 17, 34, 19, 20, 101, 22, 23, 24, 105,
- 18, 150, 40, 41, 145, 111, 149, 53, 148, 47,
- 116, 160, 92, 39, 515, 53, 11, 160, 149, 149,
- 126, 149, 17, 49, 3, 4, 5, 6, 158, 160,
- 158, 0, 138, 139, 117, 118, 142, 150, 428, 152,
- 146, 112, 113, 349, 38, 158, 149, 26, 27, 550,
- 551, 134, 135, 156, 137, 138, 148, 140, 141, 142,
- 149, 148, 159, 369, 170, 318, 160, 156, 150, 46,
- 152, 48, 273, 19, 156, 22, 22, 156, 24, 156,
- 21, 159, 149, 456, 585, 586, 153, 193, 194, 195,
- 196, 163, 134, 135, 136, 154, 150, 139, 152, 22,
- 154, 143, 144, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 485, 149, 487, 316, 22, 153, 267, 225,
- 269, 270, 149, 272, 22, 151, 153, 20, 154, 235,
- 23, 157, 152, 159, 387, 37, 389, 390, 391, 4,
- 134, 135, 136, 113, 114, 139, 42, 43, 44, 143,
- 144, 47, 3, 4, 5, 6, 305, 4, 7, 8,
- 150, 534, 152, 153, 313, 314, 35, 273, 37, 477,
- 19, 20, 155, 22, 23, 24, 149, 150, 284, 152,
- 155, 418, 149, 150, 4, 152, 42, 43, 44, 45,
- 46, 47, 48, 22, 50, 301, 150, 149, 152, 153,
- 341, 342, 343, 344, 345, 145, 146, 147, 83, 84,
- 316, 317, 318, 354, 355, 356, 134, 135, 136, 153,
- 150, 139, 152, 158, 153, 143, 144, 152, 377, 378,
- 379, 42, 9, 44, 9, 488, 385, 9, 491, 492,
- 493, 9, 0, 349, 9, 553, 395, 396, 556, 9,
- 55, 158, 11, 359, 60, 61, 62, 63, 64, 65,
- 18, 19, 20, 152, 22, 23, 24, 408, 409, 418,
- 152, 152, 30, 31, 415, 152, 152, 22, 152, 152,
- 152, 387, 388, 389, 390, 391, 149, 149, 394, 145,
- 146, 147, 441, 51, 443, 152, 54, 446, 38, 549,
- 58, 407, 38, 452, 453, 149, 149, 149, 149, 149,
- 269, 270, 59, 272, 152, 152, 149, 149, 154, 569,
- 38, 462, 463, 464, 465, 149, 149, 149, 469, 470,
- 149, 480, 481, 149, 483, 484, 149, 149, 22, 149,
- 489, 158, 149, 4, 153, 149, 305, 22, 17, 17,
- 499, 457, 152, 149, 313, 314, 149, 4, 149, 149,
- 501, 502, 149, 149, 149, 471, 149, 149, 152, 149,
- 476, 520, 521, 149, 53, 149, 482, 158, 149, 22,
- 529, 154, 488, 153, 0, 491, 492, 493, 149, 153,
- 496, 153, 149, 149, 53, 475, 537, 17, 539, 540,
- 153, 156, 18, 19, 20, 153, 22, 23, 24, 153,
- 156, 153, 153, 4, 30, 31, 149, 566, 377, 378,
- 379, 17, 17, 572, 573, 149, 385, 26, 27, 17,
- 71, 17, 129, 129, 129, 51, 395, 396, 54, 247,
- 544, 92, 58, 592, 593, 248, 552, 516, 597, 111,
- 105, 600, 17, 7, 8, 89, 10, 11, 12, 13,
- 14, 15, 16, 17, 544, 19, 20, 56, 22, 23,
- 24, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 235, 441, 496, 443, -1, 225, 446, 410, -1,
- -1, -1, -1, 452, 453, 49, -1, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 480, 481, -1, 483, 484, -1, -1, -1, -1,
- 489, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 499, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 0, 27, 175, 237, 163, 127, 4, 11, 0, 54,
+ 11, 21, 416, 417, 164, 586, 11, 17, 11, 29,
+ 309, 7, 8, 54, 54, 17, 28, 176, 120, 54,
+ 439, 34, 153, 19, 20, 606, 22, 23, 24, 52,
+ 154, 32, 33, 136, 137, 138, 260, 261, 141, 163,
+ 53, 77, 145, 146, 67, 54, 148, 54, 53, 153,
+ 53, 42, 43, 44, 45, 46, 47, 48, 54, 50,
+ 11, 154, 114, 115, 223, 101, 17, 153, 161, 105,
+ 3, 4, 5, 6, 488, 111, 154, 163, 238, 239,
+ 154, 117, 92, 198, 58, 163, 154, 19, 153, 163,
+ 22, 127, 24, 26, 27, 163, 151, 152, 213, 214,
+ 215, 216, 217, 139, 140, 34, 221, 143, 54, 18,
+ 151, 151, 154, 149, 533, 38, 151, 159, 159, 538,
+ 539, 161, 157, 7, 8, 0, 10, 11, 12, 13,
+ 14, 15, 16, 17, 358, 19, 20, 173, 22, 23,
+ 24, 54, 151, 163, 151, 159, 155, 279, 159, 20,
+ 162, 157, 23, 377, 162, 151, 153, 148, 149, 150,
+ 196, 197, 198, 199, 166, 49, 154, 54, 467, 54,
+ 153, 590, 591, 161, 593, 594, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 272, 113, 114, 275,
+ 276, 323, 278, 229, 42, 43, 44, 616, 617, 47,
+ 499, 46, 501, 48, 240, 151, 152, 136, 137, 138,
+ 325, 22, 141, 136, 137, 138, 145, 146, 141, 40,
+ 41, 21, 145, 146, 154, 311, 47, 22, 35, 159,
+ 37, 22, 53, 319, 320, 321, 22, 42, 151, 44,
+ 151, 154, 155, 279, 148, 149, 150, 491, 350, 351,
+ 352, 353, 354, 552, 290, 3, 4, 5, 6, 4,
+ 429, 363, 364, 365, 151, 4, 151, 382, 155, 154,
+ 155, 307, 156, 157, 0, 152, 160, 154, 162, 163,
+ 152, 396, 154, 398, 399, 400, 37, 323, 324, 325,
+ 83, 84, 18, 19, 20, 158, 22, 23, 24, 158,
+ 386, 387, 388, 155, 30, 31, 22, 151, 394, 4,
+ 152, 275, 276, 152, 278, 154, 154, 419, 420, 405,
+ 406, 161, 358, 4, 426, 51, 570, 152, 151, 55,
+ 574, 367, 9, 59, 9, 9, 7, 8, 56, 9,
+ 9, 9, 54, 429, 11, 161, 382, 311, 19, 20,
+ 152, 22, 23, 24, 151, 151, 320, 321, 22, 151,
+ 396, 397, 398, 399, 400, 451, 151, 453, 404, 151,
+ 456, 151, 151, 475, 476, 477, 478, 463, 464, 151,
+ 482, 483, 418, 151, 567, 154, 38, 502, 154, 154,
+ 505, 506, 507, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 4, 587, 154, 38, 154, 494, 495,
+ 154, 497, 498, 154, 516, 517, 151, 503, 151, 60,
+ 154, 157, 386, 387, 388, 154, 154, 154, 514, 154,
+ 394, 154, 468, 61, 62, 63, 64, 65, 66, 154,
+ 154, 405, 406, 154, 154, 154, 154, 154, 484, 38,
+ 152, 154, 22, 555, 490, 557, 558, 161, 17, 17,
+ 496, 547, 151, 154, 154, 4, 502, 154, 154, 505,
+ 506, 507, 154, 4, 154, 511, 154, 53, 151, 489,
+ 22, 4, 568, 569, 53, 161, 22, 451, 154, 453,
+ 152, 154, 456, 154, 154, 154, 154, 154, 584, 463,
+ 464, 154, 152, 7, 8, 152, 10, 11, 12, 13,
+ 14, 15, 16, 17, 154, 19, 20, 159, 22, 23,
+ 24, 157, 152, 152, 610, 611, 53, 17, 159, 615,
+ 494, 495, 618, 497, 498, 571, 152, 152, 624, 503,
+ 152, 627, 118, 119, 4, 49, 151, 147, 151, 22,
+ 514, 17, 562, 3, 4, 154, 17, 7, 8, 9,
+ 136, 137, 154, 139, 140, 17, 142, 143, 144, 19,
+ 20, 72, 22, 23, 24, 25, 26, 27, 17, 130,
+ 130, 130, 562, 547, 92, 534, 229, 252, 105, 111,
+ 40, 41, 240, 17, 89, 511, -1, 253, 56, 421,
+ -1, -1, -1, 53, 568, 569, 7, 8, 58, 10,
+ 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
+ 584, 22, 23, 24, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, -1, -1, -1, -1, -1, 610, 611, 49, -1,
+ -1, 615, 156, 157, 618, -1, 160, -1, 162, 163,
+ 624, -1, -1, 627, -1, -1, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, -1,
+ 130, -1, 132, 133, 134, -1, 136, 137, -1, 139,
+ 140, -1, 142, 143, 144, 3, 4, -1, -1, 7,
+ 8, 9, -1, -1, -1, -1, -1, -1, -1, -1,
+ 160, 19, 20, -1, 22, 23, 24, 25, 26, 27,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 520, 521, -1, -1, -1, -1, -1, -1, -1,
- 529, -1, 3, 4, -1, -1, 7, 8, 9, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 19, 20,
- -1, 22, 23, 24, 25, 26, 27, 151, -1, -1,
- 154, -1, -1, 157, -1, 159, 160, 566, -1, 40,
- 41, -1, -1, 572, 573, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 57, -1, -1, -1,
- -1, -1, -1, 592, 593, -1, -1, -1, 597, -1,
- -1, 600, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, -1,
+ -1, -1, 40, 41, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
+ 58, -1, -1, -1, -1, 156, 157, -1, -1, 160,
+ -1, 162, 163, -1, -1, -1, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, -1, -1, 7, 8, -1, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, 26, 27, -1, -1, -1, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, -1, 130, -1, 132, 133, 134, 49, -1, -1,
+ -1, -1, -1, -1, 3, 4, -1, -1, 7, 8,
+ 9, -1, -1, 151, -1, -1, -1, -1, -1, -1,
+ 19, 20, 160, 22, 23, 24, 25, 26, 27, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 0, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, -1, 58,
+ -1, 18, 19, 20, -1, 22, 23, 24, -1, -1,
+ -1, -1, -1, 30, 31, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, -1, 51, -1, -1, -1, 55, -1,
+ -1, -1, 59, -1, 156, 157, -1, -1, 160, -1,
+ 162, 163, -1, -1, -1, -1, -1, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, -1, 132, 133, 134, 7, 8, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 19, 20,
+ -1, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+ -1, 160, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 7, 8, 54, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
+ -1, -1, -1, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, -1, -1, 49, -1, -1, 7, 8, -1, 10,
+ 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
+ -1, 22, 23, 24, -1, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 39, 130,
+ -1, 132, 133, 134, -1, -1, -1, -1, 49, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, -1, 129, -1,
- 131, 132, 133, -1, -1, -1, -1, -1, 3, 4,
- -1, -1, 7, 8, 9, -1, -1, -1, -1, 150,
- -1, 152, -1, -1, 19, 20, 157, 22, 23, 24,
- 25, 26, 27, -1, -1, 7, 8, -1, -1, -1,
- -1, -1, -1, -1, -1, 40, 41, 19, 20, -1,
- 22, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, -1, 57, -1, -1, -1, -1, -1, 40, 41,
- -1, -1, -1, -1, -1, -1, -1, -1, 73, 74,
+ 151, -1, 7, 8, 155, -1, 157, -1, -1, 160,
+ -1, 162, -1, 164, 19, 20, 122, 22, 23, 24,
+ 25, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
+ 156, 157, -1, -1, 160, -1, 162, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, 89, -1, -1,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, -1, 129, -1, 131, 132, 133, -1,
- -1, -1, -1, 115, 116, 117, 118, 119, 120, 121,
- 122, 123, 124, 125, 126, 127, -1, 129, -1, 131,
- 132, 133, 157, -1, -1, -1, -1, -1, 3, 4,
- -1, -1, -1, -1, 9, -1, -1, -1, 150, -1,
- 152, -1, 154, -1, -1, 157, -1, 159, -1, 161,
+ 85, 86, 87, 88, 89, 90, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 156, 157, -1, -1, 160,
+ -1, 162, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, -1, 132, 133, 134,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
+ -1, -1, -1, -1, 9, -1, 151, -1, -1, -1,
+ -1, -1, 157, -1, -1, 160, -1, 162, -1, 164,
25, 26, 27, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 40, 41, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 7, 8, 57, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, 73, 74,
+ -1, -1, -1, 58, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
- 7, 8, 49, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, -1, 129, -1, 131, 132, 133, -1,
- 7, 8, 49, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
- 7, 8, 157, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
- -1, -1, 49, 7, 8, -1, 10, 11, 12, 13,
+ 85, 86, 87, 88, 89, 90, -1, -1, -1, -1,
+ -1, -1, 7, 8, -1, 10, 11, 12, 13, 14,
+ 15, 16, 17, -1, 19, 20, -1, 22, 23, 24,
+ -1, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 39, 130, -1, 132, 133, 134,
+ -1, -1, 7, 8, 49, 10, 11, 12, 13, 14,
+ 15, 16, 17, -1, 19, 20, -1, 22, 23, 24,
+ -1, -1, -1, 7, 8, 160, 10, 11, 12, 13,
14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
- 24, -1, 49, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, 160, -1, 39, -1, -1, -1, -1,
+ 24, -1, -1, -1, 49, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 39, -1, -1, -1, -1,
-1, -1, -1, 7, 8, 49, 10, 11, 12, 13,
14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
- 24, -1, -1, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, 160, 7, 8, -1, 10, 11, 12,
- 13, 14, 15, 16, 17, 49, 19, 20, -1, 22,
- 23, 24, -1, -1, 121, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 151, -1, 39, 154, -1, -1,
- 157, -1, 159, 160, -1, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 151, -1, -1,
- 154, -1, -1, 157, -1, 159, 7, 8, -1, 10,
- 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
- -1, 22, 23, 24, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 151, 39, -1,
- 154, -1, 156, 157, -1, 159, 7, 8, 49, 10,
- 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
- -1, 22, 23, 24, -1, -1, -1, -1, 151, -1,
- -1, 154, -1, -1, 157, -1, 159, 7, 8, -1,
- 10, 11, 12, 13, 14, 15, 16, 17, 49, 19,
- 20, -1, 22, 23, 24, 7, 8, -1, 10, 11,
- 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
- 22, 23, 24, -1, -1, -1, -1, 7, 8, 49,
- 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
- 20, -1, 22, 23, 24, -1, -1, 49, -1, -1,
+ 24, 7, 8, -1, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, 39, 22, 23, 24, -1,
+ -1, -1, -1, -1, -1, 49, -1, -1, -1, -1,
+ -1, 156, 157, -1, -1, 160, -1, 162, -1, -1,
+ -1, 7, 8, 49, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 151, -1, -1, 154, -1, -1, 157, -1, 159, 49,
- 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
+ -1, 156, 157, -1, 159, 160, -1, 162, -1, -1,
+ -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
+ -1, -1, 156, 157, -1, -1, 160, -1, 162, 7,
+ 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
+ -1, 19, 20, -1, 22, 23, 24, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 151, -1, -1, 154, -1, -1, 157, -1, 159, -1,
- -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 156, 157, -1, -1, 160, -1, 162, -1,
+ -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
+ 156, 157, -1, -1, 160, -1, 162, 7, 8, -1,
+ 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
+ 20, -1, 22, 23, 24, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
- -1, -1, 154, -1, -1, 157, -1, 159, -1, -1,
+ 156, 157, -1, -1, 160, -1, 162, 7, 8, 49,
+ 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
+ 20, -1, 22, 23, 24, 7, 8, -1, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, -1, -1, -1, -1, -1, -1, 49,
+ -1, -1, -1, -1, -1, -1, -1, -1, 156, 157,
+ -1, -1, 160, -1, 162, 7, 8, 49, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, 7, 8, -1, 10, 11, 12, 13,
+ 14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
+ 24, -1, -1, -1, -1, 19, -1, 49, 22, -1,
+ 24, -1, -1, -1, -1, -1, 156, 157, -1, -1,
+ 160, -1, 162, -1, -1, 49, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
- -1, 7, 8, -1, 10, 11, 12, 13, 14, 15,
- 16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
+ -1, -1, -1, -1, -1, -1, 156, 157, -1, -1,
+ 160, -1, 162, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 156, 157, -1, -1, 160, -1,
+ 162, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, 49, 7, 8, -1, 10, 11, 12,
- 13, 14, 15, 16, 17, -1, 19, 20, -1, 22,
- 23, 24, 7, 8, -1, 10, 11, 12, 13, 14,
- 15, 16, 17, -1, 19, 20, -1, 22, 23, 24,
- 36, -1, -1, -1, -1, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 55,
- 56, -1, -1, -1, 49, -1, -1, -1, -1, -1,
- -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 151, -1, -1, 154, -1,
- -1, 157, -1, 159, 110, 111, 112, -1, -1, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 151, -1,
- -1, 154, -1, -1, 157, -1, 159, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 151, -1, -1, 154,
- -1, -1, 157, -1, 159
+ -1, -1, -1, -1, 118, 119, -1, -1, -1, -1,
+ -1, -1, -1, -1, 156, 157, -1, -1, 160, 36,
+ 162, -1, 136, 137, -1, 139, 140, -1, 142, 143,
+ 144, -1, 156, 157, -1, -1, 160, -1, 162, 56,
+ 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 111, 112, 113, -1, -1, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 19, 20, 22, 23, 24, 30, 31, 51, 54,
- 58, 170, 172, 173, 174, 175, 206, 207, 208, 210,
- 209, 52, 66, 215, 148, 57, 148, 18, 148, 42,
- 43, 44, 45, 46, 47, 48, 50, 145, 146, 147,
- 176, 177, 178, 0, 208, 46, 48, 179, 225, 42,
- 43, 44, 47, 180, 222, 224, 231, 148, 148, 154,
- 216, 22, 214, 7, 8, 10, 11, 12, 13, 14,
- 15, 16, 17, 49, 151, 154, 157, 159, 170, 173,
- 193, 194, 228, 178, 178, 35, 37, 204, 178, 178,
- 21, 232, 233, 29, 160, 223, 232, 22, 22, 22,
- 217, 152, 4, 4, 4, 159, 10, 160, 194, 199,
- 150, 152, 204, 204, 42, 44, 181, 32, 33, 203,
- 60, 61, 62, 63, 64, 65, 182, 220, 220, 172,
- 236, 149, 156, 39, 194, 195, 197, 198, 155, 155,
- 160, 199, 149, 160, 198, 203, 203, 10, 121, 194,
- 196, 205, 11, 12, 13, 14, 15, 16, 168, 169,
- 194, 200, 4, 196, 28, 159, 221, 36, 55, 56,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 110, 111, 112, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 163, 164, 165, 234, 240,
- 241, 242, 243, 22, 184, 149, 153, 194, 194, 158,
- 160, 194, 153, 200, 194, 152, 228, 26, 27, 3,
- 4, 5, 6, 9, 25, 40, 41, 88, 89, 115,
- 129, 131, 132, 133, 154, 157, 159, 161, 163, 164,
- 165, 201, 228, 211, 173, 55, 10, 194, 230, 11,
- 17, 11, 168, 182, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 166, 26, 27, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 167, 194, 194, 230, 194, 194, 237, 230, 230,
- 230, 230, 230, 194, 194, 230, 182, 113, 114, 117,
- 118, 134, 135, 137, 138, 140, 141, 142, 183, 39,
- 195, 186, 156, 158, 158, 186, 212, 213, 205, 166,
- 167, 152, 152, 152, 152, 152, 156, 200, 202, 159,
- 202, 160, 202, 22, 152, 152, 152, 149, 191, 152,
- 3, 4, 9, 25, 26, 27, 40, 41, 57, 157,
- 201, 227, 228, 229, 229, 229, 229, 196, 194, 194,
- 149, 188, 149, 188, 229, 154, 149, 149, 149, 149,
- 149, 149, 229, 229, 38, 196, 194, 230, 134, 135,
- 136, 139, 143, 144, 185, 191, 191, 38, 152, 152,
- 200, 200, 200, 200, 200, 149, 156, 160, 194, 202,
- 158, 160, 200, 200, 200, 34, 53, 189, 192, 39,
- 194, 218, 219, 59, 226, 202, 149, 149, 229, 229,
- 229, 11, 53, 11, 239, 229, 154, 230, 194, 230,
- 230, 230, 149, 149, 194, 229, 229, 149, 194, 200,
- 200, 239, 149, 149, 149, 149, 200, 158, 160, 149,
- 149, 38, 22, 4, 191, 184, 149, 153, 22, 158,
- 17, 17, 152, 149, 149, 229, 4, 229, 149, 149,
- 229, 149, 149, 149, 229, 229, 152, 149, 188, 194,
- 153, 149, 149, 153, 200, 200, 200, 200, 158, 200,
- 200, 194, 170, 171, 39, 194, 186, 149, 229, 229,
- 17, 194, 238, 229, 229, 188, 188, 230, 229, 149,
- 230, 230, 230, 238, 229, 200, 200, 149, 153, 149,
- 149, 153, 153, 153, 184, 189, 190, 22, 149, 154,
- 229, 229, 149, 153, 156, 229, 153, 188, 153, 153,
- 200, 200, 200, 171, 53, 187, 17, 156, 168, 235,
- 184, 184, 17, 194, 186, 156, 186, 153, 153, 153,
- 4, 229, 227, 156, 168, 229, 229, 38, 149, 227,
- 184, 184, 17, 17, 149, 229, 229, 17, 71, 229,
- 17, 229
+ 0, 19, 20, 22, 23, 24, 30, 31, 51, 55,
+ 59, 173, 176, 177, 178, 179, 211, 212, 213, 215,
+ 214, 52, 67, 220, 153, 58, 153, 18, 153, 42,
+ 43, 44, 45, 46, 47, 48, 50, 148, 149, 150,
+ 180, 181, 182, 0, 213, 46, 48, 183, 230, 42,
+ 43, 44, 47, 184, 227, 229, 237, 153, 153, 157,
+ 221, 22, 219, 7, 8, 10, 11, 12, 13, 14,
+ 15, 16, 17, 49, 156, 157, 160, 162, 173, 177,
+ 198, 199, 233, 182, 182, 35, 37, 209, 182, 182,
+ 21, 238, 239, 29, 163, 228, 238, 22, 22, 22,
+ 222, 151, 4, 4, 4, 162, 10, 163, 199, 204,
+ 54, 151, 175, 209, 209, 42, 44, 185, 32, 33,
+ 208, 61, 62, 63, 64, 65, 66, 186, 225, 225,
+ 176, 242, 154, 159, 39, 199, 200, 202, 203, 158,
+ 158, 163, 204, 154, 163, 151, 203, 155, 208, 208,
+ 10, 122, 199, 201, 210, 11, 12, 13, 14, 15,
+ 16, 171, 172, 199, 205, 4, 201, 28, 162, 226,
+ 36, 56, 57, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 111, 112, 113, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 166,
+ 167, 168, 240, 246, 247, 248, 249, 22, 188, 154,
+ 152, 199, 199, 161, 163, 199, 4, 152, 205, 199,
+ 151, 233, 26, 27, 3, 4, 5, 6, 9, 25,
+ 40, 41, 89, 90, 116, 130, 132, 133, 134, 157,
+ 160, 162, 164, 166, 167, 168, 206, 233, 175, 177,
+ 56, 10, 199, 235, 236, 11, 17, 11, 171, 186,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 169, 26, 27, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 170, 199, 199,
+ 235, 199, 199, 243, 235, 235, 235, 235, 235, 199,
+ 199, 199, 235, 186, 114, 115, 53, 118, 119, 136,
+ 137, 139, 140, 142, 143, 144, 187, 39, 200, 190,
+ 159, 161, 161, 152, 190, 175, 175, 210, 169, 170,
+ 151, 151, 151, 151, 151, 159, 205, 207, 162, 207,
+ 163, 207, 22, 151, 151, 151, 216, 151, 3, 4,
+ 9, 25, 26, 27, 40, 41, 58, 160, 206, 232,
+ 233, 234, 154, 234, 234, 234, 201, 199, 199, 154,
+ 193, 154, 193, 234, 157, 154, 154, 154, 154, 154,
+ 154, 233, 234, 234, 38, 201, 199, 235, 4, 136,
+ 137, 138, 141, 145, 146, 189, 217, 218, 38, 151,
+ 151, 205, 205, 205, 205, 205, 154, 159, 163, 199,
+ 207, 161, 163, 205, 205, 205, 154, 196, 39, 199,
+ 223, 224, 60, 231, 207, 235, 154, 154, 234, 234,
+ 234, 11, 53, 11, 245, 234, 157, 235, 199, 235,
+ 235, 235, 154, 154, 154, 199, 234, 234, 154, 196,
+ 196, 199, 205, 205, 245, 154, 154, 154, 154, 205,
+ 161, 163, 154, 154, 38, 34, 53, 194, 197, 188,
+ 154, 152, 22, 161, 17, 17, 151, 154, 154, 234,
+ 4, 234, 154, 154, 234, 154, 154, 154, 4, 234,
+ 234, 151, 154, 193, 199, 152, 154, 154, 152, 205,
+ 205, 205, 205, 161, 205, 205, 199, 22, 4, 196,
+ 173, 174, 39, 199, 190, 154, 234, 234, 17, 199,
+ 244, 234, 234, 193, 193, 235, 234, 154, 235, 235,
+ 235, 244, 234, 205, 205, 154, 152, 154, 154, 152,
+ 152, 152, 188, 194, 195, 22, 154, 157, 188, 188,
+ 152, 154, 159, 234, 152, 193, 152, 152, 205, 205,
+ 205, 174, 53, 192, 17, 159, 171, 241, 118, 119,
+ 234, 234, 190, 17, 199, 159, 190, 152, 152, 152,
+ 4, 147, 191, 234, 232, 159, 171, 188, 188, 38,
+ 188, 188, 22, 154, 232, 17, 234, 234, 17, 154,
+ 234, 188, 188, 234, 17, 72, 234, 17, 234
};
#define yyerrok (yyerrstatus = 0)
switch (yyn)
{
case 29:
-#line 1134 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1121 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
break;
case 30:
-#line 1134 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1121 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
break;
case 31:
-#line 1135 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
break;
case 32:
-#line 1135 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
break;
case 33:
-#line 1136 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1123 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
break;
case 34:
-#line 1136 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1123 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
break;
case 35:
-#line 1137 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
break;
case 36:
-#line 1137 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
break;
case 37:
-#line 1138 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
break;
case 38:
-#line 1138 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
break;
case 39:
-#line 1142 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1129 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
break;
case 40:
-#line 1142 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1129 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
break;
case 41:
-#line 1143 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1130 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
break;
case 42:
-#line 1143 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1130 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
break;
case 43:
-#line 1144 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1131 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
break;
case 44:
-#line 1144 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1131 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
break;
case 45:
-#line 1145 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1132 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
break;
case 46:
-#line 1145 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1132 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
break;
case 47:
-#line 1146 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1133 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
break;
case 48:
-#line 1146 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1133 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
break;
case 49:
-#line 1147 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1134 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
break;
case 50:
-#line 1147 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1134 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
break;
case 51:
-#line 1148 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1135 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
break;
case 52:
-#line 1148 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1135 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
break;
case 53:
-#line 1149 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1136 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
break;
case 54:
-#line 1150 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1137 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
break;
case 65:
-#line 1159 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1146 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 66:
-#line 1163 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1148 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.UIntVal)=(yyvsp[(3) - (4)].UInt64Val); ;}
+ break;
+
+ case 67:
+#line 1149 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.UIntVal)=0; ;}
+ break;
+
+ case 68:
+#line 1153 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
CHECK_FOR_ERROR
;}
break;
- case 67:
-#line 1167 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 69:
+#line 1157 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
;}
break;
- case 71:
-#line 1175 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 73:
+#line 1165 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
;}
break;
- case 72:
-#line 1180 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 74:
+#line 1170 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
CHECK_FOR_ERROR
;}
break;
- case 73:
-#line 1186 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 75:
+#line 1176 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
- case 74:
-#line 1187 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 76:
+#line 1177 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
- case 75:
-#line 1188 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 77:
+#line 1178 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
- case 76:
-#line 1189 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 78:
+#line 1179 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
break;
- case 77:
-#line 1190 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 79:
+#line 1180 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
- case 78:
-#line 1194 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 80:
+#line 1184 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
- case 79:
-#line 1195 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 81:
+#line 1185 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
- case 80:
-#line 1196 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 82:
+#line 1186 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
- case 81:
-#line 1200 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 83:
+#line 1190 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
- case 82:
-#line 1201 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 84:
+#line 1191 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
- case 83:
-#line 1202 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 85:
+#line 1192 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::HiddenVisibility; ;}
break;
- case 84:
-#line 1203 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 86:
+#line 1193 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;}
break;
- case 85:
-#line 1207 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 87:
+#line 1197 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
- case 86:
-#line 1208 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 88:
+#line 1198 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
- case 87:
-#line 1209 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 89:
+#line 1199 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
- case 88:
-#line 1213 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 90:
+#line 1203 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
- case 89:
-#line 1214 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 91:
+#line 1204 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
- case 90:
-#line 1215 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 92:
+#line 1205 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
- case 91:
-#line 1216 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 93:
+#line 1206 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
- case 92:
-#line 1217 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 94:
+#line 1207 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
- case 93:
-#line 1221 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 95:
+#line 1211 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
- case 94:
-#line 1222 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 96:
+#line 1212 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
- case 95:
-#line 1223 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 97:
+#line 1213 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
- case 96:
-#line 1226 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 98:
+#line 1216 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
- case 97:
-#line 1227 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 99:
+#line 1217 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
- case 98:
-#line 1228 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 100:
+#line 1218 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Fast; ;}
break;
- case 99:
-#line 1229 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 101:
+#line 1219 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Cold; ;}
break;
- case 100:
-#line 1230 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 102:
+#line 1220 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
break;
- case 101:
-#line 1231 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 103:
+#line 1221 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
break;
- case 102:
-#line 1232 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 104:
+#line 1222 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
GEN_ERROR("Calling conv too large");
;}
break;
- case 103:
-#line 1239 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 105:
+#line 1229 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
- case 104:
-#line 1240 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 106:
+#line 1230 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
- case 105:
-#line 1241 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 107:
+#line 1231 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
- case 106:
-#line 1242 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 108:
+#line 1232 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
- case 107:
-#line 1243 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 109:
+#line 1233 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::InReg; ;}
break;
- case 108:
-#line 1244 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 110:
+#line 1234 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::StructRet; ;}
break;
- case 109:
-#line 1245 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 111:
+#line 1235 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoAlias; ;}
break;
- case 110:
-#line 1246 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 112:
+#line 1236 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ByVal; ;}
break;
- case 111:
-#line 1247 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 113:
+#line 1237 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::Nest; ;}
break;
- case 112:
-#line 1250 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 114:
+#line 1238 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) =
+ ParamAttr::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val)); ;}
+ break;
+
+ case 115:
+#line 1242 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::None; ;}
break;
- case 113:
-#line 1251 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 116:
+#line 1243 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
;}
break;
- case 114:
-#line 1256 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 117:
+#line 1248 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoReturn; ;}
break;
- case 115:
-#line 1257 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 118:
+#line 1249 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoUnwind; ;}
break;
- case 116:
-#line 1258 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 119:
+#line 1250 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
- case 117:
-#line 1259 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 120:
+#line 1251 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
- case 118:
-#line 1260 "/llvm/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = ParamAttr::Pure; ;}
+ case 121:
+#line 1252 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = ParamAttr::ReadNone; ;}
break;
- case 119:
-#line 1261 "/llvm/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = ParamAttr::Const; ;}
+ case 122:
+#line 1253 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = ParamAttr::ReadOnly; ;}
break;
- case 120:
-#line 1264 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 123:
+#line 1256 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::None; ;}
break;
- case 121:
-#line 1265 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 124:
+#line 1257 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
;}
break;
- case 122:
-#line 1272 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 125:
+#line 1262 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.StrVal) = 0; ;}
+ break;
+
+ case 126:
+#line 1263 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal);
+ ;}
+ break;
+
+ case 127:
+#line 1270 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
- case 123:
-#line 1273 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 128:
+#line 1271 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
;}
break;
- case 124:
-#line 1279 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 129:
+#line 1277 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
- case 125:
-#line 1280 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 130:
+#line 1278 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
;}
break;
- case 126:
-#line 1288 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 131:
+#line 1287 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
for (unsigned i = 0, e = (yyvsp[(2) - (2)].StrVal)->length(); i != e; ++i)
if ((*(yyvsp[(2) - (2)].StrVal))[i] == '"' || (*(yyvsp[(2) - (2)].StrVal))[i] == '\\')
;}
break;
- case 127:
-#line 1296 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 132:
+#line 1295 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
- case 128:
-#line 1297 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 133:
+#line 1296 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;}
break;
- case 129:
-#line 1302 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 134:
+#line 1301 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{;}
break;
- case 130:
-#line 1303 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 135:
+#line 1302 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{;}
break;
- case 131:
-#line 1304 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 136:
+#line 1303 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV->setSection(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
;}
break;
- case 132:
-#line 1309 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 137:
+#line 1308 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Alignment must be a power of two");
;}
break;
- case 140:
-#line 1325 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 145:
+#line 1324 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
CHECK_FOR_ERROR
;}
break;
- case 141:
-#line 1329 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 146:
+#line 1328 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
CHECK_FOR_ERROR
;}
break;
- case 142:
-#line 1333 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 147:
+#line 1332 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Pointer type?
- if (*(yyvsp[(1) - (2)].TypeVal) == Type::LabelTy)
+ if (*(yyvsp[(1) - (3)].TypeVal) == Type::LabelTy)
GEN_ERROR("Cannot form a pointer to a basic block");
- (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[(1) - (2)].TypeVal))));
- delete (yyvsp[(1) - (2)].TypeVal);
+ (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[(1) - (3)].TypeVal), (yyvsp[(2) - (3)].UIntVal))));
+ delete (yyvsp[(1) - (3)].TypeVal);
CHECK_FOR_ERROR
;}
break;
- case 143:
-#line 1340 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 148:
+#line 1339 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Named types are also simple types...
const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal));
CHECK_FOR_ERROR
;}
break;
- case 144:
-#line 1345 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 149:
+#line 1344 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Type UpReference
if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
;}
break;
- case 145:
-#line 1353 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 150:
+#line 1352 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // Allow but ignore attributes on function types; this permits auto-upgrade.
+ // FIXME: remove in LLVM 3.0.
+ const Type* RetTy = *(yyvsp[(1) - (5)].TypeVal);
+ if (!(RetTy->isFirstClassType() || RetTy == Type::VoidTy ||
+ isa<OpaqueType>(RetTy)))
+ GEN_ERROR("LLVM Functions cannot return aggregates");
+
std::vector<const Type*> Params;
- ParamAttrsVector Attrs;
- if ((yyvsp[(5) - (5)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = 0; X.attrs = (yyvsp[(5) - (5)].ParamAttrs);
- Attrs.push_back(X);
- }
- unsigned index = 1;
TypeWithAttrsList::iterator I = (yyvsp[(3) - (5)].TypeWithAttrsList)->begin(), E = (yyvsp[(3) - (5)].TypeWithAttrsList)->end();
- for (; I != E; ++I, ++index) {
+ for (; I != E; ++I ) {
const Type *Ty = I->Ty->get();
Params.push_back(Ty);
- if (Ty != Type::VoidTy)
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = index; X.attrs = I->Attrs;
- Attrs.push_back(X);
- }
}
+
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- ParamAttrsList *ActualAttrs = 0;
- if (!Attrs.empty())
- ActualAttrs = ParamAttrsList::get(Attrs);
- FunctionType *FT = FunctionType::get(*(yyvsp[(1) - (5)].TypeVal), Params, isVarArg, ActualAttrs);
+ for (unsigned i = 0; i != Params.size(); ++i)
+ if (!(Params[i]->isFirstClassType() || isa<OpaqueType>(Params[i])))
+ GEN_ERROR("Function arguments must be value types!");
+
+ CHECK_FOR_ERROR
+
+ FunctionType *FT = FunctionType::get(RetTy, Params, isVarArg);
delete (yyvsp[(3) - (5)].TypeWithAttrsList); // Delete the argument list
delete (yyvsp[(1) - (5)].TypeVal); // Delete the return type handle
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
;}
break;
- case 146:
-#line 1383 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 151:
+#line 1382 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // Allow but ignore attributes on function types; this permits auto-upgrade.
+ // FIXME: remove in LLVM 3.0.
std::vector<const Type*> Params;
- ParamAttrsVector Attrs;
- if ((yyvsp[(5) - (5)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = 0; X.attrs = (yyvsp[(5) - (5)].ParamAttrs);
- Attrs.push_back(X);
- }
TypeWithAttrsList::iterator I = (yyvsp[(3) - (5)].TypeWithAttrsList)->begin(), E = (yyvsp[(3) - (5)].TypeWithAttrsList)->end();
- unsigned index = 1;
- for ( ; I != E; ++I, ++index) {
+ for ( ; I != E; ++I ) {
const Type* Ty = I->Ty->get();
Params.push_back(Ty);
- if (Ty != Type::VoidTy)
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = index; X.attrs = I->Attrs;
- Attrs.push_back(X);
- }
}
+
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- ParamAttrsList *ActualAttrs = 0;
- if (!Attrs.empty())
- ActualAttrs = ParamAttrsList::get(Attrs);
+ for (unsigned i = 0; i != Params.size(); ++i)
+ if (!(Params[i]->isFirstClassType() || isa<OpaqueType>(Params[i])))
+ GEN_ERROR("Function arguments must be value types!");
+
+ CHECK_FOR_ERROR
- FunctionType *FT = FunctionType::get((yyvsp[(1) - (5)].PrimType), Params, isVarArg, ActualAttrs);
+ FunctionType *FT = FunctionType::get((yyvsp[(1) - (5)].PrimType), Params, isVarArg);
delete (yyvsp[(3) - (5)].TypeWithAttrsList); // Delete the argument list
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
CHECK_FOR_ERROR
;}
break;
- case 147:
-#line 1414 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 152:
+#line 1407 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Sized array type?
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
delete (yyvsp[(4) - (5)].TypeVal);
;}
break;
- case 148:
-#line 1419 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 153:
+#line 1412 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Vector type?
const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get();
if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val))
;}
break;
- case 149:
-#line 1429 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 154:
+#line 1422 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
;}
break;
- case 150:
-#line 1439 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 155:
+#line 1432 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
CHECK_FOR_ERROR
;}
break;
- case 151:
-#line 1443 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 156:
+#line 1436 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
;}
break;
- case 152:
-#line 1453 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 157:
+#line 1446 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
CHECK_FOR_ERROR
;}
break;
- case 153:
-#line 1460 "/llvm/lib/AsmParser/llvmAsmParser.y"
- {
+ case 158:
+#line 1453 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ // Allow but ignore attributes on function types; this permits auto-upgrade.
+ // FIXME: remove in LLVM 3.0.
(yyval.TypeWithAttrs).Ty = (yyvsp[(1) - (2)].TypeVal);
- (yyval.TypeWithAttrs).Attrs = (yyvsp[(2) - (2)].ParamAttrs);
+ (yyval.TypeWithAttrs).Attrs = ParamAttr::None;
;}
break;
- case 154:
-#line 1467 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 159:
+#line 1462 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
- if (!(*(yyvsp[(1) - (1)].TypeVal))->isFirstClassType())
+ if (!(*(yyvsp[(1) - (1)].TypeVal))->isFirstClassType() && !isa<StructType>((yyvsp[(1) - (1)].TypeVal)->get()))
GEN_ERROR("LLVM functions cannot return aggregate types");
(yyval.TypeVal) = (yyvsp[(1) - (1)].TypeVal);
;}
break;
- case 155:
-#line 1474 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 160:
+#line 1469 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
;}
break;
- case 156:
-#line 1479 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 161:
+#line 1474 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
(yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
;}
break;
- case 157:
-#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 162:
+#line 1479 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
CHECK_FOR_ERROR
;}
break;
- case 159:
-#line 1492 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 164:
+#line 1487 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
;}
break;
- case 160:
-#line 1499 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 165:
+#line 1494 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList;
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
;}
break;
- case 161:
-#line 1506 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 166:
+#line 1501 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
CHECK_FOR_ERROR
;}
break;
- case 162:
-#line 1514 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 167:
+#line 1509 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList) = new std::list<PATypeHolder>();
(yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal));
;}
break;
- case 163:
-#line 1520 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 168:
+#line 1515 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal));
delete (yyvsp[(3) - (3)].TypeVal);
;}
break;
- case 164:
-#line 1532 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 169:
+#line 1527 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
;}
break;
- case 165:
-#line 1560 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 170:
+#line 1555 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
;}
break;
- case 166:
-#line 1576 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 171:
+#line 1571 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
;}
break;
- case 167:
-#line 1603 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 172:
+#line 1598 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
;}
break;
- case 168:
-#line 1631 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 173:
+#line 1626 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
if (STy == 0)
;}
break;
- case 169:
-#line 1657 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 174:
+#line 1652 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
;}
break;
- case 170:
-#line 1677 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 175:
+#line 1672 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
if (STy == 0)
;}
break;
- case 171:
-#line 1703 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 176:
+#line 1698 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
;}
break;
- case 172:
-#line 1723 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 177:
+#line 1718 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
;}
break;
- case 173:
-#line 1735 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 178:
+#line 1730 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
;}
break;
- case 174:
-#line 1742 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 179:
+#line 1737 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
const PointerType *Ty = dyn_cast<PointerType>((yyvsp[(1) - (2)].TypeVal)->get());
if (Ty == 0)
- GEN_ERROR("Global const reference must be a pointer type");
+ GEN_ERROR("Global const reference must be a pointer type " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
// ConstExprs can exist in the body of a function, thus creating
// GlobalValues whenever they refer to a variable. Because we are in
;}
break;
- case 175:
-#line 1808 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 180:
+#line 1803 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
;}
break;
- case 176:
-#line 1818 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 181:
+#line 1813 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
;}
break;
- case 177:
-#line 1828 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 182:
+#line 1823 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
;}
break;
- case 178:
-#line 1834 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 183:
+#line 1829 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
;}
break;
- case 179:
-#line 1844 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 184:
+#line 1839 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
;}
break;
- case 180:
-#line 1850 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 185:
+#line 1845 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
;}
break;
- case 181:
-#line 1860 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 186:
+#line 1855 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getTrue();
;}
break;
- case 182:
-#line 1865 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 187:
+#line 1860 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getFalse();
;}
break;
- case 183:
-#line 1870 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 188:
+#line 1865 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Floating point constants
if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), *(yyvsp[(2) - (2)].FPVal)))
GEN_ERROR("Floating point constant invalid for type");
;}
break;
- case 184:
-#line 1883 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 189:
+#line 1878 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
;}
break;
- case 185:
-#line 1895 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 190:
+#line 1890 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
GEN_ERROR("GetElementPtr requires a pointer operand");
;}
break;
- case 186:
-#line 1917 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 191:
+#line 1912 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
GEN_ERROR("Select condition must be of boolean type");
;}
break;
- case 187:
-#line 1925 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 192:
+#line 1920 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Binary operator types must match");
;}
break;
- case 188:
-#line 1931 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 193:
+#line 1926 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Logical operator types must match");
;}
break;
- case 189:
-#line 1942 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 194:
+#line 1937 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("icmp operand types must match");
;}
break;
- case 190:
-#line 1947 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 195:
+#line 1942 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("fcmp operand types must match");
;}
break;
- case 191:
-#line 1952 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 196:
+#line 1947 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
GEN_ERROR("Invalid extractelement operands");
;}
break;
- case 192:
-#line 1958 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 197:
+#line 1953 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid insertelement operands");
;}
break;
- case 193:
-#line 1964 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 198:
+#line 1959 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid shufflevector operands");
;}
break;
- case 194:
-#line 1973 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 199:
+#line 1968 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
CHECK_FOR_ERROR
;}
break;
- case 195:
-#line 1977 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 200:
+#line 1972 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector) = new std::vector<Constant*>();
(yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
;}
break;
- case 196:
-#line 1985 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 201:
+#line 1980 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
- case 197:
-#line 1985 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 202:
+#line 1980 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
- case 198:
-#line 1988 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 203:
+#line 1983 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
- case 199:
-#line 1988 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 204:
+#line 1983 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
- case 200:
-#line 1991 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 205:
+#line 1986 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get();
Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal));
;}
break;
- case 201:
-#line 2003 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 206:
+#line 1998 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
Constant *Val = (yyvsp[(3) - (6)].ConstVal);
const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get();
;}
break;
- case 202:
-#line 2024 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 207:
+#line 2019 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
;}
break;
- case 203:
-#line 2029 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 208:
+#line 2024 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
;}
break;
- case 206:
-#line 2042 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 211:
+#line 2037 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = false; ;}
break;
- case 207:
-#line 2042 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 212:
+#line 2037 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.FunctionDone();
CHECK_FOR_ERROR
;}
break;
- case 208:
-#line 2046 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 213:
+#line 2041 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;}
break;
- case 209:
-#line 2046 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 214:
+#line 2041 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 210:
-#line 2049 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 215:
+#line 2044 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 211:
-#line 2052 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 216:
+#line 2047 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
;}
break;
- case 212:
-#line 2076 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 217:
+#line 2071 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
;}
break;
- case 213:
-#line 2087 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 218:
+#line 2083 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
/* "Externally Visible" Linkage */
- if ((yyvsp[(5) - (5)].ConstVal) == 0)
+ if ((yyvsp[(5) - (6)].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
- CurGV = ParseGlobalVariable((yyvsp[(1) - (5)].StrVal), GlobalValue::ExternalLinkage,
- (yyvsp[(2) - (5)].Visibility), (yyvsp[(4) - (5)].BoolVal), (yyvsp[(5) - (5)].ConstVal)->getType(), (yyvsp[(5) - (5)].ConstVal), (yyvsp[(3) - (5)].BoolVal));
+ CurGV = ParseGlobalVariable((yyvsp[(1) - (6)].StrVal), GlobalValue::ExternalLinkage,
+ (yyvsp[(2) - (6)].Visibility), (yyvsp[(4) - (6)].BoolVal), (yyvsp[(5) - (6)].ConstVal)->getType(), (yyvsp[(5) - (6)].ConstVal), (yyvsp[(3) - (6)].BoolVal), (yyvsp[(6) - (6)].UIntVal));
CHECK_FOR_ERROR
;}
break;
- case 214:
-#line 2094 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 219:
+#line 2090 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
- case 215:
-#line 2098 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 220:
+#line 2094 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
- if ((yyvsp[(6) - (6)].ConstVal) == 0)
+ if ((yyvsp[(6) - (7)].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
- CurGV = ParseGlobalVariable((yyvsp[(1) - (6)].StrVal), (yyvsp[(2) - (6)].Linkage), (yyvsp[(3) - (6)].Visibility), (yyvsp[(5) - (6)].BoolVal), (yyvsp[(6) - (6)].ConstVal)->getType(), (yyvsp[(6) - (6)].ConstVal), (yyvsp[(4) - (6)].BoolVal));
+ CurGV = ParseGlobalVariable((yyvsp[(1) - (7)].StrVal), (yyvsp[(2) - (7)].Linkage), (yyvsp[(3) - (7)].Visibility), (yyvsp[(5) - (7)].BoolVal), (yyvsp[(6) - (7)].ConstVal)->getType(), (yyvsp[(6) - (7)].ConstVal), (yyvsp[(4) - (7)].BoolVal), (yyvsp[(7) - (7)].UIntVal));
CHECK_FOR_ERROR
;}
break;
- case 216:
-#line 2103 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 221:
+#line 2099 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
- case 217:
-#line 2107 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 222:
+#line 2103 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
- GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (6)].TypeVal))->getDescription());
- CurGV = ParseGlobalVariable((yyvsp[(1) - (6)].StrVal), (yyvsp[(2) - (6)].Linkage), (yyvsp[(3) - (6)].Visibility), (yyvsp[(5) - (6)].BoolVal), *(yyvsp[(6) - (6)].TypeVal), 0, (yyvsp[(4) - (6)].BoolVal));
+ GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription());
+ CurGV = ParseGlobalVariable((yyvsp[(1) - (7)].StrVal), (yyvsp[(2) - (7)].Linkage), (yyvsp[(3) - (7)].Visibility), (yyvsp[(5) - (7)].BoolVal), *(yyvsp[(6) - (7)].TypeVal), 0, (yyvsp[(4) - (7)].BoolVal), (yyvsp[(7) - (7)].UIntVal));
CHECK_FOR_ERROR
- delete (yyvsp[(6) - (6)].TypeVal);
+ delete (yyvsp[(6) - (7)].TypeVal);
;}
break;
- case 218:
-#line 2113 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 223:
+#line 2109 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
CHECK_FOR_ERROR
;}
break;
- case 219:
-#line 2117 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 224:
+#line 2113 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string Name;
if ((yyvsp[(1) - (5)].StrVal)) {
;}
break;
- case 220:
-#line 2157 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 225:
+#line 2153 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 221:
-#line 2160 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 226:
+#line 2156 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 222:
-#line 2166 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 227:
+#line 2162 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
if (AsmSoFar.empty())
;}
break;
- case 223:
-#line 2176 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 228:
+#line 2172 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
;}
break;
- case 224:
-#line 2180 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 229:
+#line 2176 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
;}
break;
- case 226:
-#line 2187 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 231:
+#line 2183 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
;}
break;
- case 227:
-#line 2192 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 232:
+#line 2188 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
;}
break;
- case 228:
-#line 2197 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 233:
+#line 2193 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 229:
-#line 2206 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 234:
+#line 2202 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
;}
break;
- case 230:
-#line 2216 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 235:
+#line 2212 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
;}
break;
- case 231:
-#line 2227 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 236:
+#line 2223 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
CHECK_FOR_ERROR
;}
break;
- case 232:
-#line 2231 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 237:
+#line 2227 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
struct ArgListEntry E;
;}
break;
- case 233:
-#line 2240 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 238:
+#line 2236 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = new ArgListType;
struct ArgListEntry E;
;}
break;
- case 234:
-#line 2249 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 239:
+#line 2245 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = 0;
CHECK_FOR_ERROR
;}
break;
- case 235:
-#line 2255 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 240:
+#line 2251 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
- std::string FunctionName(*(yyvsp[(3) - (9)].StrVal));
- delete (yyvsp[(3) - (9)].StrVal); // Free strdup'd memory!
+ std::string FunctionName(*(yyvsp[(3) - (10)].StrVal));
+ delete (yyvsp[(3) - (10)].StrVal); // Free strdup'd memory!
// Check the function result for abstractness if this is a define. We should
// have no abstract types at this point
- if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (9)].TypeVal)))
- GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (9)].TypeVal)->get()->getDescription());
+ if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (10)].TypeVal)))
+ GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (10)].TypeVal)->get()->getDescription());
std::vector<const Type*> ParamTypeList;
ParamAttrsVector Attrs;
- if ((yyvsp[(7) - (9)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(7) - (9)].ParamAttrs);
+ if ((yyvsp[(7) - (10)].ParamAttrs) != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = 0;
+ PAWI.attrs = (yyvsp[(7) - (10)].ParamAttrs);
Attrs.push_back(PAWI);
}
- if ((yyvsp[(5) - (9)].ArgList)) { // If there are arguments...
+ if ((yyvsp[(5) - (10)].ArgList)) { // If there are arguments...
unsigned index = 1;
- for (ArgListType::iterator I = (yyvsp[(5) - (9)].ArgList)->begin(); I != (yyvsp[(5) - (9)].ArgList)->end(); ++I, ++index) {
+ for (ArgListType::iterator I = (yyvsp[(5) - (10)].ArgList)->begin(); I != (yyvsp[(5) - (10)].ArgList)->end(); ++I, ++index) {
const Type* Ty = I->Ty->get();
if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
ParamTypeList.push_back(Ty);
if (Ty != Type::VoidTy)
if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = index; PAWI.attrs = I->Attrs;
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = I->Attrs;
Attrs.push_back(PAWI);
}
}
bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
if (isVarArg) ParamTypeList.pop_back();
- ParamAttrsList *PAL = 0;
+ const ParamAttrsList *PAL = 0;
if (!Attrs.empty())
PAL = ParamAttrsList::get(Attrs);
- FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (9)].TypeVal), ParamTypeList, isVarArg, PAL);
- const PointerType *PFT = PointerType::get(FT);
- delete (yyvsp[(2) - (9)].TypeVal);
+ FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (10)].TypeVal), ParamTypeList, isVarArg);
+ const PointerType *PFT = PointerType::getUnqual(FT);
+ delete (yyvsp[(2) - (10)].TypeVal);
ValID ID;
if (!FunctionName.empty()) {
// Move the function to the end of the list, from whereever it was
// previously inserted.
Fn = cast<Function>(FWRef);
+ assert(!Fn->getParamAttrs() && "Forward reference has parameter attributes!");
CurModule.CurrentModule->getFunctionList().remove(Fn);
CurModule.CurrentModule->getFunctionList().push_back(Fn);
} else if (!FunctionName.empty() && // Merge with an earlier prototype?
(Fn = CurModule.CurrentModule->getFunction(FunctionName))) {
- if (Fn->getFunctionType() != FT) {
+ if (Fn->getFunctionType() != FT ) {
// The existing function doesn't have the same type. This is an overload
// error.
GEN_ERROR("Overload of function '" + FunctionName + "' not permitted.");
+ } else if (Fn->getParamAttrs() != PAL) {
+ // The existing function doesn't have the same parameter attributes.
+ // This is an overload error.
+ GEN_ERROR("Overload of function '" + FunctionName + "' not permitted.");
} else if (!CurFun.isDeclare && !Fn->isDeclaration()) {
// Neither the existing or the current function is a declaration and they
// have the same name and same type. Clearly this is a redefinition.
GEN_ERROR("Redefinition of function '" + FunctionName + "'");
- } if (Fn->isDeclaration()) {
+ } else if (Fn->isDeclaration()) {
// Make sure to strip off any argument names so we can't get conflicts.
for (Function::arg_iterator AI = Fn->arg_begin(), AE = Fn->arg_end();
AI != AE; ++AI)
} else { // Not already defined?
Fn = new Function(FT, GlobalValue::ExternalWeakLinkage, FunctionName,
CurModule.CurrentModule);
-
InsertValue(Fn, CurModule.Values);
}
Fn->setLinkage(CurFun.Linkage);
Fn->setVisibility(CurFun.Visibility);
}
- Fn->setCallingConv((yyvsp[(1) - (9)].UIntVal));
- Fn->setAlignment((yyvsp[(9) - (9)].UIntVal));
- if ((yyvsp[(8) - (9)].StrVal)) {
- Fn->setSection(*(yyvsp[(8) - (9)].StrVal));
- delete (yyvsp[(8) - (9)].StrVal);
+ Fn->setCallingConv((yyvsp[(1) - (10)].UIntVal));
+ Fn->setParamAttrs(PAL);
+ Fn->setAlignment((yyvsp[(9) - (10)].UIntVal));
+ if ((yyvsp[(8) - (10)].StrVal)) {
+ Fn->setSection(*(yyvsp[(8) - (10)].StrVal));
+ delete (yyvsp[(8) - (10)].StrVal);
+ }
+ if ((yyvsp[(10) - (10)].StrVal)) {
+ Fn->setCollector((yyvsp[(10) - (10)].StrVal)->c_str());
+ delete (yyvsp[(10) - (10)].StrVal);
}
// Add all of the arguments we parsed to the function...
- if ((yyvsp[(5) - (9)].ArgList)) { // Is null if empty...
+ if ((yyvsp[(5) - (10)].ArgList)) { // Is null if empty...
if (isVarArg) { // Nuke the last entry
- assert((yyvsp[(5) - (9)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (9)].ArgList)->back().Name == 0 &&
+ assert((yyvsp[(5) - (10)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (10)].ArgList)->back().Name == 0 &&
"Not a varargs marker!");
- delete (yyvsp[(5) - (9)].ArgList)->back().Ty;
- (yyvsp[(5) - (9)].ArgList)->pop_back(); // Delete the last entry
+ delete (yyvsp[(5) - (10)].ArgList)->back().Ty;
+ (yyvsp[(5) - (10)].ArgList)->pop_back(); // Delete the last entry
}
Function::arg_iterator ArgIt = Fn->arg_begin();
Function::arg_iterator ArgEnd = Fn->arg_end();
unsigned Idx = 1;
- for (ArgListType::iterator I = (yyvsp[(5) - (9)].ArgList)->begin();
- I != (yyvsp[(5) - (9)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) {
+ for (ArgListType::iterator I = (yyvsp[(5) - (10)].ArgList)->begin();
+ I != (yyvsp[(5) - (10)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) {
delete I->Ty; // Delete the typeholder...
setValueName(ArgIt, I->Name); // Insert arg into symtab...
CHECK_FOR_ERROR
Idx++;
}
- delete (yyvsp[(5) - (9)].ArgList); // We're now done with the argument list
+ delete (yyvsp[(5) - (10)].ArgList); // We're now done with the argument list
}
CHECK_FOR_ERROR
;}
break;
- case 238:
-#line 2377 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 243:
+#line 2386 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
;}
break;
- case 241:
-#line 2388 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 246:
+#line 2397 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
;}
break;
- case 242:
-#line 2393 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 247:
+#line 2402 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
;}
break;
- case 243:
-#line 2405 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 248:
+#line 2414 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
;}
break;
- case 244:
-#line 2409 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 249:
+#line 2418 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
;}
break;
- case 245:
-#line 2414 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 250:
+#line 2423 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
CHECK_FOR_ERROR
;}
break;
- case 246:
-#line 2418 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 251:
+#line 2427 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
CHECK_FOR_ERROR
;}
break;
- case 247:
-#line 2422 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 252:
+#line 2431 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
CHECK_FOR_ERROR
;}
break;
- case 248:
-#line 2426 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 253:
+#line 2435 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
CHECK_FOR_ERROR
;}
break;
- case 249:
-#line 2430 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 254:
+#line 2439 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
CHECK_FOR_ERROR
;}
break;
- case 250:
-#line 2434 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 255:
+#line 2443 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createNull();
CHECK_FOR_ERROR
;}
break;
- case 251:
-#line 2438 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 256:
+#line 2447 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createUndef();
CHECK_FOR_ERROR
;}
break;
- case 252:
-#line 2442 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 257:
+#line 2451 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A vector zero constant.
(yyval.ValIDVal) = ValID::createZeroInit();
CHECK_FOR_ERROR
;}
break;
- case 253:
-#line 2446 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 258:
+#line 2455 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
int NumElements = (yyvsp[(2) - (3)].ConstVector)->size();
;}
break;
- case 254:
-#line 2471 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 259:
+#line 2480 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
CHECK_FOR_ERROR
;}
break;
- case 255:
-#line 2475 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 260:
+#line 2484 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal));
delete (yyvsp[(3) - (5)].StrVal);
;}
break;
- case 256:
-#line 2485 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 261:
+#line 2494 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
(yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
;}
break;
- case 257:
-#line 2489 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 262:
+#line 2498 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
;}
break;
- case 258:
-#line 2493 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 263:
+#line 2502 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
;}
break;
- case 259:
-#line 2498 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 264:
+#line 2507 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
;}
break;
- case 262:
-#line 2511 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 267:
+#line 2520 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
;}
break;
- case 263:
-#line 2520 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 268:
+#line 2529 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ (yyval.ValueList) = new std::vector<Value *>();
+ (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal));
+ CHECK_FOR_ERROR
+ ;}
+ break;
+
+ case 269:
+#line 2534 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ ((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal));
+ CHECK_FOR_ERROR
+ ;}
+ break;
+
+ case 270:
+#line 2539 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
;}
break;
- case 264:
-#line 2524 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 271:
+#line 2543 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Do not allow functions with 0 basic blocks
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
;}
break;
- case 265:
-#line 2533 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 272:
+#line 2552 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
CHECK_FOR_ERROR
;}
break;
- case 266:
-#line 2542 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 273:
+#line 2561 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[(2) - (2)].InstVal)))
if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
;}
break;
- case 267:
-#line 2551 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 274:
+#line 2570 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty space between instruction lists
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
CHECK_FOR_ERROR
;}
break;
- case 268:
-#line 2555 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 275:
+#line 2574 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Labelled (named) basic block
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)));
delete (yyvsp[(1) - (1)].StrVal);
;}
break;
- case 269:
-#line 2562 "/llvm/lib/AsmParser/llvmAsmParser.y"
- { // Return with a result...
- (yyval.TermInstVal) = new ReturnInst((yyvsp[(2) - (2)].ValueVal));
+ case 276:
+#line 2582 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ { // Return with a result...
+ ValueList &VL = *(yyvsp[(2) - (2)].ValueList);
+ assert(!VL.empty() && "Invalid ret operands!");
+ (yyval.TermInstVal) = new ReturnInst(&VL[0], VL.size());
+ delete (yyvsp[(2) - (2)].ValueList);
CHECK_FOR_ERROR
;}
break;
- case 270:
-#line 2566 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 277:
+#line 2589 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
(yyval.TermInstVal) = new ReturnInst();
CHECK_FOR_ERROR
;}
break;
- case 271:
-#line 2570 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 278:
+#line 2593 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
CHECK_FOR_ERROR
;}
break;
- case 272:
-#line 2575 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 279:
+#line 2598 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
assert(cast<IntegerType>((yyvsp[(2) - (9)].PrimType))->getBitWidth() == 1 && "Not Bool?");
BasicBlock* tmpBBA = getBBVal((yyvsp[(6) - (9)].ValIDVal));
;}
break;
- case 273:
-#line 2585 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 280:
+#line 2608 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
CHECK_FOR_ERROR
;}
break;
- case 274:
-#line 2604 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 281:
+#line 2627 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
CHECK_FOR_ERROR
;}
break;
- case 275:
-#line 2614 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 282:
+#line 2637 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- ParamAttrsVector Attrs;
- if ((yyvsp[(8) - (14)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(8) - (14)].ParamAttrs);
- Attrs.push_back(PAWI);
- }
ParamList::iterator I = (yyvsp[(6) - (14)].ParamList)->begin(), E = (yyvsp[(6) - (14)].ParamList)->end();
- unsigned index = 1;
- for (; I != E; ++I, ++index) {
+ for (; I != E; ++I) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = index; PAWI.attrs = I->Attrs;
- Attrs.push_back(PAWI);
- }
}
-
- ParamAttrsList *PAL = 0;
- if (!Attrs.empty())
- PAL = ParamAttrsList::get(Attrs);
- Ty = FunctionType::get((yyvsp[(3) - (14)].TypeVal)->get(), ParamTypes, false, PAL);
- PFTy = PointerType::get(Ty);
+ Ty = FunctionType::get((yyvsp[(3) - (14)].TypeVal)->get(), ParamTypes, false);
+ PFTy = PointerType::getUnqual(Ty);
}
delete (yyvsp[(3) - (14)].TypeVal);
BasicBlock *Except = getBBVal((yyvsp[(14) - (14)].ValIDVal));
CHECK_FOR_ERROR
+ ParamAttrsVector Attrs;
+ if ((yyvsp[(8) - (14)].ParamAttrs) != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(8) - (14)].ParamAttrs);
+ Attrs.push_back(PAWI);
+ }
+
// Check the arguments
ValueList Args;
if ((yyvsp[(6) - (14)].ParamList)->empty()) { // Has no arguments?
FunctionType::param_iterator I = Ty->param_begin();
FunctionType::param_iterator E = Ty->param_end();
ParamList::iterator ArgI = (yyvsp[(6) - (14)].ParamList)->begin(), ArgE = (yyvsp[(6) - (14)].ParamList)->end();
+ unsigned index = 1;
- for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
+ for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) {
if (ArgI->Val->getType() != *I)
GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" +
(*I)->getDescription() + "'");
Args.push_back(ArgI->Val);
+ if (ArgI->Attrs != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = ArgI->Attrs;
+ Attrs.push_back(PAWI);
+ }
}
if (Ty->isVarArg()) {
if (I == E)
- for (; ArgI != ArgE; ++ArgI)
+ for (; ArgI != ArgE; ++ArgI, ++index) {
Args.push_back(ArgI->Val); // push the remaining varargs
+ if (ArgI->Attrs != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = ArgI->Attrs;
+ Attrs.push_back(PAWI);
+ }
+ }
} else if (I != E || ArgI != ArgE)
GEN_ERROR("Invalid number of parameters detected");
}
+ const ParamAttrsList *PAL = 0;
+ if (!Attrs.empty())
+ PAL = ParamAttrsList::get(Attrs);
+
// Create the InvokeInst
InvokeInst *II = new InvokeInst(V, Normal, Except, Args.begin(), Args.end());
II->setCallingConv((yyvsp[(2) - (14)].UIntVal));
+ II->setParamAttrs(PAL);
(yyval.TermInstVal) = II;
delete (yyvsp[(6) - (14)].ParamList);
CHECK_FOR_ERROR
;}
break;
- case 276:
-#line 2693 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 283:
+#line 2727 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnwindInst();
CHECK_FOR_ERROR
;}
break;
- case 277:
-#line 2697 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 284:
+#line 2731 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnreachableInst();
CHECK_FOR_ERROR
;}
break;
- case 278:
-#line 2704 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 285:
+#line 2738 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
Constant *V = cast<Constant>(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
;}
break;
- case 279:
-#line 2715 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 286:
+#line 2749 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
Constant *V = cast<Constant>(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal)));
;}
break;
- case 280:
-#line 2728 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 287:
+#line 2762 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Is this definition named?? if so, assign the name...
setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
;}
break;
- case 281:
-#line 2738 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 288:
+#line 2772 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Used for PHI nodes
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
;}
break;
- case 282:
-#line 2749 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 289:
+#line 2783 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal));
;}
break;
- case 283:
-#line 2759 "/llvm/lib/AsmParser/llvmAsmParser.y"
- {
+ case 290:
+#line 2793 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
- GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
+ GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
// Used for call and invoke instructions
(yyval.ParamList) = new ParamList();
- ParamListEntry E; E.Attrs = (yyvsp[(3) - (3)].ParamAttrs); E.Val = getVal((yyvsp[(1) - (3)].TypeVal)->get(), (yyvsp[(2) - (3)].ValIDVal));
+ ParamListEntry E; E.Attrs = (yyvsp[(2) - (4)].ParamAttrs) | (yyvsp[(4) - (4)].ParamAttrs); E.Val = getVal((yyvsp[(1) - (4)].TypeVal)->get(), (yyvsp[(3) - (4)].ValIDVal));
(yyval.ParamList)->push_back(E);
- delete (yyvsp[(1) - (3)].TypeVal);
+ delete (yyvsp[(1) - (4)].TypeVal);
+ CHECK_FOR_ERROR
;}
break;
- case 284:
-#line 2768 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 291:
+#line 2804 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
// Labels are only valid in ASMs
(yyval.ParamList) = new ParamList();
- ParamListEntry E; E.Attrs = (yyvsp[(3) - (3)].ParamAttrs); E.Val = getBBVal((yyvsp[(2) - (3)].ValIDVal));
+ ParamListEntry E; E.Attrs = (yyvsp[(2) - (4)].ParamAttrs) | (yyvsp[(4) - (4)].ParamAttrs); E.Val = getBBVal((yyvsp[(3) - (4)].ValIDVal));
(yyval.ParamList)->push_back(E);
+ CHECK_FOR_ERROR
;}
break;
- case 285:
-#line 2774 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 292:
+#line 2812 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
- GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
- (yyval.ParamList) = (yyvsp[(1) - (5)].ParamList);
- ParamListEntry E; E.Attrs = (yyvsp[(5) - (5)].ParamAttrs); E.Val = getVal((yyvsp[(3) - (5)].TypeVal)->get(), (yyvsp[(4) - (5)].ValIDVal));
+ GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
+ (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
+ ParamListEntry E; E.Attrs = (yyvsp[(4) - (6)].ParamAttrs) | (yyvsp[(6) - (6)].ParamAttrs); E.Val = getVal((yyvsp[(3) - (6)].TypeVal)->get(), (yyvsp[(5) - (6)].ValIDVal));
(yyval.ParamList)->push_back(E);
- delete (yyvsp[(3) - (5)].TypeVal);
+ delete (yyvsp[(3) - (6)].TypeVal);
CHECK_FOR_ERROR
;}
break;
- case 286:
-#line 2783 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 293:
+#line 2822 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
- (yyval.ParamList) = (yyvsp[(1) - (5)].ParamList);
- ParamListEntry E; E.Attrs = (yyvsp[(5) - (5)].ParamAttrs); E.Val = getBBVal((yyvsp[(4) - (5)].ValIDVal));
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
+ (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
+ ParamListEntry E; E.Attrs = (yyvsp[(4) - (6)].ParamAttrs) | (yyvsp[(6) - (6)].ParamAttrs); E.Val = getBBVal((yyvsp[(5) - (6)].ValIDVal));
(yyval.ParamList)->push_back(E);
CHECK_FOR_ERROR
;}
break;
- case 287:
-#line 2789 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 294:
+#line 2829 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamList) = new ParamList(); ;}
break;
- case 288:
-#line 2792 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 295:
+#line 2832 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueList) = new std::vector<Value*>(); ;}
break;
- case 289:
-#line 2793 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 296:
+#line 2833 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
(yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
;}
break;
- case 290:
-#line 2800 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 297:
+#line 2840 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
;}
break;
- case 291:
-#line 2804 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 298:
+#line 2844 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
;}
break;
- case 292:
-#line 2809 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 299:
+#line 2849 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
;}
break;
- case 293:
-#line 2825 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 300:
+#line 2865 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
;}
break;
- case 294:
-#line 2842 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 301:
+#line 2882 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
;}
break;
- case 295:
-#line 2856 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 302:
+#line 2896 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
;}
break;
- case 296:
-#line 2870 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 303:
+#line 2910 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
;}
break;
- case 297:
-#line 2882 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 304:
+#line 2922 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty)
GEN_ERROR("select condition must be boolean");
;}
break;
- case 298:
-#line 2890 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 305:
+#line 2930 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
;}
break;
- case 299:
-#line 2897 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 306:
+#line 2937 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
GEN_ERROR("Invalid extractelement operands");
;}
break;
- case 300:
-#line 2903 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 307:
+#line 2943 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
GEN_ERROR("Invalid insertelement operands");
;}
break;
- case 301:
-#line 2909 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 308:
+#line 2949 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
GEN_ERROR("Invalid shufflevector operands");
;}
break;
- case 302:
-#line 2915 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 309:
+#line 2955 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
if (!Ty->isFirstClassType())
;}
break;
- case 303:
-#line 2931 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 310:
+#line 2971 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- ParamAttrsVector Attrs;
- if ((yyvsp[(8) - (8)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(8) - (8)].ParamAttrs);
- Attrs.push_back(PAWI);
- }
- unsigned index = 1;
ParamList::iterator I = (yyvsp[(6) - (8)].ParamList)->begin(), E = (yyvsp[(6) - (8)].ParamList)->end();
- for (; I != E; ++I, ++index) {
+ for (; I != E; ++I) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = index; PAWI.attrs = I->Attrs;
- Attrs.push_back(PAWI);
- }
}
-
- ParamAttrsList *PAL = 0;
- if (!Attrs.empty())
- PAL = ParamAttrsList::get(Attrs);
-
- Ty = FunctionType::get((yyvsp[(3) - (8)].TypeVal)->get(), ParamTypes, false, PAL);
- PFTy = PointerType::get(Ty);
+ Ty = FunctionType::get((yyvsp[(3) - (8)].TypeVal)->get(), ParamTypes, false);
+ PFTy = PointerType::getUnqual(Ty);
}
Value *V = getVal(PFTy, (yyvsp[(4) - (8)].ValIDVal)); // Get the function we're calling...
theF->getName() + "'");
}
+ // Set up the ParamAttrs for the function
+ ParamAttrsVector Attrs;
+ if ((yyvsp[(8) - (8)].ParamAttrs) != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = 0;
+ PAWI.attrs = (yyvsp[(8) - (8)].ParamAttrs);
+ Attrs.push_back(PAWI);
+ }
// Check the arguments
ValueList Args;
if ((yyvsp[(6) - (8)].ParamList)->empty()) { // Has no arguments?
"expects arguments");
} else { // Has arguments?
// Loop through FunctionType's arguments and ensure they are specified
- // correctly!
- //
+ // correctly. Also, gather any parameter attributes.
FunctionType::param_iterator I = Ty->param_begin();
FunctionType::param_iterator E = Ty->param_end();
ParamList::iterator ArgI = (yyvsp[(6) - (8)].ParamList)->begin(), ArgE = (yyvsp[(6) - (8)].ParamList)->end();
+ unsigned index = 1;
- for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
+ for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) {
if (ArgI->Val->getType() != *I)
GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" +
(*I)->getDescription() + "'");
Args.push_back(ArgI->Val);
+ if (ArgI->Attrs != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = ArgI->Attrs;
+ Attrs.push_back(PAWI);
+ }
}
if (Ty->isVarArg()) {
if (I == E)
- for (; ArgI != ArgE; ++ArgI)
+ for (; ArgI != ArgE; ++ArgI, ++index) {
Args.push_back(ArgI->Val); // push the remaining varargs
+ if (ArgI->Attrs != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = ArgI->Attrs;
+ Attrs.push_back(PAWI);
+ }
+ }
} else if (I != E || ArgI != ArgE)
GEN_ERROR("Invalid number of parameters detected");
}
+
+ // Finish off the ParamAttrs and check them
+ const ParamAttrsList *PAL = 0;
+ if (!Attrs.empty())
+ PAL = ParamAttrsList::get(Attrs);
+
// Create the call node
CallInst *CI = new CallInst(V, Args.begin(), Args.end());
CI->setTailCall((yyvsp[(1) - (8)].BoolVal));
CI->setCallingConv((yyvsp[(2) - (8)].UIntVal));
+ CI->setParamAttrs(PAL);
(yyval.InstVal) = CI;
delete (yyvsp[(6) - (8)].ParamList);
delete (yyvsp[(3) - (8)].TypeVal);
;}
break;
- case 304:
-#line 3015 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 311:
+#line 3068 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
CHECK_FOR_ERROR
;}
break;
- case 305:
-#line 3020 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 312:
+#line 3073 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
;}
break;
- case 306:
-#line 3024 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 313:
+#line 3077 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
;}
break;
- case 307:
-#line 3031 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 314:
+#line 3084 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
;}
break;
- case 308:
-#line 3038 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 315:
+#line 3091 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
;}
break;
- case 309:
-#line 3046 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 316:
+#line 3099 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
;}
break;
- case 310:
-#line 3053 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 317:
+#line 3106 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
;}
break;
- case 311:
-#line 3061 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 318:
+#line 3114 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
GEN_ERROR("Trying to free nonpointer type " +
;}
break;
- case 312:
-#line 3069 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 319:
+#line 3122 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
;}
break;
- case 313:
-#line 3083 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 320:
+#line 3136 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription());
;}
break;
- case 314:
-#line 3100 "/llvm/lib/AsmParser/llvmAsmParser.y"
+ case 321:
+#line 3153 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ Value *TmpVal = getVal((yyvsp[(2) - (5)].TypeVal)->get(), (yyvsp[(3) - (5)].ValIDVal));
+ if (!GetResultInst::isValidOperands(TmpVal, (yyvsp[(5) - (5)].UInt64Val)))
+ GEN_ERROR("Invalid getresult operands");
+ (yyval.InstVal) = new GetResultInst(TmpVal, (yyvsp[(5) - (5)].UInt64Val));
+ delete (yyvsp[(2) - (5)].TypeVal);
+ CHECK_FOR_ERROR
+ ;}
+ break;
+
+ case 322:
+#line 3161 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
/* Line 1267 of yacc.c. */
-#line 6263 "llvmAsmParser.tab.c"
+#line 6411 "llvmAsmParser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
-#line 3117 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3178 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
// common code from the two 'RunVMAsmParser' functions
static Module* RunParser(Module * M) {
-
- llvmAsmlineno = 1; // Reset the current line number...
CurModule.CurrentModule = M;
-#if YYDEBUG
- yydebug = Debug;
-#endif
-
// Check to make sure the parser succeeded
if (yyparse()) {
if (ParserResult)
}
void llvm::GenerateError(const std::string &message, int LineNo) {
- if (LineNo == -1) LineNo = llvmAsmlineno;
+ if (LineNo == -1) LineNo = LLLgetLineNo();
// TODO: column number in exception
if (TheParseError)
- TheParseError->setError(CurFilename, message, LineNo);
+ TheParseError->setError(LLLgetFilename(), message, LineNo);
TriggerError = 1;
}
int yyerror(const char *ErrorMsg) {
- std::string where
- = std::string((CurFilename == "-") ? std::string("<stdin>") : CurFilename)
- + ":" + utostr((unsigned) llvmAsmlineno) + ": ";
+ std::string where = LLLgetFilename() + ":" + utostr(LLLgetLineNo()) + ": ";
std::string errMsg = where + "error: " + std::string(ErrorMsg);
- if (yychar != YYEMPTY && yychar != 0)
- errMsg += " while reading token: '" + std::string(llvmAsmtext, llvmAsmleng)+
- "'";
+ if (yychar != YYEMPTY && yychar != 0) {
+ errMsg += " while reading token: '";
+ errMsg += std::string(LLLgetTokenStart(),
+ LLLgetTokenStart()+LLLgetTokenLength()) + "'";
+ }
GenerateError(errMsg);
return 0;
}