diff options
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp')
-rw-r--r-- | lib/AsmParser/llvmAsmParser.cpp | 856 |
1 files changed, 430 insertions, 426 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp b/lib/AsmParser/llvmAsmParser.cpp index 19c22ddfa1..d9cf7d7e88 100644 --- a/lib/AsmParser/llvmAsmParser.cpp +++ b/lib/AsmParser/llvmAsmParser.cpp @@ -39,33 +39,32 @@ #define BEGINTOK 282 #define END 283 #define DECLARE 284 -#define PHI 285 -#define CALL 286 -#define RET 287 -#define BR 288 -#define SWITCH 289 -#define NEG 290 +#define TO 285 +#define PHI 286 +#define CALL 287 +#define RET 288 +#define BR 289 +#define SWITCH 290 #define NOT 291 -#define TOINT 292 -#define TOUINT 293 -#define ADD 294 -#define SUB 295 -#define MUL 296 -#define DIV 297 -#define REM 298 -#define SETLE 299 -#define SETGE 300 -#define SETLT 301 -#define SETGT 302 -#define SETEQ 303 -#define SETNE 304 -#define MALLOC 305 -#define ALLOCA 306 -#define FREE 307 -#define LOAD 308 -#define STORE 309 -#define GETFIELD 310 -#define PUTFIELD 311 +#define CAST 292 +#define ADD 293 +#define SUB 294 +#define MUL 295 +#define DIV 296 +#define REM 297 +#define SETLE 298 +#define SETGE 299 +#define SETLT 300 +#define SETGT 301 +#define SETEQ 302 +#define SETNE 303 +#define MALLOC 304 +#define ALLOCA 305 +#define FREE 306 +#define LOAD 307 +#define STORE 308 +#define GETFIELD 309 +#define PUTFIELD 310 #line 13 "llvmAsmParser.y" @@ -84,8 +83,8 @@ #include <utility> // Get definition of pair class #include <stdio.h> // This embarasment is due to our flex lexer... -int yyerror(char *ErrorMsg); // Forward declarations to prevent "implicit -int yylex(); // declaration" of xxx warnings. +int yyerror(const char *ErrorMsg); // Forward declarations to prevent "implicit +int yylex(); // declaration" of xxx warnings. int yyparse(); static Module *ParserResult; @@ -432,26 +431,26 @@ typedef union { -#define YYFINAL 232 +#define YYFINAL 234 #define YYFLAG -32768 -#define YYNTBASE 68 +#define YYNTBASE 67 -#define YYTRANSLATE(x) ((unsigned)(x) <= 311 ? yytranslate[x] : 104) +#define YYTRANSLATE(x) ((unsigned)(x) <= 310 ? yytranslate[x] : 103) static const char yytranslate[] = { 0, 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, 2, 2, 2, 2, 2, 65, - 66, 67, 2, 64, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 64, + 65, 66, 2, 63, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 58, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 57, 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, - 59, 2, 60, 2, 2, 2, 2, 2, 2, 2, + 58, 2, 59, 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, 61, - 2, 2, 62, 2, 63, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 60, + 2, 2, 61, 2, 62, 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, 2, @@ -469,8 +468,7 @@ static const char yytranslate[] = { 0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57 + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 }; #if YYDEBUG != 0 @@ -479,76 +477,76 @@ static const short yyprhs[] = { 0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, - 80, 82, 84, 86, 88, 90, 93, 94, 97, 100, - 103, 106, 109, 112, 119, 125, 134, 142, 149, 154, - 158, 160, 164, 165, 167, 170, 173, 175, 176, 179, - 183, 185, 187, 188, 194, 198, 201, 203, 205, 207, - 209, 211, 213, 215, 217, 219, 224, 228, 232, 238, - 242, 245, 248, 250, 254, 257, 260, 263, 267, 270, - 271, 275, 278, 282, 292, 302, 309, 315, 318, 325, - 333, 336, 340, 342, 343, 349, 353, 356, 363, 365, - 368, 374, 377, 383 + 80, 82, 84, 87, 88, 91, 94, 97, 100, 103, + 106, 113, 119, 128, 136, 143, 148, 152, 154, 158, + 159, 161, 164, 167, 169, 170, 173, 177, 179, 181, + 182, 188, 192, 195, 197, 199, 201, 203, 205, 207, + 209, 211, 213, 218, 222, 226, 232, 236, 239, 242, + 244, 248, 251, 254, 257, 261, 264, 265, 269, 272, + 276, 286, 296, 303, 309, 312, 319, 327, 330, 334, + 336, 337, 343, 347, 353, 356, 363, 365, 368, 374, + 377, 383 }; static const short yyrhs[] = { 5, 0, 6, 0, 3, 0, 4, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, - 0, 20, 0, 21, 0, 70, 0, 7, 0, 36, - 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, - 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, - 0, 47, 0, 48, 0, 49, 0, 50, 0, 15, - 0, 13, 0, 11, 0, 9, 0, 16, 0, 14, - 0, 12, 0, 10, 0, 74, 0, 75, 0, 22, - 58, 0, 0, 74, 69, 0, 75, 4, 0, 8, - 26, 0, 8, 27, 0, 19, 24, 0, 20, 70, - 0, 59, 70, 60, 59, 79, 60, 0, 59, 70, - 60, 59, 60, 0, 59, 4, 61, 70, 60, 59, - 79, 60, 0, 59, 4, 61, 70, 60, 59, 60, - 0, 62, 92, 63, 62, 79, 63, 0, 62, 63, - 62, 63, 0, 79, 64, 78, 0, 78, 0, 80, - 77, 78, 0, 0, 82, 0, 82, 89, 0, 80, - 25, 0, 22, 0, 0, 70, 83, 0, 84, 64, - 85, 0, 84, 0, 85, 0, 0, 71, 24, 65, - 86, 66, 0, 87, 80, 28, 0, 93, 29, 0, - 3, 0, 4, 0, 26, 0, 27, 0, 24, 0, - 68, 0, 22, 0, 90, 0, 91, 0, 71, 65, - 92, 66, 0, 71, 65, 66, 0, 59, 70, 60, - 0, 59, 4, 61, 70, 60, 0, 62, 92, 63, - 0, 62, 63, 0, 70, 67, 0, 70, 0, 92, - 64, 70, 0, 93, 94, 0, 88, 94, 0, 95, - 96, 0, 23, 95, 96, 0, 95, 98, 0, 0, - 33, 70, 91, 0, 33, 7, 0, 34, 21, 91, - 0, 34, 8, 91, 64, 21, 91, 64, 21, 91, - 0, 35, 76, 91, 64, 21, 91, 59, 97, 60, - 0, 97, 76, 90, 64, 21, 91, 0, 76, 90, - 64, 21, 91, 0, 77, 102, 0, 70, 59, 91, - 64, 91, 60, 0, 99, 64, 59, 91, 64, 91, - 60, 0, 70, 91, 0, 100, 64, 91, 0, 100, - 0, 0, 73, 70, 91, 64, 91, 0, 72, 70, - 91, 0, 31, 99, 0, 32, 70, 91, 65, 101, - 66, 0, 103, 0, 51, 70, 0, 51, 70, 64, - 14, 91, 0, 52, 70, 0, 52, 70, 64, 14, - 91, 0, 53, 70, 91, 0 + 0, 20, 0, 21, 0, 69, 0, 7, 0, 37, + 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, + 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, + 0, 49, 0, 15, 0, 13, 0, 11, 0, 9, + 0, 16, 0, 14, 0, 12, 0, 10, 0, 73, + 0, 74, 0, 22, 57, 0, 0, 73, 68, 0, + 74, 4, 0, 8, 26, 0, 8, 27, 0, 19, + 24, 0, 20, 69, 0, 58, 69, 59, 58, 78, + 59, 0, 58, 69, 59, 58, 59, 0, 58, 4, + 60, 69, 59, 58, 78, 59, 0, 58, 4, 60, + 69, 59, 58, 59, 0, 61, 91, 62, 61, 78, + 62, 0, 61, 62, 61, 62, 0, 78, 63, 77, + 0, 77, 0, 79, 76, 77, 0, 0, 81, 0, + 81, 88, 0, 79, 25, 0, 22, 0, 0, 69, + 82, 0, 83, 63, 84, 0, 83, 0, 84, 0, + 0, 70, 24, 64, 85, 65, 0, 86, 79, 28, + 0, 92, 29, 0, 3, 0, 4, 0, 26, 0, + 27, 0, 24, 0, 67, 0, 22, 0, 89, 0, + 90, 0, 70, 64, 91, 65, 0, 70, 64, 65, + 0, 58, 69, 59, 0, 58, 4, 60, 69, 59, + 0, 61, 91, 62, 0, 61, 62, 0, 69, 66, + 0, 69, 0, 91, 63, 69, 0, 92, 93, 0, + 87, 93, 0, 94, 95, 0, 23, 94, 95, 0, + 94, 97, 0, 0, 34, 69, 90, 0, 34, 7, + 0, 35, 21, 90, 0, 35, 8, 90, 63, 21, + 90, 63, 21, 90, 0, 36, 75, 90, 63, 21, + 90, 58, 96, 59, 0, 96, 75, 89, 63, 21, + 90, 0, 75, 89, 63, 21, 90, 0, 76, 101, + 0, 69, 58, 90, 63, 90, 59, 0, 98, 63, + 58, 90, 63, 90, 59, 0, 69, 90, 0, 99, + 63, 90, 0, 99, 0, 0, 72, 69, 90, 63, + 90, 0, 71, 69, 90, 0, 38, 69, 90, 31, + 69, 0, 32, 98, 0, 33, 69, 90, 64, 100, + 65, 0, 102, 0, 50, 69, 0, 50, 69, 63, + 14, 90, 0, 51, 69, 0, 51, 69, 63, 14, + 90, 0, 52, 69, 90, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 435, 436, 443, 444, 455, 455, 455, 455, 455, 455, - 455, 456, 456, 456, 456, 456, 456, 456, 459, 459, - 464, 464, 464, 464, 465, 465, 465, 465, 465, 466, - 466, 466, 466, 466, 466, 470, 470, 470, 470, 471, - 471, 471, 471, 472, 472, 474, 477, 481, 486, 491, - 494, 497, 503, 506, 519, 523, 541, 548, 556, 570, - 573, 579, 587, 598, 603, 608, 617, 617, 619, 627, - 631, 636, 639, 643, 670, 674, 683, 686, 689, 692, - 695, 700, 703, 706, 713, 721, 726, 730, 733, 736, - 741, 744, 749, 753, 758, 762, 771, 776, 785, 789, - 793, 796, 799, 802, 807, 818, 826, 836, 844, 849, - 856, 860, 866, 866, 868, 873, 878, 889, 926, 930, - 935, 944, 949, 958 + 432, 433, 440, 441, 452, 452, 452, 452, 452, 452, + 452, 453, 453, 453, 453, 453, 453, 453, 456, 456, + 461, 462, 462, 462, 462, 462, 463, 463, 463, 463, + 463, 463, 467, 467, 467, 467, 468, 468, 468, 468, + 469, 469, 471, 474, 478, 483, 488, 491, 494, 500, + 503, 516, 520, 538, 545, 553, 567, 570, 576, 584, + 595, 600, 605, 614, 614, 616, 624, 628, 633, 636, + 640, 667, 671, 680, 683, 686, 689, 692, 697, 700, + 703, 710, 718, 723, 727, 730, 733, 738, 741, 746, + 750, 755, 759, 768, 773, 782, 786, 790, 793, 796, + 799, 804, 815, 823, 833, 841, 846, 853, 857, 863, + 863, 865, 870, 875, 878, 889, 926, 930, 935, 944, + 949, 958 }; #endif @@ -559,32 +557,32 @@ static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL" "EUINT64VAL","SINTVAL","UINTVAL","VOID","BOOL","SBYTE","UBYTE","SHORT","USHORT", "INT","UINT","LONG","ULONG","FLOAT","DOUBLE","STRING","TYPE","LABEL","VAR_ID", "LABELSTR","STRINGCONSTANT","IMPLEMENTATION","TRUE","FALSE","BEGINTOK","END", -"DECLARE","PHI","CALL","RET","BR","SWITCH","NEG","NOT","TOINT","TOUINT","ADD", -"SUB","MUL","DIV","REM","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC", -"ALLOCA","FREE","LOAD","STORE","GETFIELD","PUTFIELD","'='","'['","']'","'x'", -"'{'","'}'","','","'('","')'","'*'","INTVAL","EINT64VAL","Types","TypesV","UnaryOps", -"BinaryOps","SIntType","UIntType","IntType","OptAssign","ConstVal","ConstVector", -"ConstPool","Module","MethodList","OptVAR_ID","ArgVal","ArgListH","ArgList", -"MethodHeaderH","MethodHeader","Method","ConstValueRef","ValueRef","TypeList", -"BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst","JumpTable", -"Inst","PHIList","ValueRefList","ValueRefListE","InstVal","MemoryInst", NULL +"DECLARE","TO","PHI","CALL","RET","BR","SWITCH","NOT","CAST","ADD","SUB","MUL", +"DIV","REM","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC","ALLOCA", +"FREE","LOAD","STORE","GETFIELD","PUTFIELD","'='","'['","']'","'x'","'{'","'}'", +"','","'('","')'","'*'","INTVAL","EINT64VAL","Types","TypesV","UnaryOps","BinaryOps", +"SIntType","UIntType","IntType","OptAssign","ConstVal","ConstVector","ConstPool", +"Module","MethodList","OptVAR_ID","ArgVal","ArgListH","ArgList","MethodHeaderH", +"MethodHeader","Method","ConstValueRef","ValueRef","TypeList","BasicBlockList", +"BasicBlock","InstructionList","BBTerminatorInst","JumpTable","Inst","PHIList", +"ValueRefList","ValueRefListE","InstVal","MemoryInst", NULL }; #endif static const short yyr1[] = { 0, - 68, 68, 69, 69, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, - 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 74, 74, 74, 74, 75, - 75, 75, 75, 76, 76, 77, 77, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, - 79, 80, 80, 81, 82, 82, 83, 83, 84, 85, - 85, 86, 86, 87, 88, 89, 90, 90, 90, 90, - 90, 91, 91, 91, 70, 70, 70, 70, 70, 70, - 70, 70, 92, 92, 93, 93, 94, 94, 95, 95, - 96, 96, 96, 96, 96, 97, 97, 98, 99, 99, - 100, 100, 101, 101, 102, 102, 102, 102, 102, 103, - 103, 103, 103, 103 + 67, 67, 68, 68, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, + 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 73, 73, 73, 73, 74, 74, 74, 74, + 75, 75, 76, 76, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 78, 78, 79, 79, + 80, 81, 81, 82, 82, 83, 84, 84, 85, 85, + 86, 87, 88, 89, 89, 89, 89, 89, 90, 90, + 90, 69, 69, 69, 69, 69, 69, 69, 69, 91, + 91, 92, 92, 93, 93, 94, 94, 95, 95, 95, + 95, 95, 96, 96, 97, 98, 98, 99, 99, 100, + 100, 101, 101, 101, 101, 101, 101, 102, 102, 102, + 102, 102 }; static const short yyr2[] = { 0, @@ -592,199 +590,199 @@ static const short yyr2[] = { 0, 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, 2, 0, 2, 2, 2, - 2, 2, 2, 6, 5, 8, 7, 6, 4, 3, - 1, 3, 0, 1, 2, 2, 1, 0, 2, 3, - 1, 1, 0, 5, 3, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 4, 3, 3, 5, 3, - 2, 2, 1, 3, 2, 2, 2, 3, 2, 0, - 3, 2, 3, 9, 9, 6, 5, 2, 6, 7, - 2, 3, 1, 0, 5, 3, 2, 6, 1, 2, - 5, 2, 5, 3 + 1, 1, 2, 0, 2, 2, 2, 2, 2, 2, + 6, 5, 8, 7, 6, 4, 3, 1, 3, 0, + 1, 2, 2, 1, 0, 2, 3, 1, 1, 0, + 5, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 3, 3, 5, 3, 2, 2, 1, + 3, 2, 2, 2, 3, 2, 0, 3, 2, 3, + 9, 9, 6, 5, 2, 6, 7, 2, 3, 1, + 0, 5, 3, 5, 2, 6, 1, 2, 5, 2, + 5, 3 }; -static const short yydefact[] = { 63, - 47, 64, 0, 66, 0, 77, 78, 1, 2, 20, +static const short yydefact[] = { 60, + 44, 61, 0, 63, 0, 74, 75, 1, 2, 20, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 83, 81, 79, 80, 0, 0, - 82, 19, 0, 63, 100, 65, 84, 85, 100, 46, - 0, 39, 43, 38, 42, 37, 41, 36, 40, 0, - 0, 0, 0, 0, 0, 62, 78, 19, 0, 91, - 93, 0, 92, 0, 0, 47, 100, 96, 47, 76, - 95, 50, 51, 52, 53, 78, 19, 0, 0, 3, - 4, 48, 49, 0, 88, 90, 0, 73, 87, 0, - 75, 47, 0, 0, 0, 0, 97, 99, 0, 0, - 0, 0, 19, 94, 68, 71, 72, 0, 86, 98, - 102, 19, 0, 0, 44, 45, 0, 0, 0, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 108, - 119, 19, 0, 59, 0, 89, 67, 69, 0, 74, - 101, 0, 103, 0, 19, 117, 19, 120, 122, 19, - 19, 19, 0, 55, 61, 0, 0, 70, 0, 0, - 0, 0, 0, 0, 0, 124, 116, 0, 0, 54, - 0, 58, 0, 0, 0, 0, 114, 0, 0, 0, - 57, 0, 60, 0, 0, 0, 0, 19, 113, 0, - 121, 123, 115, 56, 0, 0, 0, 0, 111, 0, - 118, 0, 0, 0, 109, 0, 112, 104, 0, 105, - 0, 110, 0, 0, 0, 0, 107, 0, 106, 0, - 0, 0 + 15, 16, 17, 18, 80, 78, 76, 77, 0, 0, + 79, 19, 0, 60, 97, 62, 81, 82, 97, 43, + 0, 36, 40, 35, 39, 34, 38, 33, 37, 0, + 0, 0, 0, 0, 0, 59, 75, 19, 0, 88, + 90, 0, 89, 0, 0, 44, 97, 93, 44, 73, + 92, 47, 48, 49, 50, 75, 19, 0, 0, 3, + 4, 45, 46, 0, 85, 87, 0, 70, 84, 0, + 72, 44, 0, 0, 0, 0, 94, 96, 0, 0, + 0, 0, 19, 91, 65, 68, 69, 0, 83, 95, + 99, 19, 0, 0, 41, 42, 0, 0, 0, 21, + 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 0, 0, 0, 0, 0, 105, 117, 19, + 0, 56, 0, 86, 64, 66, 0, 71, 98, 0, + 100, 0, 19, 115, 19, 19, 118, 120, 19, 19, + 19, 0, 52, 58, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 122, 113, 0, 0, 51, + 0, 55, 0, 0, 0, 0, 111, 0, 0, 0, + 0, 54, 0, 57, 0, 0, 0, 0, 19, 110, + 0, 114, 119, 121, 112, 53, 0, 0, 0, 0, + 108, 0, 116, 0, 0, 0, 106, 0, 109, 101, + 0, 102, 0, 107, 0, 0, 0, 0, 104, 0, + 103, 0, 0, 0 }; static const short yydefgoto[] = { 31, - 82, 61, 59, 138, 139, 54, 55, 117, 5, 165, - 166, 1, 230, 2, 148, 106, 107, 108, 34, 35, - 36, 37, 38, 62, 39, 68, 69, 97, 214, 98, - 156, 199, 200, 140, 141 + 82, 61, 59, 136, 137, 54, 55, 117, 5, 164, + 165, 1, 232, 2, 146, 106, 107, 108, 34, 35, + 36, 37, 38, 62, 39, 68, 69, 97, 216, 98, + 154, 200, 201, 138, 139 }; static const short yypact[] = {-32768, - 124, 319, 23,-32768, 64,-32768,-32768,-32768,-32768,-32768, + 131, 319, -53,-32768, 26,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, 233, --32768, 26, -20,-32768, 97,-32768,-32768,-32768, 95,-32768, - 41,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 86, - 319, 404, 294, 192, 160,-32768, 67, 38, 75,-32768, - -35, 87,-32768, 104, 208, 43,-32768,-32768, 0,-32768, --32768,-32768,-32768,-32768, -35, 115, 78, 121, 134,-32768, --32768,-32768,-32768, 319,-32768,-32768, 319, 319,-32768, 109, --32768, 0, 464, 10, 147, 323,-32768,-32768, 319, 120, - 125, 129, 81, -35, -3, 137,-32768, 127,-32768,-32768, - 138, 2, 103, 103,-32768,-32768, 103, 319, 319,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 319, 319, 319, 319, 319,-32768, --32768, 107, 1,-32768, 64,-32768,-32768,-32768, 319,-32768, --32768, 140,-32768, 141, 33, 142, 2, 117, 122, 2, - 2, 2, 143,-32768,-32768, 6, 136,-32768, 187, 188, - 103, 172, 168, 242, 244,-32768,-32768, 197, 28,-32768, - 64,-32768, 103, 103, 198, 103, 319, 103, 103, 103, --32768, 55,-32768, 199, 205, 103, 201, 2, 202, 203, --32768,-32768,-32768,-32768, 247, 147, 211, 103,-32768, 103, --32768, 103, 128, 42,-32768, 212,-32768,-32768, 209,-32768, - 128,-32768, 254, 213, 103, 255,-32768, 103,-32768, 278, - 279,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 378, 234, +-32768, -13, -21,-32768, 46,-32768,-32768,-32768, 85,-32768, + 53,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 65, + 319, 403, 294, 126, 108,-32768, 60, -11, 83,-32768, + 93, 76,-32768, 84, 209, 100,-32768,-32768, 32,-32768, +-32768,-32768,-32768,-32768, 93, 98, -8, 121, 92,-32768, +-32768,-32768,-32768, 319,-32768,-32768, 319, 319,-32768, 103, +-32768, 32, 462, 36, 189, 239,-32768,-32768, 319, 111, + 125, 127, 22, 93, -1, 129,-32768, 124,-32768,-32768, + 142, 4, 157, 157,-32768,-32768, 157, 319, 319,-32768, + 319,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 319, 319, 319, 319, 319,-32768,-32768, 24, + 3,-32768, 26,-32768,-32768,-32768, 319,-32768,-32768, 144, +-32768, 146, -34, 147, 4, 4, 61, 80, 4, 4, + 4, 132,-32768,-32768, 33, 113,-32768, 211, 213, 157, + 199, 195, 231, 249, 250,-32768,-32768, 202, 91,-32768, + 26,-32768, 157, 157, 203, 157, 319, 319, 157, 157, + 157,-32768, 50,-32768, 205, 215, 157, 206, 4, 212, + 228, 93,-32768,-32768,-32768,-32768, 273, 189, 258, 157, +-32768, 157,-32768, 157, 170, 62,-32768, 260,-32768,-32768, + 279,-32768, 170,-32768, 323, 284, 157, 327,-32768, 157, +-32768, 349, 350,-32768 }; static const short yypgoto[] = {-32768, --32768, -2, 280,-32768,-32768, -93, -92, -103, -46, -4, - -120, 246,-32768,-32768,-32768,-32768, 132,-32768,-32768,-32768, --32768, -109, -18, 36,-32768, 245, 216, 193,-32768,-32768, +-32768, -2, 351,-32768,-32768, -93, -90, -183, -63, -4, + -123, 317,-32768,-32768,-32768,-32768, 207,-32768,-32768,-32768, +-32768, -163, -19, -6,-32768, 318, 291, 267,-32768,-32768, -32768,-32768,-32768,-32768,-32768 }; -#define YYLAST 526 +#define YYLAST 523 static const short yytable[] = { 32, - 56, 115, 116, 64, 6, 7, 8, 9, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 113, 147, 50, - 51, 3, 96, 25, 167, 26, 58, 27, 28, -19, - 114, 63, 93, 94, 95, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 65, 96, 50, 51, 75, 77, - 42, 43, 44, 45, 46, 47, 48, 49, 192, 52, - 164, -19, 53, 63, 3, 180, 72, 73, 63, 181, - 91, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 40, 103, 50, 51, 104, 105, 52, 191, 79, 53, - 112, 171, 63, 151, 152, 153, 142, 85, 154, 63, - 90, 220, 213, 219, 63, 6, 7, 8, 9, 74, - 221, 224, 115, 116, 204, 155, 157, 67, 181, 67, - 115, 116, 52, 70, 25, 53, 26, 84, 27, 28, - 6, 7, 158, 159, 160, 161, 162, 100, 173, 65, - 146, 176, 177, 178, 63, 3, 105, 63, 4, 86, - 87, 26, 185, 27, 28, 42, 43, 44, 45, 46, - 47, 48, 49, 83, 194, 195, 163, 197, 88, 201, - 202, 203, 87, 63, 109, 99, 193, 207, 143, 209, - 174, -19, 101, 63, 198, 175, -19, 144, 63, 216, - 145, 217, 150, 218, 80, 81, 102, 87, 182, 181, - 149, 179, -20, 169, 170, 172, 227, 183, 184, 229, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 186, 26, 187, 27, 28, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 188, 26, 189, 27, 28, - 190, 196, 205, 206, 208, 210, 29, 212, 211, 30, - 215, 222, 223, 89, 225, 228, 226, 231, 232, 66, - 168, 33, 92, 71, 110, 0, 0, 0, 0, 0, - 0, 29, 0, 0, 30, 60, 6, 7, 8, 9, + 56, 115, 64, 40, 116, 96, 6, 7, 8, 9, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 166, + 145, 50, 51, 170, 215, 25, 58, 26, 96, 27, + 28, 63, 223, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 65, 113, 50, 51, 79, 85, 75, 77, + 100, 221, 63, 3, 63, 193, 114, 63, 90, 226, + 52, 163, -19, 53, 63, 93, 94, 95, 67, 63, + 42, 43, 44, 45, 46, 47, 48, 49, 72, 73, + 144, 103, 162, 52, 104, 105, 53, 63, 74, 63, + 112, 180, 149, 150, 151, 181, 140, 152, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 67, 206, 50, + 51, 83, 181, 70, 115, 153, 155, 116, 156, 84, + 222, 3, 115, 174, -19, 116, 63, 91, 80, 81, + 157, 158, 159, 160, 161, 172, 173, 86, 87, 176, + 177, 178, 175, -19, 105, 63, 65, 88, 52, 192, + 185, 53, 3, 102, 87, 4, -19, 99, 63, 6, + 7, 8, 9, 195, 196, 87, 198, 109, 141, 203, + 204, 205, 6, 7, 182, 181, 194, 209, 25, 211, + 26, 101, 27, 28, 199, 202, 142, 143, 148, 179, + 218, 147, 219, 26, 220, 27, 28, 42, 43, 44, + 45, 46, 47, 48, 49, -20, 168, 229, 169, 171, + 231, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 183, 26, 184, 27, 28, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 0, 26, 0, 27, + 20, 21, 22, 23, 24, 25, 186, 26, 187, 27, + 28, 188, 189, 190, 191, 197, 29, 207, 210, 30, + 118, 119, 208, 89, 212, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 29, 213, 214, 30, 60, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 217, 26, 224, 27, 28, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 0, 26, 0, 27, 28, 0, 0, 0, 0, - 0, 0, 29, 118, 119, 30, 78, 0, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 0, 29, 0, 0, - 30, 6, 57, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 0, 26, 0, 27, 28, 6, 76, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 0, 26, 0, 27, - 28, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 225, 26, 227, 27, 28, 228, 230, 233, 234, + 66, 29, 33, 167, 30, 78, 71, 92, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 29, 0, 0, 30, 6, 7, 8, 9, - 111, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 0, 26, 0, 27, - 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 0, 0, 30, + 6, 57, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 0, 26, 0, 27, 28, 6, 76, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 0, 26, 0, 27, 28, + 0, 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 29, 0, 0, 30 + 29, 0, 0, 30, 6, 7, 8, 9, 111, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 0, 26, 0, 27, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 30 }; static const short yycheck[] = { 2, - 5, 95, 95, 24, 3, 4, 5, 6, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 8, 22, 19, - 20, 22, 69, 22, 145, 24, 29, 26, 27, 65, - 21, 67, 33, 34, 35, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 65, 92, 19, 20, 51, 52, - 9, 10, 11, 12, 13, 14, 15, 16, 179, 59, - 60, 65, 62, 67, 22, 60, 26, 27, 67, 64, - 28, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 58, 84, 19, 20, 87, 88, 59, 60, 53, 62, - 93, 59, 67, 112, 113, 114, 99, 60, 117, 67, - 65, 60, 206, 213, 67, 3, 4, 5, 6, 24, - 214, 221, 206, 206, 60, 118, 119, 23, 64, 23, - 214, 214, 59, 29, 22, 62, 24, 61, 26, 27, - 3, 4, 135, 136, 137, 138, 139, 60, 157, 65, - 60, 160, 161, 162, 67, 22, 149, 67, 25, 63, - 64, 24, 171, 26, 27, 9, 10, 11, 12, 13, - 14, 15, 16, 4, 183, 184, 60, 186, 65, 188, - 189, 190, 64, 67, 66, 61, 181, 196, 59, 198, - 64, 65, 62, 67, 187, 64, 65, 63, 67, 208, - 62, 210, 66, 212, 3, 4, 63, 64, 63, 64, - 64, 59, 65, 64, 64, 64, 225, 21, 21, 228, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 59, 24, 65, 26, 27, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 14, 24, 14, 26, 27, - 64, 64, 64, 59, 64, 64, 59, 21, 66, 62, - 60, 60, 64, 66, 21, 21, 64, 0, 0, 34, - 149, 2, 67, 39, 92, -1, -1, -1, -1, -1, - -1, 59, -1, -1, 62, 63, 3, 4, 5, 6, + 5, 95, 24, 57, 95, 69, 3, 4, 5, 6, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 143, + 22, 19, 20, 58, 208, 22, 29, 24, 92, 26, + 27, 66, 216, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 64, 8, 19, 20, 53, 59, 51, 52, + 59, 215, 66, 22, 66, 179, 21, 66, 65, 223, + 58, 59, 64, 61, 66, 34, 35, 36, 23, 66, + 9, 10, 11, 12, 13, 14, 15, 16, 26, 27, + 59, 84, 59, 58, 87, 88, 61, 66, 24, 66, + 93, 59, 112, 113, 114, 63, 99, 117, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 23, 59, 19, + 20, 4, 63, 29, 208, 118, 119, 208, 121, 60, + 59, 22, 216, 63, 64, 216, 66, 28, 3, 4, + 133, 134, 135, 136, 137, 155, 156, 62, 63, 159, + 160, 161, 63, 64, 147, 66, 64, 64, 58, 59, + 170, 61, 22, 62, 63, 25, 64, 60, 66, 3, + 4, 5, 6, 183, 184, 63, 186, 65, 58, 189, + 190, 191, 3, 4, 62, 63, 181, 197, 22, 199, + 24, 61, 26, 27, 187, 188, 62, 61, 65, 58, + 210, 63, 212, 24, 214, 26, 27, 9, 10, 11, + 12, 13, 14, 15, 16, 64, 63, 227, 63, 63, + 230, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 21, 24, 21, 26, 27, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, -1, 26, + 17, 18, 19, 20, 21, 22, 58, 24, 64, 26, + 27, 31, 14, 14, 63, 63, 58, 63, 63, 61, + 32, 33, 58, 65, 63, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 58, 65, 21, 61, 62, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 59, 24, 59, 26, 27, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, 26, 27, -1, -1, -1, -1, - -1, -1, 59, 31, 32, 62, 63, -1, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, -1, 59, -1, -1, - 62, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, 26, 27, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, -1, 26, - 27, -1, -1, -1, -1, -1, -1, 59, -1, -1, - 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 63, 24, 21, 26, 27, 63, 21, 0, 0, + 34, 58, 2, 147, 61, 62, 39, 67, 92, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 58, -1, -1, 61, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + -1, 24, -1, 26, 27, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, -1, 24, -1, 26, 27, + -1, -1, -1, -1, -1, 58, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, 62, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, -1, 26, - 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 58, -1, -1, 61, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, -1, 24, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, 62 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + -1, -1, 61 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/dcs/software/supported/encap/bison-1.28/share/bison.simple" @@ -1330,7 +1328,7 @@ yyreduce: switch (yyn) { case 2: -#line 436 "llvmAsmParser.y" +#line 433 "llvmAsmParser.y" { if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX) // Outside of my range! ThrowException("Value too large for type!"); @@ -1338,55 +1336,55 @@ case 2: ; break;} case 4: -#line 444 "llvmAsmParser.y" +#line 441 "llvmAsmParser.y" { if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX) // Outside of my range! ThrowException("Value too large for type!"); yyval.SInt64Val = (int64_t)yyvsp[0].UInt64Val; ; break;} -case 46: -#line 474 "llvmAsmParser.y" +case 43: +#line 471 "llvmAsmParser.y" { yyval.StrVal = yyvsp[-1].StrVal; ; break;} -case 47: -#line 477 "llvmAsmParser.y" +case 44: +#line 474 "llvmAsmParser.y" { yyval.StrVal = 0; ; break;} -case 48: -#line 481 "llvmAsmParser.y" +case 45: +#line 478 "llvmAsmParser.y" { // integral constants if (!ConstPoolSInt::isValueValidForType(yyvsp[-1].TypeVal, yyvsp[0].SInt64Val)) ThrowException("Constant value doesn't fit in type!"); yyval.ConstVal = new ConstPoolSInt(yyvsp[-1].TypeVal, yyvsp[0].SInt64Val); ; break;} -case 49: -#line 486 "llvmAsmParser.y" +case 46: +#line 483 "llvmAsmParser.y" { // integral constants if (!ConstPoolUInt::isValueValidForType(yyvsp[-1].TypeVal, yyvsp[0].UInt64Val)) ThrowException("Constant value doesn't fit in type!"); yyval.ConstVal = new ConstPoolUInt(yyvsp[-1].TypeVal, yyvsp[0].UInt64Val); ; break;} -case 50: -#line 491 "llvmAsmParser.y" +case 47: +#line 488 "llvmAsmParser.y" { // Boolean constants yyval.ConstVal = new ConstPoolBool(true); ; break;} -case 51: -#line 494 "llvmAsmParser.y" +case 48: +#line 491 "llvmAsmParser.y" { // Boolean constants yyval.ConstVal = new ConstPoolBool(false); ; break;} -case 52: -#line 497 "llvmAsmParser.y" +case 49: +#line 494 "llvmAsmParser.y" { // String constants cerr << "FIXME: TODO: String constants [sbyte] not implemented yet!\n"; abort(); @@ -1394,14 +1392,14 @@ case 52: free(yyvsp[0].StrVal); ; break;} -case 53: -#line 503 "llvmAsmParser.y" +case 50: +#line 500 "llvmAsmParser.y" { // Type constants yyval.ConstVal = new ConstPoolType(yyvsp[0].TypeVal); ; break;} -case 54: -#line 506 "llvmAsmParser.y" +case 51: +#line 503 "llvmAsmParser.y" { // Nonempty array constant // Verify all elements are correct type! const ArrayType *AT = ArrayType::getArrayType(yyvsp[-4].TypeVal); @@ -1416,15 +1414,15 @@ case 54: delete yyvsp[-1].ConstVector; ; break;} -case 55: -#line 519 "llvmAsmParser.y" +case 52: +#line 516 "llvmAsmParser.y" { // Empty array constant vector<ConstPoolVal*> Empty; yyval.ConstVal = new ConstPoolArray(ArrayType::getArrayType(yyvsp[-3].TypeVal), Empty); ; break;} -case 56: -#line 523 "llvmAsmParser.y" +case 53: +#line 520 "llvmAsmParser.y" { // Verify all elements are correct type! const ArrayType *AT = ArrayType::getArrayType(yyvsp[-4].TypeVal, (int)yyvsp[-6].UInt64Val); @@ -1444,8 +1442,8 @@ case 56: delete yyvsp[-1].ConstVector; ; break;} -case 57: -#line 541 "llvmAsmParser.y" +case 54: +#line 538 "llvmAsmParser.y" { if (yyvsp[-5].UInt64Val != 0) ThrowException("Type mismatch: constant sized array initialized with 0" @@ -1454,8 +1452,8 @@ case 57: yyval.ConstVal = new ConstPoolArray(ArrayType::getArrayType(yyvsp[-3].TypeVal, 0), Empty); ; break;} -case 58: -#line 548 "llvmAsmParser.y" +case 55: +#line 545 "llvmAsmParser.y" { StructType::ElementTypes Types(yyvsp[-4].TypeList->begin(), yyvsp[-4].TypeList->end()); delete yyvsp[-4].TypeList; @@ -1465,8 +1463,8 @@ case 58: delete yyvsp[-1].ConstVector; ; break;} -case 59: -#line 556 "llvmAsmParser.y" +case 56: +#line 553 "llvmAsmParser.y" { const StructType *St = StructType::getStructType(StructType::ElementTypes()); @@ -1474,21 +1472,21 @@ case 59: yyval.ConstVal = new ConstPoolStruct(St, Empty); ; break;} -case 60: -#line 570 "llvmAsmParser.y" +case 57: +#line 567 "llvmAsmParser.y" { (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(addConstValToConstantPool(yyvsp[0].ConstVal)); ; break;} -case 61: -#line 573 "llvmAsmParser.y" +case 58: +#line 570 "llvmAsmParser.y" { yyval.ConstVector = new vector<ConstPoolVal*>(); yyval.ConstVector->push_back(addConstValToConstantPool(yyvsp[0].ConstVal)); ; break;} -case 62: -#line 579 "llvmAsmParser.y" +case 59: +#line 576 "llvmAsmParser.y" { if (yyvsp[-1].StrVal) { yyvsp[0].ConstVal->setName(yyvsp[-1].StrVal); @@ -1498,38 +1496,38 @@ case 62: addConstValToConstantPool(yyvsp[0].ConstVal); ; break;} -case 63: -#line 587 "llvmAsmParser.y" +case 60: +#line 584 "llvmAsmParser.y" { ; break;} -case 64: -#line 598 "llvmAsmParser.y" +case 61: +#line 595 "llvmAsmParser.y" { yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal; CurModule.ModuleDone(); ; break;} -case 65: -#line 603 "llvmAsmParser.y" +case 62: +#line 600 "llvmAsmParser.y" { yyvsp[-1].ModuleVal->getMethodList().push_back(yyvsp[0].MethodVal); CurMeth.MethodDone(); yyval.ModuleVal = yyvsp[-1].ModuleVal; ; break;} -case 66: -#line 608 "llvmAsmParser.y" +case 63: +#line 605 "llvmAsmParser.y" { yyval.ModuleVal = CurModule.CurrentModule; ; break;} -case 68: -#line 617 "llvmAsmParser.y" +case 65: +#line 614 "llvmAsmParser.y" { yyval.StrVal = 0; ; break;} -case 69: -#line 619 "llvmAsmParser.y" +case 66: +#line 616 "llvmAsmParser.y" { yyval.MethArgVal = new MethodArgument(yyvsp[-1].TypeVal); if (yyvsp[0].StrVal) { // Was the argument named? @@ -1538,34 +1536,34 @@ case 69: } ; break;} -case 70: -#line 627 "llvmAsmParser.y" +case 67: +#line 624 "llvmAsmParser.y" { yyval.MethodArgList = yyvsp[0].MethodArgList; yyvsp[0].MethodArgList->push_front(yyvsp[-2].MethArgVal); ; break;} -case 71: -#line 631 "llvmAsmParser.y" +case 68: +#line 628 "llvmAsmParser.y" { yyval.MethodArgList = new list<MethodArgument*>(); yyval.MethodArgList->push_front(yyvsp[0].MethArgVal); ; break;} -case 72: -#line 636 "llvmAsmParser.y" +case 69: +#line 633 "llvmAsmParser.y" { yyval.MethodArgList = yyvsp[0].MethodArgList; ; break;} -case 73: -#line 639 "llvmAsmParser.y" +case 70: +#line 636 "llvmAsmParser.y" { yyval.MethodArgList = 0; ; break;} -case 74: -#line 643 "llvmAsmParser.y" +case 71: +#line 640 "llvmAsmParser.y" { MethodType::ParamTypes ParamTypeList; if (yyvsp[-1].MethodArgList) @@ -1593,68 +1591,68 @@ case 74: } ; break;} -case 75: -#line 670 "llvmAsmParser.y" +case 72: +#line 667 "llvmAsmParser.y" { yyval.MethodVal = CurMeth.CurrentMethod; ; break;} -case 76: -#line 674 "llvmAsmParser.y" +case 73: +#line 671 "llvmAsmParser.y" { yyval.MethodVal = yyvsp[-1].MethodVal; ; break;} -case 77: -#line 683 "llvmAsmParser.y" +case 74: +#line 680 "llvmAsmParser.y" { // A reference to a direct constant yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val); ; break;} -case 78: -#line 686 "llvmAsmParser.y" +case 75: +#line 683 "llvmAsmParser.y" { yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val); ; break;} -case 79: -#line 689 "llvmAsmParser.y" +case 76: +#line 686 "llvmAsmParser.y" { yyval.ValIDVal = ValID::create((int64_t)1); ; break;} -case 80: -#line 692 "llvmAsmParser.y" +case 77: +#line 689 "llvmAsmParser.y" { yyval.ValIDVal = ValID::create((int64_t)0); ; break;} -case 81: -#line 695 "llvmAsmParser.y" +case 78: +#line 692 "llvmAsmParser.y" { // Quoted strings work too... especially for methods yyval.ValIDVal = ValID::create_conststr(yyvsp[0].StrVal); ; break;} -case 82: -#line 700 "llvmAsmParser.y" +case 79: +#line 697 "llvmAsmParser.y" { // Is it an integer reference...? yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal); ; break;} -case 83: -#line 703 "llvmAsmParser.y" +case 80: +#line 700 "llvmAsmParser.y" { // It must be a named reference then... yyval.ValIDVal = ValID::create(yyvsp[0].StrVal); ; break;} -case 84: -#line 706 "llvmAsmParser.y" +case 81: +#line 703 "llvmAsmParser.y" { yyval.ValIDVal = yyvsp[0].ValIDVal; ; break;} -case 85: -#line 713 "llvmAsmParser.y" +case 82: +#line 710 "llvmAsmParser.y" { Value *D = getVal(Type::TypeTy, yyvsp[0].ValIDVal, true); if (D == 0) ThrowException("Invalid user defined type: " + yyvsp[0].ValIDVal.getName()); @@ -1664,90 +1662,90 @@ case 85: yyval.TypeVal = CPT->getValue(); ; break;} -case 86: -#line 721 "llvmAsmParser.y" +case 83: +#line 718 "llvmAsmParser.y" { // Method derived type? MethodType::ParamTypes Params(yyvsp[-1].TypeList->begin(), yyvsp[-1].TypeList->end()); delete yyvsp[-1].TypeList; yyval.TypeVal = MethodType::getMethodType(yyvsp[-3].TypeVal, Params); ; break;} -case 87: -#line 726 "llvmAsmParser.y" +case 84: +#line 723 "llvmAsmParser.y" { // Method derived type? MethodType::ParamTypes Params; // Empty list yyval.TypeVal = MethodType::getMethodType(yyvsp[-2].TypeVal, Params); ; break;} -case 88: -#line 730 "llvmAsmParser.y" +case 85: +#line 727 "llvmAsmParser.y" { yyval.TypeVal = ArrayType::getArrayType(yyvsp[-1].TypeVal); ; break;} -case 89: -#line 733 "llvmAsmParser.y" +case 86: +#line 730 "llvmAsmParser.y" { yyval.TypeVal = ArrayType::getArrayType(yyvsp[-1].TypeVal, (int)yyvsp[-3].UInt64Val); ; break;} -case 90: -#line 736 "llvmAsmParser.y" +case 87: +#line 733 "llvmAsmParser.y" { StructType::ElementTypes Elements(yyvsp[-1].TypeList->begin(), yyvsp[-1].TypeList->end()); delete yyvsp[-1].TypeList; yyval.TypeVal = StructType::getStructType(Elements); ; break;} -case 91: -#line 741 "llvmAsmParser.y" +case 88: +#line 738 "llvmAsmParser.y" { yyval.TypeVal = StructType::getStructType(StructType::ElementTypes()); ; break;} -case 92: -#line 744 "llvmAsmParser.y" +case 89: +#line 741 "llvmAsmParser.y" { yyval.TypeVal = PointerType::getPointerType(yyvsp[-1].TypeVal); ; break;} -case 93: -#line 749 "llvmAsmParser.y" +case 90: +#line 746 "llvmAsmParser.y" { yyval.TypeList = new list<const Type*>(); yyval.TypeList->push_back(yyvsp[0].TypeVal); ; break;} -case 94: -#line 753 "llvmAsmParser.y" +case 91: +#line 750 "llvmAsmParser.y" { (yyval.TypeList=yyvsp[-2].TypeList)->push_back(yyvsp[0].TypeVal); ; break;} -case 95: -#line 758 "llvmAsmParser.y" +case 92: +#line 755 "llvmAsmParser.y" { yyvsp[-1].MethodVal->getBasicBlocks().push_back(yyvsp[0].BasicBlockVal); yyval.MethodVal = yyvsp[-1].MethodVal; ; break;} -case 96: -#line 762 "llvmAsmParser.y" +case 93: +#line 759 "llvmAsmParser.y" { // Do not allow methods with 0 basic blocks yyval.MethodVal = yyvsp[-1].MethodVal; // in them... yyvsp[-1].MethodVal->getBasicBlocks().push_back(yyvsp[0].BasicBlockVal); ; break;} -case 97: -#line 771 "llvmAsmParser.y" +case 94: +#line 768 "llvmAsmParser.y" { yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].TermInstVal); InsertValue(yyvsp[-1].BasicBlockVal); yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; ; break;} -case 98: -#line 776 "llvmAsmParser.y" +case 95: +#line 773 "llvmAsmParser.y" { yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].TermInstVal); yyvsp[-1].BasicBlockVal->setName(yyvsp[-2].StrVal); @@ -1757,47 +1755,47 @@ case 98: yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; ; break;} -case 99: -#line 785 "llvmAsmParser.y" +case 96: +#line 782 "llvmAsmParser.y" { yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal); yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; ; break;} -case 100: -#line 789 "llvmAsmParser.y" +case 97: +#line 786 "llvmAsmParser.y" { yyval.BasicBlockVal = new BasicBlock(); ; break;} -case 101: -#line 793 "llvmAsmParser.y" +case 98: +#line 790 "llvmAsmParser.y" { // Return with a result... yyval.TermInstVal = new ReturnInst(getVal(yyvsp[-1].TypeVal, yyvsp[0].ValIDVal)); ; break;} -case 102: -#line 796 "llvmAsmParser.y" +case 99: +#line 793 "llvmAsmParser.y" { // Return with no result... yyval.TermInstVal = new ReturnInst(); ; break;} -case 103: -#line 799 "llvmAsmParser.y" +case 100: +#line 796 "llvmAsmParser.y" { // Unconditional Branch... yyval.TermInstVal = new BranchInst((BasicBlock*)getVal(Type::LabelTy, yyvsp[0].ValIDVal)); ; break;} -case 104: -#line 802 "llvmAsmParser.y" +case 101: +#line 799 "llvmAsmParser.y" { yyval.TermInstVal = new BranchInst((BasicBlock*)getVal(Type::LabelTy, yyvsp[-3].ValIDVal), (BasicBlock*)getVal(Type::LabelTy, yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal)); ; break;} -case 105: -#line 807 "llvmAsmParser.y" +case 102: +#line 804 "llvmAsmParser.y" { SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].TypeVal, yyvsp[-6].ValIDVal), (BasicBlock*)getVal(Type::LabelTy, yyvsp[-3].ValIDVal)); @@ -1809,8 +1807,8 @@ case 105: S->dest_push_back(I->first, I->second); ; break;} -case 106: -#line 818 "llvmAsmParser.y" +case 103: +#line 815 "llvmAsmParser.y" { yyval.JumpTable = yyvsp[-5].JumpTable; ConstPoolVal *V = (ConstPoolVal*)getVal(yyvsp[-4].TypeVal, yyvsp[-3].ValIDVal, true); @@ -1820,8 +1818,8 @@ case 106: yyval.JumpTable->push_back(make_pair(V, (BasicBlock*)getVal(yyvsp[-1].TypeVal, yyvsp[0].ValIDVal))); ; break;} -case 107: -#line 826 "llvmAsmParser.y" +case 104: +#line 823 "llvmAsmParser.y" { yyval.JumpTable = new list<pair<ConstPoolVal*, BasicBlock*> >(); ConstPoolVal *V = (ConstPoolVal*)getVal(yyvsp[-4].TypeVal, yyvsp[-3].ValIDVal, true); @@ -1832,8 +1830,8 @@ case 107: yyval.JumpTable->push_back(make_pair(V, (BasicBlock*)getVal(yyvsp[-1].TypeVal, yyvsp[0].ValIDVal))); ; break;} -case 108: -#line 836 "llvmAsmParser.y" +case 105: +#line 833 "llvmAsmParser.y" { if (yyvsp[-1].StrVal) // Is this definition named?? yyvsp[0].InstVal->setName(yyvsp[-1].StrVal); // if so, assign the name... @@ -1842,57 +1840,63 @@ case 108: yyval.InstVal = yyvsp[0].InstVal; ; break;} -case 109: -#line 844 "llvmAsmParser.y" +case 106: +#line 841 "llvmAsmParser.y" { // Used for PHI nodes yyval.PHIList = new list<pair<Value*, BasicBlock*> >(); yyval.PHIList->push_back(make_pair(getVal(yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal), (BasicBlock*)getVal(Type::LabelTy, yyvsp[-1].ValIDVal))); ; break;} -case 110: -#line 849 "llvmAsmParser.y" +case 107: +#line 846 "llvmAsmParser.y" { yyval.PHIList = yyvsp[-6].PHIList; yyvsp[-6].PHIList->push_back(make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal), (BasicBlock*)getVal(Type::LabelTy, yyvsp[-1].ValIDVal))); ; break;} -case 111: -#line 856 "llvmAsmParser.y" +case 108: +#line 853 "llvmAsmParser.y" { // Used for call statements... yyval.ValueList = new list<Value*>(); yyval.ValueList->push_back(getVal(yyvsp[-1].TypeVal, yyvsp[0].ValIDVal)); ; break;} -case 112: -#line 860 "llvmAsmParser.y" +case 109: +#line 857 "llvmAsmParser.y" { yyval.ValueList = yyvsp[-2].ValueList; yyvsp[-2].ValueList->push_back(getVal(yyvsp[-2].ValueList->front()->getType(), yyvsp[0].ValIDVal)); ; break;} -case 114: -#line 866 "llvmAsmParser.y" +case 111: +#line 863 "llvmAsmParser.y" { yyval.ValueList = 0; ; break;} -case 115: -#line 868 "llvmAsmParser.y" +case 112: +#line 865 "llvmAsmParser.y" { yyval.InstVal = BinaryOperator::create(yyvsp[-4].BinaryOpVal, getVal(yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal), getVal(yyvsp[-3].TypeVal, yyvsp[0].ValIDVal)); if (yyval.InstVal == 0) ThrowException("binary operator returned null!"); ; break;} -case 116: -#line 873 "llvmAsmParser.y" +case 113: +#line 870 "llvmAsmParser.y" { yyval.InstVal = UnaryOperator::create(yyvsp[-2].UnaryOpVal, getVal(yyvsp[-1].TypeVal, yyvsp[0].ValIDVal)); if (yyval.InstVal == 0) ThrowException("unary operator returned null!"); ; break;} -case 117: +case 114: +#line 875 "llvmAsmParser.y" +{ + yyval.InstVal = UnaryOperator::create(yyvsp[-4].UnaryOpVal, getVal(yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal), yyvsp[0].TypeVal); + ; + break;} +case 115: #line 878 "llvmAsmParser.y" { const Type *Ty = yyvsp[0].PHIList->front().first->getType(); @@ -1906,7 +1910,7 @@ case 117: delete yyvsp[0].PHIList; // Free the list... ; break;} -case 118: +case 116: #line 889 "llvmAsmParser.y" { if (!yyvsp[-4].TypeVal->isMethodType()) @@ -1946,13 +1950,13 @@ case 118: yyval.InstVal = new CallInst((Method*)V, Params); ; break;} -case 119: +case 117: #line 926 "llvmAsmParser.y" { yyval.InstVal = yyvsp[0].InstVal; ; break;} -case 120: +case 118: #line 930 "llvmAsmParser.y" { const Type *Ty = PointerType::getPointerType(yyvsp[0].TypeVal); @@ -1960,7 +1964,7 @@ case 120: yyval.InstVal = new MallocInst(Ty); ; break;} -case 121: +case 119: #line 935 "llvmAsmParser.y" { if (!yyvsp[-3].TypeVal->isArrayType() || ((const ArrayType*)yyvsp[-3].TypeVal)->isSized()) @@ -1972,7 +1976,7 @@ case 121: yyval.InstVal = new MallocInst(Ty, ArrSize); ; break;} -case 122: +case 120: #line 944 "llvmAsmParser.y" { const Type *Ty = PointerType::getPointerType(yyvsp[0].TypeVal); @@ -1980,7 +1984,7 @@ case 122: yyval.InstVal = new AllocaInst(Ty); ; break;} -case 123: +case 121: #line 949 "llvmAsmParser.y" { if (!yyvsp[-3].TypeVal->isArrayType() || ((const ArrayType*)yyvsp[-3].TypeVal)->isSized()) @@ -1992,7 +1996,7 @@ case 123: yyval.InstVal = new AllocaInst(Ty, ArrSize); ; break;} -case 124: +case 122: #line 958 "llvmAsmParser.y" { if (!yyvsp[-1].TypeVal->isPointerType()) @@ -2224,7 +2228,7 @@ yyerrhandle: } #line 964 "llvmAsmParser.y" -int yyerror(char *ErrorMsg) { +int yyerror(const char *ErrorMsg) { ThrowException(string("Parse error: ") + ErrorMsg); return 0; } |