From da1a853a493f5b3e8a18920ff74831c63d2351ae Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 12 Nov 2005 18:22:38 +0000 Subject: [PATCH] regenerate llvm-svn: 24328 --- lib/AsmParser/llvmAsmParser.cpp | 1693 ++++++++++++++++--------------- 1 file changed, 853 insertions(+), 840 deletions(-) diff --git a/lib/AsmParser/llvmAsmParser.cpp b/lib/AsmParser/llvmAsmParser.cpp index 305bdc6273e..098590749ee 100644 --- a/lib/AsmParser/llvmAsmParser.cpp +++ b/lib/AsmParser/llvmAsmParser.cpp @@ -1,5 +1,5 @@ -/* A Bison parser, made from /Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y +/* A Bison parser, made from /Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ @@ -105,7 +105,7 @@ #define VAARG_old 348 #define VANEXT_old 349 -#line 14 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 14 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -145,7 +145,8 @@ static Module *ParserResult; static bool ObsoleteVarArgs; static bool NewVarArgs; -static BasicBlock* CurBB; +static BasicBlock *CurBB; +static GlobalVariable *CurGV; // This contains info used when building the body of a function. It is @@ -610,13 +611,10 @@ static void setValueName(Value *V, char *NameStr) { /// ParseGlobalVariable - Handle parsing of a global. If Initializer is null, /// this is a declaration, otherwise it is a definition. -static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, - bool isConstantGlobal, const Type *Ty, - Constant *Initializer, char *Section, - unsigned Align) { - if (Align != 0 && !isPowerOf2_32(Align)) - ThrowException("Global alignment must be a power of two!"); - +static GlobalVariable * +ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, + bool isConstantGlobal, const Type *Ty, + Constant *Initializer) { if (isa(Ty)) ThrowException("Cannot declare global vars of function type!"); @@ -646,13 +644,8 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, GV->setInitializer(Initializer); GV->setLinkage(Linkage); GV->setConstant(isConstantGlobal); - GV->setAlignment(Align); - if (Section) { - free(Section); - GV->setSection(Section); - } InsertValue(GV, CurModule.Values); - return; + return GV; } // If this global has a name, check to see if there is already a definition @@ -677,12 +670,7 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, if (isConstantGlobal) EGV->setConstant(true); EGV->setLinkage(Linkage); - EGV->setAlignment(Align); - if (Section) { - free(Section); - EGV->setSection(Section); - } - return; + return EGV; } ThrowException("Redefinition of global variable named '" + Name + @@ -694,12 +682,8 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, GlobalVariable *GV = new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name, CurModule.CurrentModule); - GV->setAlignment(Align); - if (Section) { - free(Section); - GV->setSection(Section); - } InsertValue(GV, CurModule.Values); + return GV; } // setTypeName - Set the specified type to the name given. The name may be @@ -977,7 +961,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { } -#line 886 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 870 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" typedef union { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1027,11 +1011,11 @@ typedef union { -#define YYFINAL 439 +#define YYFINAL 443 #define YYFLAG -32768 #define YYNTBASE 110 -#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 176) +#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 179) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1078,23 +1062,24 @@ static const short yyprhs[] = { 0, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 67, 68, 70, 72, 74, 76, 77, 78, 80, 82, 84, 87, 88, 91, 92, 96, 99, - 100, 102, 103, 106, 108, 110, 112, 114, 116, 118, - 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, - 140, 142, 144, 146, 148, 151, 156, 162, 168, 172, - 175, 178, 180, 184, 186, 190, 192, 193, 198, 202, - 206, 211, 216, 220, 223, 226, 229, 232, 235, 238, - 241, 244, 247, 250, 257, 263, 272, 279, 286, 293, - 300, 304, 306, 308, 310, 312, 315, 318, 321, 323, - 328, 331, 339, 347, 351, 356, 357, 359, 361, 365, - 369, 373, 377, 381, 383, 384, 386, 388, 390, 391, - 394, 398, 400, 402, 406, 408, 409, 418, 420, 422, - 426, 428, 430, 433, 434, 438, 440, 442, 444, 446, - 448, 450, 452, 456, 458, 460, 462, 464, 466, 469, - 472, 475, 479, 482, 483, 485, 488, 491, 495, 505, - 515, 524, 538, 540, 542, 549, 555, 558, 565, 573, - 575, 579, 581, 582, 585, 587, 593, 599, 605, 608, - 613, 618, 625, 630, 635, 640, 643, 651, 653, 656, - 657, 659, 660, 664, 671, 675, 682, 685, 690, 697 + 100, 102, 103, 107, 109, 112, 114, 116, 118, 120, + 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, + 142, 144, 146, 148, 150, 152, 154, 157, 162, 168, + 174, 178, 181, 184, 186, 190, 192, 196, 198, 199, + 204, 208, 212, 217, 222, 226, 229, 232, 235, 238, + 241, 244, 247, 250, 253, 256, 263, 269, 278, 285, + 292, 299, 306, 310, 312, 314, 316, 318, 321, 324, + 327, 329, 334, 337, 338, 346, 347, 355, 359, 364, + 365, 367, 369, 373, 377, 381, 385, 389, 391, 392, + 394, 396, 398, 399, 402, 406, 408, 410, 414, 416, + 417, 426, 428, 430, 434, 436, 438, 441, 442, 446, + 448, 450, 452, 454, 456, 458, 460, 464, 466, 468, + 470, 472, 474, 477, 480, 483, 487, 490, 491, 493, + 496, 499, 503, 513, 523, 532, 546, 548, 550, 557, + 563, 566, 573, 581, 583, 587, 589, 590, 593, 595, + 601, 607, 613, 616, 621, 626, 633, 638, 643, 648, + 651, 659, 661, 664, 665, 667, 668, 672, 679, 683, + 690, 693, 698, 705 }; static const short yyrhs[] = { 5, @@ -1104,99 +1089,100 @@ static const short yyrhs[] = { 5, 0, 80, 0, 81, 0, 91, 0, 92, 0, 16, 0, 14, 0, 12, 0, 10, 0, 17, 0, 15, 0, 13, 0, 11, 0, 116, 0, 117, 0, 18, - 0, 19, 0, 146, 96, 0, 0, 41, 0, 42, + 0, 19, 0, 149, 96, 0, 0, 41, 0, 42, 0, 43, 0, 44, 0, 0, 0, 59, 0, 60, 0, 61, 0, 58, 4, 0, 0, 54, 4, 0, 0, 97, 54, 4, 0, 34, 24, 0, 0, 125, - 0, 0, 97, 125, 0, 130, 0, 8, 0, 132, - 0, 8, 0, 132, 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, 45, 0, 131, 0, 159, 0, 98, 4, 0, - 129, 99, 134, 100, 0, 101, 4, 102, 132, 103, - 0, 104, 4, 102, 132, 105, 0, 106, 133, 107, - 0, 106, 107, 0, 132, 108, 0, 132, 0, 133, - 97, 132, 0, 133, 0, 133, 97, 37, 0, 37, - 0, 0, 130, 101, 137, 103, 0, 130, 101, 103, - 0, 130, 109, 24, 0, 130, 104, 137, 105, 0, - 130, 106, 137, 107, 0, 130, 106, 107, 0, 130, - 38, 0, 130, 39, 0, 130, 159, 0, 130, 136, - 0, 130, 26, 0, 116, 111, 0, 117, 4, 0, - 9, 27, 0, 9, 28, 0, 119, 7, 0, 89, - 99, 135, 36, 130, 100, 0, 87, 99, 135, 173, - 100, 0, 90, 99, 135, 97, 135, 97, 135, 100, - 0, 112, 99, 135, 97, 135, 100, 0, 113, 99, - 135, 97, 135, 100, 0, 114, 99, 135, 97, 135, - 100, 0, 115, 99, 135, 97, 135, 100, 0, 137, - 97, 135, 0, 135, 0, 32, 0, 33, 0, 140, - 0, 140, 155, 0, 140, 156, 0, 140, 25, 0, - 141, 0, 141, 120, 20, 128, 0, 141, 156, 0, - 141, 120, 121, 138, 135, 127, 124, 0, 141, 120, - 47, 138, 130, 127, 124, 0, 141, 48, 143, 0, - 141, 55, 96, 144, 0, 0, 53, 0, 52, 0, - 50, 96, 142, 0, 51, 96, 4, 0, 49, 96, - 24, 0, 101, 145, 103, 0, 145, 97, 24, 0, - 24, 0, 0, 22, 0, 24, 0, 146, 0, 0, - 130, 147, 0, 149, 97, 148, 0, 148, 0, 149, - 0, 149, 97, 37, 0, 37, 0, 0, 122, 128, - 146, 99, 150, 100, 126, 123, 0, 29, 0, 106, - 0, 121, 151, 152, 0, 30, 0, 107, 0, 162, - 154, 0, 0, 31, 157, 151, 0, 3, 0, 4, - 0, 7, 0, 27, 0, 28, 0, 38, 0, 39, - 0, 104, 137, 105, 0, 136, 0, 110, 0, 146, - 0, 159, 0, 158, 0, 130, 160, 0, 162, 163, - 0, 153, 163, 0, 164, 120, 165, 0, 164, 167, - 0, 0, 23, 0, 62, 161, 0, 62, 8, 0, - 63, 21, 160, 0, 63, 9, 160, 97, 21, 160, - 97, 21, 160, 0, 64, 118, 160, 97, 21, 160, - 101, 166, 103, 0, 64, 118, 160, 97, 21, 160, - 101, 103, 0, 65, 122, 128, 160, 99, 170, 100, - 36, 21, 160, 66, 21, 160, 0, 66, 0, 67, - 0, 166, 118, 158, 97, 21, 160, 0, 118, 158, - 97, 21, 160, 0, 120, 172, 0, 130, 101, 160, - 97, 160, 103, 0, 168, 97, 101, 160, 97, 160, - 103, 0, 161, 0, 169, 97, 161, 0, 169, 0, - 0, 57, 56, 0, 56, 0, 112, 130, 160, 97, - 160, 0, 113, 130, 160, 97, 160, 0, 114, 130, - 160, 97, 160, 0, 46, 161, 0, 115, 161, 97, - 161, 0, 89, 161, 36, 130, 0, 90, 161, 97, - 161, 97, 161, 0, 93, 161, 97, 130, 0, 94, - 161, 97, 130, 0, 95, 161, 97, 130, 0, 88, - 168, 0, 171, 122, 128, 160, 99, 170, 100, 0, - 175, 0, 97, 169, 0, 0, 35, 0, 0, 82, - 130, 124, 0, 82, 130, 97, 15, 160, 124, 0, - 83, 130, 124, 0, 83, 130, 97, 15, 160, 124, - 0, 84, 161, 0, 174, 85, 130, 160, 0, 174, - 86, 161, 97, 130, 160, 0, 87, 130, 160, 173, - 0 + 0, 0, 97, 128, 127, 0, 125, 0, 54, 4, + 0, 131, 0, 8, 0, 133, 0, 8, 0, 133, + 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, 45, 0, 132, + 0, 162, 0, 98, 4, 0, 130, 99, 135, 100, + 0, 101, 4, 102, 133, 103, 0, 104, 4, 102, + 133, 105, 0, 106, 134, 107, 0, 106, 107, 0, + 133, 108, 0, 133, 0, 134, 97, 133, 0, 134, + 0, 134, 97, 37, 0, 37, 0, 0, 131, 101, + 138, 103, 0, 131, 101, 103, 0, 131, 109, 24, + 0, 131, 104, 138, 105, 0, 131, 106, 138, 107, + 0, 131, 106, 107, 0, 131, 38, 0, 131, 39, + 0, 131, 162, 0, 131, 137, 0, 131, 26, 0, + 116, 111, 0, 117, 4, 0, 9, 27, 0, 9, + 28, 0, 119, 7, 0, 89, 99, 136, 36, 131, + 100, 0, 87, 99, 136, 176, 100, 0, 90, 99, + 136, 97, 136, 97, 136, 100, 0, 112, 99, 136, + 97, 136, 100, 0, 113, 99, 136, 97, 136, 100, + 0, 114, 99, 136, 97, 136, 100, 0, 115, 99, + 136, 97, 136, 100, 0, 138, 97, 136, 0, 136, + 0, 32, 0, 33, 0, 141, 0, 141, 158, 0, + 141, 159, 0, 141, 25, 0, 142, 0, 142, 120, + 20, 129, 0, 142, 159, 0, 0, 142, 120, 121, + 139, 136, 143, 127, 0, 0, 142, 120, 47, 139, + 131, 144, 127, 0, 142, 48, 146, 0, 142, 55, + 96, 147, 0, 0, 53, 0, 52, 0, 50, 96, + 145, 0, 51, 96, 4, 0, 49, 96, 24, 0, + 101, 148, 103, 0, 148, 97, 24, 0, 24, 0, + 0, 22, 0, 24, 0, 149, 0, 0, 131, 150, + 0, 152, 97, 151, 0, 151, 0, 152, 0, 152, + 97, 37, 0, 37, 0, 0, 122, 129, 149, 99, + 153, 100, 126, 123, 0, 29, 0, 106, 0, 121, + 154, 155, 0, 30, 0, 107, 0, 165, 157, 0, + 0, 31, 160, 154, 0, 3, 0, 4, 0, 7, + 0, 27, 0, 28, 0, 38, 0, 39, 0, 104, + 138, 105, 0, 137, 0, 110, 0, 149, 0, 162, + 0, 161, 0, 131, 163, 0, 165, 166, 0, 156, + 166, 0, 167, 120, 168, 0, 167, 170, 0, 0, + 23, 0, 62, 164, 0, 62, 8, 0, 63, 21, + 163, 0, 63, 9, 163, 97, 21, 163, 97, 21, + 163, 0, 64, 118, 163, 97, 21, 163, 101, 169, + 103, 0, 64, 118, 163, 97, 21, 163, 101, 103, + 0, 65, 122, 129, 163, 99, 173, 100, 36, 21, + 163, 66, 21, 163, 0, 66, 0, 67, 0, 169, + 118, 161, 97, 21, 163, 0, 118, 161, 97, 21, + 163, 0, 120, 175, 0, 131, 101, 163, 97, 163, + 103, 0, 171, 97, 101, 163, 97, 163, 103, 0, + 164, 0, 172, 97, 164, 0, 172, 0, 0, 57, + 56, 0, 56, 0, 112, 131, 163, 97, 163, 0, + 113, 131, 163, 97, 163, 0, 114, 131, 163, 97, + 163, 0, 46, 164, 0, 115, 164, 97, 164, 0, + 89, 164, 36, 131, 0, 90, 164, 97, 164, 97, + 164, 0, 93, 164, 97, 131, 0, 94, 164, 97, + 131, 0, 95, 164, 97, 131, 0, 88, 171, 0, + 174, 122, 129, 163, 99, 173, 100, 0, 178, 0, + 97, 172, 0, 0, 35, 0, 0, 82, 131, 124, + 0, 82, 131, 97, 15, 163, 124, 0, 83, 131, + 124, 0, 83, 131, 97, 15, 163, 124, 0, 84, + 164, 0, 177, 85, 131, 163, 0, 177, 86, 164, + 97, 131, 163, 0, 87, 131, 163, 176, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 1004, 1005, 1012, 1013, 1022, 1022, 1022, 1022, 1022, 1023, - 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1026, 1026, - 1030, 1030, 1030, 1030, 1031, 1031, 1031, 1031, 1032, 1032, - 1033, 1033, 1036, 1039, 1043, 1043, 1044, 1045, 1046, 1049, - 1049, 1050, 1051, 1052, 1061, 1061, 1063, 1063, 1066, 1073, - 1073, 1075, 1075, 1086, 1086, 1087, 1087, 1089, 1098, 1098, - 1098, 1098, 1098, 1098, 1098, 1099, 1099, 1099, 1099, 1099, - 1099, 1100, 1103, 1106, 1112, 1119, 1131, 1135, 1146, 1155, - 1158, 1166, 1170, 1175, 1176, 1179, 1182, 1192, 1217, 1230, - 1258, 1283, 1303, 1315, 1324, 1328, 1387, 1393, 1401, 1406, - 1411, 1414, 1417, 1424, 1434, 1465, 1472, 1493, 1500, 1505, - 1515, 1518, 1525, 1525, 1535, 1542, 1546, 1549, 1552, 1565, - 1585, 1587, 1591, 1595, 1597, 1599, 1604, 1605, 1607, 1610, - 1618, 1623, 1625, 1629, 1633, 1641, 1641, 1642, 1642, 1644, - 1650, 1655, 1661, 1664, 1669, 1673, 1677, 1765, 1765, 1767, - 1775, 1775, 1777, 1781, 1781, 1790, 1793, 1796, 1799, 1802, - 1805, 1808, 1811, 1835, 1842, 1845, 1850, 1850, 1856, 1860, - 1863, 1871, 1880, 1884, 1894, 1905, 1908, 1911, 1914, 1917, - 1931, 1935, 1988, 1991, 1997, 2005, 2015, 2022, 2027, 2034, - 2038, 2044, 2044, 2046, 2049, 2055, 2067, 2075, 2085, 2097, - 2104, 2111, 2118, 2123, 2142, 2164, 2178, 2235, 2241, 2243, - 2247, 2250, 2256, 2263, 2270, 2277, 2284, 2291, 2301, 2314 + 988, 989, 996, 997, 1006, 1006, 1006, 1006, 1006, 1007, + 1007, 1007, 1008, 1008, 1008, 1008, 1008, 1008, 1010, 1010, + 1014, 1014, 1014, 1014, 1015, 1015, 1015, 1015, 1016, 1016, + 1017, 1017, 1020, 1023, 1027, 1027, 1028, 1029, 1030, 1033, + 1033, 1034, 1035, 1036, 1045, 1045, 1051, 1051, 1059, 1066, + 1066, 1072, 1072, 1074, 1078, 1089, 1089, 1090, 1090, 1092, + 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, 1102, + 1102, 1102, 1102, 1103, 1106, 1109, 1115, 1122, 1134, 1138, + 1149, 1158, 1161, 1169, 1173, 1178, 1179, 1182, 1185, 1195, + 1220, 1233, 1261, 1286, 1306, 1318, 1327, 1331, 1390, 1396, + 1404, 1409, 1414, 1417, 1420, 1427, 1437, 1468, 1475, 1496, + 1503, 1508, 1518, 1521, 1528, 1528, 1538, 1545, 1549, 1552, + 1555, 1568, 1588, 1590, 1593, 1596, 1600, 1603, 1605, 1607, + 1612, 1613, 1615, 1618, 1626, 1631, 1633, 1637, 1641, 1649, + 1649, 1650, 1650, 1652, 1658, 1663, 1669, 1672, 1677, 1681, + 1685, 1771, 1771, 1773, 1781, 1781, 1783, 1787, 1787, 1796, + 1799, 1802, 1805, 1808, 1811, 1814, 1817, 1841, 1848, 1851, + 1856, 1856, 1862, 1866, 1869, 1877, 1886, 1890, 1900, 1911, + 1914, 1917, 1920, 1923, 1937, 1941, 1994, 1997, 2003, 2011, + 2021, 2028, 2033, 2040, 2044, 2050, 2050, 2052, 2055, 2061, + 2073, 2081, 2091, 2103, 2110, 2117, 2124, 2129, 2148, 2170, + 2184, 2241, 2247, 2249, 2253, 2256, 2262, 2266, 2270, 2274, + 2278, 2285, 2295, 2308 }; #endif @@ -1218,14 +1204,15 @@ static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL" "'x'","']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps", "LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType", "OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","SectionString", -"OptSection","OptCSection","TypesV","UpRTypesV","Types","PrimType","UpRTypes", -"TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType", -"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition", -"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN", -"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef", -"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst", -"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal", -"IndexList","OptVolatile","MemoryInst", NULL +"OptSection","GlobalVarAttributes","GlobalVarAttribute","TypesV","UpRTypesV", +"Types","PrimType","UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr", +"ConstVector","GlobalType","Module","FunctionList","ConstPool","@1","@2","BigOrLittle", +"TargetDefinition","LibrariesDefinition","LibList","Name","OptName","ArgVal", +"ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader","END","Function", +"FunctionProto","@3","ConstValueRef","SymbolicValueRef","ValueRef","ResolvedVal", +"BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst","JumpTable", +"Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal","IndexList", +"OptVolatile","MemoryInst", NULL }; #endif @@ -1235,23 +1222,24 @@ static const short yyr1[] = { 0, 116, 116, 116, 116, 117, 117, 117, 117, 118, 118, 119, 119, 120, 120, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 123, 123, 124, 124, 125, 126, - 126, 127, 127, 128, 128, 129, 129, 130, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 133, 133, 134, 134, 134, 134, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, - 137, 137, 138, 138, 139, 140, 140, 140, 140, 141, - 141, 141, 141, 141, 141, 141, 142, 142, 143, 143, - 143, 144, 145, 145, 145, 146, 146, 147, 147, 148, - 149, 149, 150, 150, 150, 150, 151, 152, 152, 153, - 154, 154, 155, 157, 156, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 159, 159, 160, 160, 161, 162, - 162, 163, 164, 164, 164, 165, 165, 165, 165, 165, - 165, 165, 165, 165, 166, 166, 167, 168, 168, 169, - 169, 170, 170, 171, 171, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, - 174, 174, 175, 175, 175, 175, 175, 175, 175, 175 + 126, 127, 127, 128, 128, 129, 129, 130, 130, 131, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 134, 134, 135, 135, 135, 135, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, + 137, 137, 138, 138, 139, 139, 140, 141, 141, 141, + 141, 142, 142, 143, 142, 144, 142, 142, 142, 142, + 145, 145, 146, 146, 146, 147, 148, 148, 148, 149, + 149, 150, 150, 151, 152, 152, 153, 153, 153, 153, + 154, 155, 155, 156, 157, 157, 158, 160, 159, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, + 163, 163, 164, 165, 165, 166, 167, 167, 167, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, + 170, 171, 171, 172, 172, 173, 173, 174, 174, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 176, 176, 177, 177, 178, 178, 178, 178, + 178, 178, 178, 178 }; static const short yyr2[] = { 0, @@ -1260,391 +1248,396 @@ static const short yyr2[] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 2, 0, 2, 0, 3, 2, 0, - 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 4, 5, 5, 3, 2, - 2, 1, 3, 1, 3, 1, 0, 4, 3, 3, - 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 6, 5, 8, 6, 6, 6, 6, - 3, 1, 1, 1, 1, 2, 2, 2, 1, 4, - 2, 7, 7, 3, 4, 0, 1, 1, 3, 3, - 3, 3, 3, 1, 0, 1, 1, 1, 0, 2, - 3, 1, 1, 3, 1, 0, 8, 1, 1, 3, - 1, 1, 2, 0, 3, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 1, 1, 2, 2, - 2, 3, 2, 0, 1, 2, 2, 3, 9, 9, - 8, 13, 1, 1, 6, 5, 2, 6, 7, 1, - 3, 1, 0, 2, 1, 5, 5, 5, 2, 4, - 4, 6, 4, 4, 4, 2, 7, 1, 2, 0, - 1, 0, 3, 6, 3, 6, 2, 4, 6, 4 + 1, 1, 1, 1, 1, 1, 2, 4, 5, 5, + 3, 2, 2, 1, 3, 1, 3, 1, 0, 4, + 3, 3, 4, 4, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 6, 5, 8, 6, 6, + 6, 6, 3, 1, 1, 1, 1, 2, 2, 2, + 1, 4, 2, 0, 7, 0, 7, 3, 4, 0, + 1, 1, 3, 3, 3, 3, 3, 1, 0, 1, + 1, 1, 0, 2, 3, 1, 1, 3, 1, 0, + 8, 1, 1, 3, 1, 1, 2, 0, 3, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 1, 1, 2, 2, 2, 3, 2, 0, 1, 2, + 2, 3, 9, 9, 8, 13, 1, 1, 6, 5, + 2, 6, 7, 1, 3, 1, 0, 2, 1, 5, + 5, 5, 2, 4, 4, 6, 4, 4, 4, 2, + 7, 1, 2, 0, 1, 0, 3, 6, 3, 6, + 2, 4, 6, 4 }; -static const short yydefact[] = { 126, - 39, 119, 118, 154, 35, 36, 37, 38, 40, 174, - 116, 117, 174, 136, 137, 0, 0, 39, 0, 121, - 40, 0, 41, 42, 43, 0, 0, 175, 171, 34, - 151, 152, 153, 170, 0, 0, 0, 124, 0, 0, - 0, 0, 33, 155, 44, 1, 2, 55, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 0, 0, 0, 0, 165, 0, 0, 54, - 73, 58, 166, 74, 148, 149, 150, 212, 173, 0, - 0, 0, 135, 125, 120, 113, 114, 0, 0, 75, - 0, 0, 57, 80, 82, 0, 0, 87, 81, 211, - 0, 195, 0, 0, 0, 0, 40, 183, 184, 5, +static const short yydefact[] = { 130, + 39, 121, 120, 158, 35, 36, 37, 38, 40, 178, + 118, 119, 178, 140, 141, 0, 0, 39, 0, 123, + 40, 0, 41, 42, 43, 0, 0, 179, 175, 34, + 155, 156, 157, 174, 0, 0, 0, 128, 0, 0, + 0, 0, 33, 159, 44, 1, 2, 57, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 0, 0, 0, 0, 169, 0, 0, 56, + 75, 60, 170, 76, 152, 153, 154, 216, 177, 0, + 0, 0, 139, 129, 122, 115, 116, 0, 0, 77, + 0, 0, 59, 82, 84, 0, 0, 89, 83, 215, + 0, 199, 0, 0, 0, 0, 40, 187, 188, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, - 19, 20, 0, 0, 0, 0, 0, 0, 0, 172, - 40, 187, 0, 208, 131, 128, 127, 129, 130, 134, - 0, 52, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 0, 0, 0, 0, 52, 0, 0, - 0, 79, 146, 86, 84, 0, 0, 199, 194, 177, - 176, 0, 0, 24, 28, 23, 27, 22, 26, 21, - 25, 29, 30, 0, 0, 47, 47, 217, 0, 0, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 0, 47, 101, 102, 3, - 4, 99, 100, 103, 98, 94, 95, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 97, 96, - 47, 56, 56, 83, 145, 139, 142, 143, 0, 0, - 76, 156, 157, 158, 159, 160, 161, 162, 0, 164, - 168, 167, 169, 0, 178, 0, 0, 0, 213, 0, - 215, 210, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 53, 0, - 123, 0, 0, 0, 89, 112, 0, 0, 93, 0, - 90, 0, 0, 0, 0, 122, 77, 78, 138, 140, - 0, 50, 85, 0, 0, 0, 0, 0, 0, 0, - 0, 220, 0, 0, 201, 0, 203, 204, 205, 0, - 0, 0, 200, 0, 218, 0, 49, 210, 0, 0, - 0, 88, 91, 92, 0, 0, 0, 0, 144, 141, - 51, 45, 163, 0, 0, 193, 47, 48, 47, 190, - 209, 0, 0, 0, 196, 197, 198, 193, 0, 0, - 0, 0, 111, 0, 0, 0, 0, 0, 147, 0, - 0, 192, 0, 214, 216, 0, 0, 0, 202, 0, - 219, 105, 0, 0, 0, 0, 0, 0, 46, 0, - 0, 0, 191, 188, 0, 207, 104, 0, 107, 108, - 109, 110, 0, 181, 0, 0, 0, 189, 0, 179, - 0, 180, 0, 0, 106, 0, 0, 0, 0, 0, - 0, 186, 0, 0, 185, 182, 0, 0, 0 + 19, 20, 0, 0, 0, 0, 0, 0, 0, 176, + 40, 191, 0, 212, 135, 132, 131, 133, 134, 138, + 0, 126, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 0, 0, 124, 0, 0, + 0, 81, 150, 88, 86, 0, 0, 203, 198, 181, + 180, 0, 0, 24, 28, 23, 27, 22, 26, 21, + 25, 29, 30, 0, 0, 47, 47, 221, 0, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 52, 103, 104, 3, 4, + 101, 102, 105, 100, 96, 97, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 99, 98, 52, + 58, 58, 85, 149, 143, 146, 147, 0, 0, 78, + 160, 161, 162, 163, 164, 165, 166, 0, 168, 172, + 171, 173, 0, 182, 0, 0, 0, 217, 0, 219, + 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 137, 0, 127, 0, 0, + 0, 91, 114, 0, 0, 95, 0, 92, 0, 0, + 0, 0, 125, 79, 80, 142, 144, 0, 50, 87, + 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, + 0, 205, 0, 207, 208, 209, 0, 0, 0, 204, + 0, 222, 0, 0, 0, 54, 52, 214, 0, 0, + 0, 90, 93, 94, 0, 0, 0, 0, 148, 145, + 51, 45, 167, 0, 0, 197, 47, 48, 47, 194, + 213, 0, 0, 0, 200, 201, 202, 197, 0, 49, + 55, 53, 0, 0, 0, 113, 0, 0, 0, 0, + 0, 151, 0, 0, 196, 0, 0, 218, 220, 0, + 0, 0, 206, 0, 223, 107, 0, 0, 0, 0, + 0, 0, 46, 0, 0, 0, 195, 192, 0, 211, + 106, 0, 109, 110, 111, 112, 0, 185, 0, 0, + 0, 193, 0, 183, 0, 184, 0, 0, 108, 0, + 0, 0, 0, 0, 0, 190, 0, 0, 189, 186, + 0, 0, 0 }; static const short yydefgoto[] = { 67, - 222, 235, 236, 237, 238, 164, 165, 194, 166, 18, - 9, 26, 379, 269, 289, 352, 217, 68, 69, 167, - 71, 72, 96, 176, 296, 260, 297, 88, 437, 1, - 2, 148, 38, 84, 151, 73, 310, 247, 248, 249, - 27, 77, 10, 33, 11, 12, 21, 261, 74, 263, - 360, 13, 29, 30, 140, 416, 79, 201, 382, 383, - 141, 142, 322, 143, 144 + 221, 234, 235, 236, 237, 164, 165, 194, 166, 18, + 9, 26, 382, 268, 336, 352, 288, 337, 68, 69, + 167, 71, 72, 96, 176, 293, 259, 294, 88, 441, + 1, 2, 240, 216, 148, 38, 84, 151, 73, 307, + 246, 247, 248, 27, 77, 10, 33, 11, 12, 21, + 260, 74, 262, 360, 13, 29, 30, 140, 420, 79, + 201, 385, 386, 141, 142, 319, 143, 144 }; static const short yypact[] = {-32768, - 51, 94,-32768,-32768,-32768,-32768,-32768,-32768, 26, -1, --32768,-32768, -18,-32768,-32768, 79, -33, 111, -5,-32768, - 26, 113,-32768,-32768,-32768, 987, -23,-32768,-32768, 66, --32768,-32768,-32768,-32768, 19, 49, 52,-32768, 33, 987, - 64, 64,-32768,-32768,-32768,-32768,-32768, 65,-32768,-32768, + 43, 303,-32768,-32768,-32768,-32768,-32768,-32768, 71, -3, +-32768,-32768, 34,-32768,-32768, 86, -30, 47, -19,-32768, + 71, 76,-32768,-32768,-32768, 994, -25,-32768,-32768, -6, +-32768,-32768,-32768,-32768, -14, 26, 37,-32768, 49, 994, + -1, -1,-32768,-32768,-32768,-32768,-32768, -4,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 161, 163, 169, 504,-32768, 66, 75,-32768, --32768, -78,-32768,-32768,-32768,-32768,-32768, 1102,-32768, 152, - 53, 173, 154,-32768,-32768,-32768,-32768, 1007, 1051,-32768, - 77, 78,-32768,-32768, -78, -74, 82, 744,-32768,-32768, - 1007,-32768, 128, 1109, 4, 265, 26,-32768,-32768,-32768, +-32768,-32768, 134, 153, 157, 511,-32768, -6, 63,-32768, +-32768, -16,-32768,-32768,-32768,-32768,-32768, 1109,-32768, 139, + -5, 163, 144,-32768,-32768,-32768,-32768, 1014, 1058,-32768, + 68, 69,-32768,-32768, -16, -90, 73, 751,-32768,-32768, + 1014,-32768, 120, 1116, 51, 186, 71,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1007, 1007, 1007, 1007, 1007, 1007, 1007, --32768,-32768, 1007, 1007, 1007, 1007, 1007, 1007, 1007,-32768, - 26,-32768, 38,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -59, 93, 105, 136, 187, 140, 188, 147, 189, 157, - 190, 192, 193, 159, 191, 195, 402, 93, 1007, 1007, - 1007,-32768, 782,-32768, 106, 104, 568,-32768,-32768, 65, --32768, 568, 568,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 568, 987, 108, 112,-32768, 568, 109, - 114, 176, 116, 123, 124, 125, 568, 568, 568, 126, - 987, 1007, 1007, 200,-32768, 194, 130,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 131, 133, 134, - 846, 1051, 524, 201, 135, 137, 138, 139,-32768,-32768, - 130, -61, -31, -78,-32768, 66,-32768, 132, 142, 884, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1051,-32768, --32768,-32768,-32768, 146,-32768, 148, 568, -6,-32768, -4, --32768, 149, 568, 143, 1007, 1007, 1007, 1007, 1007, 150, - 151, 164, 1007, 568, 568, 166,-32768, 211,-32768, 204, --32768, 1051, 1051, 1051,-32768,-32768, -24, -79,-32768, -73, --32768, 1051, 1051, 1051, 1051,-32768,-32768,-32768,-32768,-32768, - 949, 194,-32768, -68, 233, 239, 165, 568, 261, 568, - 1007,-32768, 170, 568,-32768, 171,-32768,-32768,-32768, 568, - 568, 568,-32768, 167,-32768, 1007,-32768, 149, 235, 172, - 1051,-32768,-32768,-32768, 175, 186, 196, 197,-32768,-32768, --32768, 230,-32768, 568, 568, 1007, 130,-32768, 130,-32768, - 203, 568, 205, 1007,-32768,-32768,-32768, 1007, 568, 198, - 1007, 1051,-32768, 1051, 1051, 1051, 1051, 283,-32768, 206, - 207, 203, 214,-32768,-32768, 1007, 212, 568,-32768, 218, --32768,-32768, 223, 209, 224, 225, 226, 227,-32768, 280, - 43, 268,-32768,-32768, 228,-32768,-32768, 1051,-32768,-32768, --32768,-32768, 568,-32768, 647, 54, 307,-32768, 229,-32768, - 236,-32768, 647, 568,-32768, 311, 237, 269, 568, 315, - 316,-32768, 568, 568,-32768,-32768, 339, 340,-32768 +-32768,-32768,-32768, 1014, 1014, 1014, 1014, 1014, 1014, 1014, +-32768,-32768, 1014, 1014, 1014, 1014, 1014, 1014, 1014,-32768, + 71,-32768, -15,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 22,-32768, 116, 142, 173, 145, 174, 149, 175, 151, + 176, 177, 181, 156, 179, 183, 409,-32768, 1014, 1014, + 1014,-32768, 789,-32768, 84, 91, 575,-32768,-32768, -4, +-32768, 575, 575,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 575, 994, 95, 96,-32768, 575, 93, + 107, 172, 112, 113, 114, 115, 575, 575, 575, 117, + 994, 1014, 1014, 189,-32768, 122,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 123, 125, 126, 853, + 1058, 531, 202, 128, 129, 131, 132,-32768,-32768, 122, + 20, -12, -16,-32768, -6,-32768, 136, 135, 891,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1058,-32768,-32768, +-32768,-32768, 137,-32768, 141, 575, -9,-32768, 4,-32768, + 146, 575, 138, 1014, 1014, 1014, 1014, 1014, 147, 158, + 161, 1014, 575, 575, 162,-32768, 5,-32768, 1058, 1058, + 1058,-32768,-32768, 24, -32,-32768, -28,-32768, 1058, 1058, + 1058, 1058,-32768,-32768,-32768,-32768,-32768, 956, 208,-32768, + 0, 215, 233, 164, 575, 256, 575, 1014,-32768, 165, + 575,-32768, 167,-32768,-32768,-32768, 575, 575, 575,-32768, + 166,-32768, 1014, 237, 262,-32768, 122, 146, 231, 171, + 1058,-32768,-32768,-32768, 178, 180, 182, 184,-32768,-32768, +-32768, 216,-32768, 575, 575, 1014, 190,-32768, 190,-32768, + 191, 575, 192, 1014,-32768,-32768,-32768, 1014, 575,-32768, +-32768,-32768, 169, 1014, 1058,-32768, 1058, 1058, 1058, 1058, + 269,-32768, 193, 197, 191, 199, 222,-32768,-32768, 1014, + 200, 575,-32768, 205,-32768,-32768, 206, 211, 209, 213, + 214, 217,-32768, 259, 11, 247,-32768,-32768, 221,-32768, +-32768, 1058,-32768,-32768,-32768,-32768, 575,-32768, 654, 39, + 281,-32768, 218,-32768, 223,-32768, 654, 575,-32768, 308, + 234, 266, 575, 312, 316,-32768, 575, 575,-32768,-32768, + 339, 340,-32768 }; static const short yypgoto[] = {-32768, --32768, 263, 270, 271, 275, -105, -104, -385,-32768, 317, - 328, -80,-32768, -189, 42,-32768, 199, -36,-32768, -26, --32768, -49, 257,-32768, -86, 202, -213, 319,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 13,-32768, 46,-32768,-32768, - 338,-32768,-32768,-32768,-32768, 363,-32768, -343, -11, 32, - -94,-32768, 353,-32768,-32768,-32768,-32768,-32768, 47, 2, --32768,-32768, 34,-32768,-32768 +-32768, 263, 265, 274, 276, -105, -104, -390,-32768, 326, + 342, -78,-32768, -184, 48,-32768, -231,-32768, -37,-32768, + -26,-32768, -54, 264,-32768, -84, 194, -197, 321,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8,-32768, + 60,-32768,-32768, 348,-32768,-32768,-32768,-32768, 368,-32768, + -301, -43, 38, -93,-32768, 358,-32768,-32768,-32768,-32768, +-32768, 54, 7,-32768,-32768, 35,-32768,-32768 }; -#define YYLAST 1215 +#define YYLAST 1222 static const short yytable[] = { 70, - 192, 193, 168, 85, 28, 75, 178, 271, 318, 181, - 320, 31, 182, 70, 19, 415, 95, 341, 298, 300, - -56, 28, 171, 341, 183, 343, 195, 291, 341, 99, - 423, 198, 172, 344, 202, 203, 353, 214, 204, 205, - 206, 307, 19, 215, 210, 314, 99, 319, 95, 319, - -115, 306, 184, 185, 186, 187, 188, 189, 190, 191, - 211, 152, 39, 184, 185, 186, 187, 188, 189, 190, - 191, 421, 341, 308, 177, 3, 99, 177, 342, 427, - 97, 4, 76, 22, 23, 24, 25, 14, 32, 15, - 43, 5, 6, 7, 8, 86, 87, 196, 197, 177, - 199, 200, 177, 177, 146, 147, 177, 177, 177, 207, - 208, 209, 177, -34, 80, 14, 45, 15, 286, 242, - 243, 244, 212, 213, 4, -34, -34, 35, 36, 37, - 40, 218, 219, 83, -34, -34, -34, -34, -24, -24, - -34, 16, -23, -23, 81, 414, 246, 82, 17, -22, - -22, 5, 6, 7, 8, 240, 422, 41, 267, -21, - -21, 220, 221, -57, 90, 262, 91, 384, 70, 385, - 262, 262, 92, 98, 284, 145, 149, 150, 169, 170, - 173, 326, 262, 179, 70, 285, 177, 262, 333, 216, - -28, -27, -26, -25, 223, 262, 262, 262, -31, -32, - 244, 224, 250, 251, 268, 338, 339, 340, 270, 273, - 274, 275, 276, 264, 265, 345, 346, 347, 348, 277, - 278, 279, 283, 287, 301, 266, 290, 288, 311, 292, - 272, 293, 294, 302, 337, 303, 304, 305, 280, 281, - 282, 312, 315, 324, 316, 321, 330, 331, 325, 177, - 327, 328, 329, 354, 373, 262, 177, 319, 309, 355, - 332, 262, 336, 356, 358, 368, 362, 364, 372, 389, - 371, 374, 262, 262, 184, 185, 186, 187, 188, 189, - 190, 191, 375, 378, 246, 394, 399, 395, 396, 397, - 398, 403, 376, 377, 177, 192, 193, 392, 317, 386, - 413, 388, 400, 417, 323, 408, 262, 401, 262, 369, - 192, 193, 262, 402, 404, 334, 335, 406, 262, 262, - 262, 419, 407, 409, 410, 411, 412, 424, 425, 177, - 418, 429, 426, 430, 431, 433, 434, 177, 438, 439, - 136, 177, 262, 262, 393, 42, 78, 137, 138, 357, - 262, 359, 139, 351, 175, 363, 350, 262, 44, 177, - 89, 365, 366, 367, 20, 34, 241, 361, 239, 390, - 0, 370, 0, 0, 0, 0, 262, 0, 0, 0, - 0, 0, 0, 0, 0, 380, 381, 0, 0, 0, - 0, 0, 0, 387, 0, 0, 0, 0, 0, 0, - 391, 262, 0, 0, 0, 0, 46, 47, 0, 0, - 0, 0, 262, 0, 0, 0, 0, 262, 0, 405, - 0, 262, 262, 14, 0, 15, 0, 225, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 227, 0, 0, 0, 420, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 428, 0, 0, 0, 0, - 432, 0, 0, 0, 435, 436, 0, 0, 0, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 0, 0, 0, 0, 0, 228, 0, - 229, 230, 131, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 231, 0, 0, 232, 0, 233, 46, 47, - 234, 93, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 14, 0, 15, 46, 47, - 0, 93, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 60, 61, 14, 0, 15, 62, 0, + 192, 193, 85, 75, 168, 315, 171, 178, 303, 19, + 181, 95, 270, 70, 419, 14, 172, 15, 317, 28, + 184, 185, 186, 187, 188, 189, 190, 191, 195, 427, + 86, 87, 198, 295, 297, 202, 203, 19, 334, 204, + 205, 206, -117, 95, 316, 210, 146, 147, 184, 185, + 186, 187, 188, 189, 190, 191, 28, 316, 335, 182, + 311, 152, 211, 31, 341, 39, 40, 3, 341, 212, + 213, 183, 343, 4, 177, 97, 43, 177, 344, 45, + 76, 80, -58, 5, 6, 7, 8, 5, 6, 7, + 8, 99, 305, 41, -59, 99, 341, 196, 197, 177, + 199, 200, 177, 177, 353, 372, 177, 177, 177, 207, + 208, 209, 177, 418, 241, 242, 243, 425, 214, 285, + 341, 81, 304, 239, 215, 431, 342, 99, 22, 23, + 24, 25, 82, 261, 35, 36, 37, 90, 261, 261, + 32, 426, 217, 218, -24, -24, 245, -23, -23, 83, + 261, -22, -22, -21, -21, 261, 91, 266, 219, 220, + 92, 98, 145, 261, 261, 261, 149, 150, 70, 169, + 170, 173, 388, 283, 389, 179, -28, -27, -26, -25, + 249, 323, 222, -31, 70, 284, 177, -32, 330, 223, + 250, 267, 269, 272, 243, 184, 185, 186, 187, 188, + 189, 190, 191, 273, 338, 339, 340, 274, 275, 276, + 277, 278, 286, 282, 345, 346, 347, 348, 287, 263, + 264, 289, 261, 290, 291, 298, 299, 300, 261, 301, + 302, 265, 308, 312, 309, 354, 271, 313, 321, 261, + 261, 334, 318, 327, 279, 280, 281, 322, 177, 324, + 325, 326, 306, 355, 328, 177, 376, 329, 333, 358, + 370, 362, 356, 364, 368, 371, 374, 375, 396, 381, + 393, 261, 403, 261, 377, 316, 378, 261, 379, 417, + 380, 245, 421, 261, 261, 261, 387, 390, 392, 404, + 398, 177, 399, 400, 401, 402, 407, 405, 406, 192, + 193, 428, 408, 314, 410, 411, 369, 412, 413, 320, + 261, 261, 414, 415, 192, 193, 416, 429, 261, 430, + 331, 332, -34, 422, 14, 261, 15, 423, 433, 177, + 434, 435, 437, 4, -34, -34, 438, 177, 442, 443, + 136, 177, 137, -34, -34, -34, -34, 397, 261, -34, + 16, 138, 357, 139, 359, 78, 351, 17, 363, 42, + 238, 175, 89, 177, 365, 366, 367, 350, 44, 20, + 34, 361, 373, 261, 394, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 261, 0, 0, 0, 0, 261, + 0, 383, 384, 261, 261, 0, 0, 0, 0, 391, + 0, 0, 0, 0, 0, 0, 395, 0, 0, 0, + 0, 0, 0, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, + 14, 0, 15, 0, 224, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 226, 0, 0, + 0, 0, 0, 0, 424, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 432, 0, 0, 0, 0, + 436, 0, 0, 0, 439, 440, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 0, 0, 0, 0, 0, 227, 0, 228, 229, 131, + 132, 0, 0, 0, 0, 0, 0, 0, 0, 230, + 0, 0, 231, 0, 232, 46, 47, 233, 93, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 14, 0, 15, 46, 47, 0, 93, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 60, 61, 14, 0, 15, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, - 252, 253, 46, 47, 254, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, - 0, 15, 0, 0, 255, 256, 0, 0, 0, 0, - 0, 63, 0, 0, 64, 257, 258, 65, 0, 66, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 63, 0, 0, 64, 0, 0, 65, 0, 66, - 299, 0, 0, 0, 0, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 252, - 253, 0, 0, 254, 228, 0, 229, 230, 131, 132, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 0, 255, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 62, 0, 251, 252, 46, + 47, 253, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 14, 0, 15, 0, + 0, 254, 255, 0, 0, 0, 0, 0, 63, 0, + 0, 64, 256, 257, 65, 0, 66, 94, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 0, 64, 0, 0, 65, 0, 66, 296, 0, 0, + 0, 0, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 251, 252, 0, 0, + 253, 227, 0, 228, 229, 131, 132, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 256, 257, 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, 0, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, - 0, 0, 0, 228, 0, 229, 230, 131, 132, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, - 259, 93, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 14, 0, 15, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 0, 0, 0, 0, 0, 46, 47, 62, 93, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 14, 0, 15, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 63, 0, 0, 64, 0, 0, 65, 0, 66, - 46, 47, 0, 93, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 60, 61, 14, 0, 15, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, - 0, 0, 64, 0, 0, 65, 0, 66, 46, 47, - 62, 93, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 14, 0, 15, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 313, 0, 0, 0, 0, 0, 0, 0, 62, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 0, 64, 0, 295, 65, - 0, 66, 0, 46, 47, 0, 93, 49, 50, 51, + 0, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, + 227, 0, 228, 229, 131, 132, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 47, 258, 93, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 14, 0, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, + 0, 0, 0, 46, 47, 62, 93, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 14, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 0, 63, 0, 0, 64, 349, 0, 65, 0, 66, - 0, 46, 47, 62, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 14, 0, - 15, 46, 47, 0, 93, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 14, 0, - 15, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, + 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 0, 64, 0, 0, 65, 0, 66, 46, 47, 0, + 93, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 60, 61, 14, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 64, - 0, 62, 65, 0, 66, 46, 47, 0, 93, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 0, 0, 65, 0, 66, 46, 47, 62, 93, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 14, 0, 15, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 64, 0, 0, - 65, 0, 66, 0, 0, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 64, 0, 0, - 65, 0, 66, 46, 47, 0, 180, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 14, 0, 15, 0, 0, 0, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 63, 0, - 0, 64, 0, 62, 65, 0, 66, 102, 103, 0, - 0, 0, 0, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 63, 0, 0, 64, - 0, 0, 65, 0, 66 + 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 63, 0, 0, 64, 0, 292, 65, 0, 66, 0, + 46, 47, 0, 93, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 14, 0, 15, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 0, 64, 349, 0, 65, 0, 66, 0, 46, 47, + 62, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 14, 0, 15, 46, 47, + 0, 93, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 14, 0, 15, 62, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 64, 0, 62, 65, + 0, 66, 46, 47, 0, 93, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 60, 61, 14, + 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 63, 0, 0, 64, 0, 0, 65, 0, 66, + 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 63, 0, 0, 64, 0, 0, 65, 0, 66, + 46, 47, 0, 180, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 14, 0, 15, + 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 63, 0, 0, 64, 0, + 62, 65, 0, 66, 102, 103, 0, 0, 0, 0, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 0, 0, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 64, 0, 0, 65, + 0, 66 }; static const short yycheck[] = { 26, - 106, 106, 89, 40, 23, 29, 101, 197, 15, 104, - 15, 30, 9, 40, 2, 401, 66, 97, 232, 233, - 99, 23, 97, 97, 21, 105, 107, 217, 97, 108, - 416, 126, 107, 107, 129, 130, 105, 97, 133, 134, - 135, 103, 30, 103, 139, 259, 108, 54, 98, 54, - 0, 241, 10, 11, 12, 13, 14, 15, 16, 17, - 141, 88, 96, 10, 11, 12, 13, 14, 15, 16, - 17, 415, 97, 105, 101, 25, 108, 104, 103, 423, - 68, 31, 106, 58, 59, 60, 61, 22, 107, 24, - 96, 41, 42, 43, 44, 32, 33, 124, 125, 126, - 127, 128, 129, 130, 52, 53, 133, 134, 135, 136, - 137, 138, 139, 20, 96, 22, 4, 24, 213, 169, - 170, 171, 85, 86, 31, 32, 33, 49, 50, 51, - 20, 27, 28, 101, 41, 42, 43, 44, 3, 4, - 47, 48, 3, 4, 96, 103, 173, 96, 55, 3, - 4, 41, 42, 43, 44, 167, 103, 47, 195, 3, - 4, 3, 4, 99, 4, 177, 4, 357, 195, 359, - 182, 183, 4, 99, 211, 24, 4, 24, 102, 102, - 99, 276, 194, 56, 211, 212, 213, 199, 283, 97, - 4, 4, 4, 4, 4, 207, 208, 209, 7, 7, - 250, 7, 97, 100, 97, 292, 293, 294, 97, 101, - 97, 36, 97, 182, 183, 302, 303, 304, 305, 97, - 97, 97, 97, 24, 24, 194, 97, 34, 97, 99, - 199, 99, 99, 99, 24, 99, 99, 99, 207, 208, - 209, 100, 97, 101, 97, 97, 97, 97, 275, 276, - 277, 278, 279, 21, 341, 267, 283, 54, 246, 21, - 97, 273, 97, 99, 4, 99, 97, 97, 97, 364, - 36, 97, 284, 285, 10, 11, 12, 13, 14, 15, - 16, 17, 97, 54, 311, 372, 4, 374, 375, 376, - 377, 386, 97, 97, 321, 401, 401, 100, 267, 97, - 21, 97, 97, 36, 273, 97, 318, 101, 320, 336, - 416, 416, 324, 100, 103, 284, 285, 100, 330, 331, - 332, 408, 100, 100, 100, 100, 100, 21, 100, 356, - 103, 21, 97, 97, 66, 21, 21, 364, 0, 0, - 78, 368, 354, 355, 371, 18, 30, 78, 78, 318, - 362, 320, 78, 312, 98, 324, 311, 369, 21, 386, - 42, 330, 331, 332, 2, 13, 168, 321, 167, 368, - -1, 338, -1, -1, -1, -1, 388, -1, -1, -1, - -1, -1, -1, -1, -1, 354, 355, -1, -1, -1, - -1, -1, -1, 362, -1, -1, -1, -1, -1, -1, - 369, 413, -1, -1, -1, -1, 5, 6, -1, -1, - -1, -1, 424, -1, -1, -1, -1, 429, -1, 388, - -1, 433, 434, 22, -1, 24, -1, 26, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, - 39, -1, -1, -1, 413, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 424, -1, -1, -1, -1, - 429, -1, -1, -1, 433, 434, -1, -1, -1, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, -1, -1, -1, -1, -1, 87, -1, - 89, 90, 91, 92, -1, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, 104, -1, 106, 5, 6, - 109, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 106, 106, 40, 29, 89, 15, 97, 101, 240, 2, + 104, 66, 197, 40, 405, 22, 107, 24, 15, 23, + 10, 11, 12, 13, 14, 15, 16, 17, 107, 420, + 32, 33, 126, 231, 232, 129, 130, 30, 34, 133, + 134, 135, 0, 98, 54, 139, 52, 53, 10, 11, + 12, 13, 14, 15, 16, 17, 23, 54, 54, 9, + 258, 88, 141, 30, 97, 96, 20, 25, 97, 85, + 86, 21, 105, 31, 101, 68, 96, 104, 107, 4, + 106, 96, 99, 41, 42, 43, 44, 41, 42, 43, + 44, 108, 105, 47, 99, 108, 97, 124, 125, 126, + 127, 128, 129, 130, 105, 337, 133, 134, 135, 136, + 137, 138, 139, 103, 169, 170, 171, 419, 97, 213, + 97, 96, 103, 167, 103, 427, 103, 108, 58, 59, + 60, 61, 96, 177, 49, 50, 51, 4, 182, 183, + 107, 103, 27, 28, 3, 4, 173, 3, 4, 101, + 194, 3, 4, 3, 4, 199, 4, 195, 3, 4, + 4, 99, 24, 207, 208, 209, 4, 24, 195, 102, + 102, 99, 357, 211, 359, 56, 4, 4, 4, 4, + 97, 275, 4, 7, 211, 212, 213, 7, 282, 7, + 100, 97, 97, 101, 249, 10, 11, 12, 13, 14, + 15, 16, 17, 97, 289, 290, 291, 36, 97, 97, + 97, 97, 24, 97, 299, 300, 301, 302, 97, 182, + 183, 99, 266, 99, 99, 24, 99, 99, 272, 99, + 99, 194, 97, 97, 100, 21, 199, 97, 101, 283, + 284, 34, 97, 97, 207, 208, 209, 274, 275, 276, + 277, 278, 245, 21, 97, 282, 341, 97, 97, 4, + 24, 97, 99, 97, 99, 4, 36, 97, 100, 54, + 364, 315, 4, 317, 97, 54, 97, 321, 97, 21, + 97, 308, 36, 327, 328, 329, 97, 97, 97, 97, + 375, 318, 377, 378, 379, 380, 390, 101, 100, 405, + 405, 21, 103, 266, 100, 100, 333, 97, 100, 272, + 354, 355, 100, 100, 420, 420, 100, 100, 362, 97, + 283, 284, 20, 103, 22, 369, 24, 412, 21, 356, + 97, 66, 21, 31, 32, 33, 21, 364, 0, 0, + 78, 368, 78, 41, 42, 43, 44, 374, 392, 47, + 48, 78, 315, 78, 317, 30, 309, 55, 321, 18, + 167, 98, 42, 390, 327, 328, 329, 308, 21, 2, + 13, 318, 338, 417, 368, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 428, -1, -1, -1, -1, 433, + -1, 354, 355, 437, 438, -1, -1, -1, -1, 362, + -1, -1, -1, -1, -1, -1, 369, -1, -1, -1, + -1, -1, -1, 5, 6, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 392, + 22, -1, 24, -1, 26, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 38, 39, -1, -1, + -1, -1, -1, -1, 417, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, + 433, -1, -1, -1, 437, 438, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + -1, -1, -1, -1, -1, 87, -1, 89, 90, 91, + 92, -1, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, 104, -1, 106, 5, 6, 109, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, -1, 24, 5, 6, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, -1, 24, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 45, -1, 3, 4, 5, + 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, -1, 24, -1, + -1, 27, 28, -1, -1, -1, -1, -1, 98, -1, + -1, 101, 38, 39, 104, -1, 106, 107, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, + -1, 101, -1, -1, 104, -1, 106, 107, -1, -1, + -1, -1, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 3, 4, -1, -1, + 7, 87, -1, 89, 90, 91, 92, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, + 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 38, 39, -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, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, -1, -1, -1, -1, -1, + 87, -1, 89, 90, 91, 92, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5, 6, 104, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, -1, 24, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, + -1, -1, -1, 5, 6, 45, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, + -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, + -1, 101, -1, -1, 104, -1, 106, 5, 6, -1, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, -1, 24, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, + -1, -1, 104, -1, 106, 5, 6, 45, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, -1, 24, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, + -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 98, -1, -1, 101, -1, 103, 104, -1, 106, -1, + 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, + -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, + -1, 101, 37, -1, 104, -1, 106, -1, 5, 6, + 45, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, - 3, 4, 5, 6, 7, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - -1, 24, -1, -1, 27, 28, -1, -1, -1, -1, - -1, 98, -1, -1, 101, 38, 39, 104, -1, 106, - 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, 45, 104, + -1, 106, 5, 6, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, 104, -1, 106, - 107, -1, -1, -1, -1, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 3, - 4, -1, -1, 7, 87, -1, 89, 90, 91, 92, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 104, -1, 27, 28, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 38, 39, -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, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, -1, -1, - -1, -1, -1, 87, -1, 89, 90, 91, 92, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, - 104, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, -1, 5, 6, 45, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, -1, 24, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, - -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, 104, -1, 106, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, - -1, -1, 101, -1, -1, 104, -1, 106, 5, 6, - 45, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, -1, -1, -1, 45, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 98, -1, -1, 101, -1, 103, 104, - -1, 106, -1, 5, 6, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, - -1, 98, -1, -1, 101, 37, -1, 104, -1, 106, - -1, 5, 6, 45, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, - 24, 5, 6, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, - 24, 45, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, - -1, 45, 104, -1, 106, 5, 6, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, -1, 24, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, - 104, -1, 106, -1, -1, 45, -1, -1, -1, -1, - -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, - 104, -1, 106, 5, 6, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, -1, -1, 35, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 46, 98, -1, - -1, 101, -1, 45, 104, -1, 106, 56, 57, -1, - -1, -1, -1, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, -1, -1, 87, 88, - 89, 90, 91, 92, 93, 94, 95, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, - -1, -1, 104, -1, 106 + -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 46, 98, -1, -1, 101, -1, + 45, 104, -1, 106, 56, 57, -1, -1, -1, -1, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, -1, -1, 87, 88, 89, 90, 91, + 92, 93, 94, 95, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, -1, 104, + -1, 106 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison.simple" @@ -2190,7 +2183,7 @@ yyreduce: switch (yyn) { case 2: -#line 1005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 989 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX) // Outside of my range! ThrowException("Value too large for type!"); @@ -2198,7 +2191,7 @@ case 2: ; break;} case 4: -#line 1013 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 997 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX) // Outside of my range! ThrowException("Value too large for type!"); @@ -2206,55 +2199,55 @@ case 4: ; break;} case 33: -#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1020 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = yyvsp[-1].StrVal; ; break;} case 34: -#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1023 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = 0; ; break;} case 35: -#line 1043 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1027 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::InternalLinkage; ; break;} case 36: -#line 1044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1028 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::LinkOnceLinkage; ; break;} case 37: -#line 1045 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1029 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::WeakLinkage; ; break;} case 38: -#line 1046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1030 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::AppendingLinkage; ; break;} case 39: -#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1031 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::ExternalLinkage; ; break;} case 40: -#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1033 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::C; ; break;} case 41: -#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1034 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::C; ; break;} case 42: -#line 1051 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1035 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::Fast; ; break;} case 43: -#line 1052 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1036 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::Cold; ; break;} case 44: -#line 1053 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1037 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val) ThrowException("Calling conv too large!"); @@ -2262,23 +2255,31 @@ case 44: ; break;} case 45: -#line 1061 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1045 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = 0; ; break;} case 46: -#line 1062 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ yyval.UIntVal = yyvsp[0].UInt64Val; ; +#line 1046 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + yyval.UIntVal = yyvsp[0].UInt64Val; + if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal)) + ThrowException("Alignment must be a power of two!"); +; break;} case 47: -#line 1063 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1051 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = 0; ; break;} case 48: -#line 1064 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ yyval.UIntVal = yyvsp[0].UInt64Val; ; +#line 1052 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + yyval.UIntVal = yyvsp[0].UInt64Val; + if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal)) + ThrowException("Alignment must be a power of two!"); +; break;} case 49: -#line 1066 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1059 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { for (unsigned i = 0, e = strlen(yyvsp[0].StrVal); i != e; ++i) if (yyvsp[0].StrVal[i] == '"' || yyvsp[0].StrVal[i] == '\\') @@ -2287,57 +2288,70 @@ case 49: ; break;} case 50: -#line 1073 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1066 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = 0; ; break;} case 51: -#line 1074 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1067 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = yyvsp[0].StrVal; ; break;} case 52: -#line 1075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ yyval.StrVal = 0; ; +#line 1072 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{; break;} case 53: -#line 1076 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ yyval.StrVal = yyvsp[0].StrVal; ; +#line 1073 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{; + break;} +case 54: +#line 1074 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + CurGV->setSection(yyvsp[0].StrVal); + free(yyvsp[0].StrVal); + ; break;} case 55: -#line 1086 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +#line 1078 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + CurGV->setAlignment(yyvsp[0].UInt64Val); + ; break;} case 57: -#line 1087 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1089 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; break;} -case 58: -#line 1089 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 59: +#line 1090 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; + break;} +case 60: +#line 1092 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription()); yyval.TypeVal = yyvsp[0].TypeVal; ; break;} -case 72: -#line 1100 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 74: +#line 1103 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeVal = new PATypeHolder(OpaqueType::get()); ; break;} -case 73: -#line 1103 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 75: +#line 1106 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; break;} -case 74: -#line 1106 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 76: +#line 1109 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal)); ; break;} -case 75: -#line 1112 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 77: +#line 1115 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Type UpReference if (yyvsp[0].UInt64Val > (uint64_t)~0U) ThrowException("Value out of range!"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder @@ -2346,8 +2360,8 @@ case 75: UR_OUT("New Upreference!\n"); ; break;} -case 76: -#line 1119 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 78: +#line 1122 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Function derived type? std::vector Params; for (std::list::iterator I = yyvsp[-1].TypeList->begin(), @@ -2361,15 +2375,15 @@ case 76: delete yyvsp[-3].TypeVal; // Delete the return type handle ; break;} -case 77: -#line 1131 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 79: +#line 1134 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Sized array type? yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val))); delete yyvsp[-1].TypeVal; ; break;} -case 78: -#line 1135 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 80: +#line 1138 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Packed array type? const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get(); if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val) @@ -2382,8 +2396,8 @@ case 78: delete yyvsp[-1].TypeVal; ; break;} -case 79: -#line 1146 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 81: +#line 1149 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = yyvsp[-1].TypeList->begin(), @@ -2394,52 +2408,52 @@ case 79: delete yyvsp[-1].TypeList; ; break;} -case 80: -#line 1155 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 82: +#line 1158 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? yyval.TypeVal = new PATypeHolder(StructType::get(std::vector())); ; break;} -case 81: -#line 1158 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 83: +#line 1161 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Pointer type? yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal))); delete yyvsp[-1].TypeVal; ; break;} -case 82: -#line 1166 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 84: +#line 1169 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeList = new std::list(); yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; ; break;} -case 83: -#line 1170 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 85: +#line 1173 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; ; break;} -case 85: -#line 1176 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 87: +#line 1179 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy); ; break;} -case 86: -#line 1179 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 88: +#line 1182 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList = new std::list())->push_back(Type::VoidTy); ; break;} -case 87: -#line 1182 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 89: +#line 1185 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeList = new std::list(); ; break;} -case 88: -#line 1192 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 90: +#line 1195 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const ArrayType *ATy = dyn_cast(yyvsp[-3].TypeVal->get()); if (ATy == 0) @@ -2466,8 +2480,8 @@ case 88: delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; ; break;} -case 89: -#line 1217 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 91: +#line 1220 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast(yyvsp[-2].TypeVal->get()); if (ATy == 0) @@ -2482,8 +2496,8 @@ case 89: delete yyvsp[-2].TypeVal; ; break;} -case 90: -#line 1230 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 92: +#line 1233 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast(yyvsp[-2].TypeVal->get()); if (ATy == 0) @@ -2513,8 +2527,8 @@ case 90: delete yyvsp[-2].TypeVal; ; break;} -case 91: -#line 1258 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 93: +#line 1261 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const PackedType *PTy = dyn_cast(yyvsp[-3].TypeVal->get()); if (PTy == 0) @@ -2541,8 +2555,8 @@ case 91: delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; ; break;} -case 92: -#line 1283 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 94: +#line 1286 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast(yyvsp[-3].TypeVal->get()); if (STy == 0) @@ -2564,8 +2578,8 @@ case 92: delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; ; break;} -case 93: -#line 1303 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 95: +#line 1306 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast(yyvsp[-2].TypeVal->get()); if (STy == 0) @@ -2579,8 +2593,8 @@ case 93: delete yyvsp[-2].TypeVal; ; break;} -case 94: -#line 1315 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 96: +#line 1318 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PTy = dyn_cast(yyvsp[-1].TypeVal->get()); if (PTy == 0) @@ -2591,15 +2605,15 @@ case 94: delete yyvsp[-1].TypeVal; ; break;} -case 95: -#line 1324 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 97: +#line 1327 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get()); delete yyvsp[-1].TypeVal; ; break;} -case 96: -#line 1328 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 98: +#line 1331 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *Ty = dyn_cast(yyvsp[-1].TypeVal->get()); if (Ty == 0) @@ -2660,8 +2674,8 @@ case 96: delete yyvsp[-1].TypeVal; // Free the type handle ; break;} -case 97: -#line 1387 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 99: +#line 1390 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType()) ThrowException("Mismatched types for constant expression!"); @@ -2669,8 +2683,8 @@ case 97: delete yyvsp[-1].TypeVal; ; break;} -case 98: -#line 1393 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 100: +#line 1396 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = yyvsp[-1].TypeVal->get(); if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) @@ -2679,44 +2693,44 @@ case 98: delete yyvsp[-1].TypeVal; ; break;} -case 99: -#line 1401 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 101: +#line 1404 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val)) ThrowException("Constant value doesn't fit in type!"); yyval.ConstVal = ConstantSInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val); ; break;} -case 100: -#line 1406 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 102: +#line 1409 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val)) ThrowException("Constant value doesn't fit in type!"); yyval.ConstVal = ConstantUInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val); ; break;} -case 101: -#line 1411 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 103: +#line 1414 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants yyval.ConstVal = ConstantBool::True; ; break;} -case 102: -#line 1414 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 104: +#line 1417 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants yyval.ConstVal = ConstantBool::False; ; break;} -case 103: -#line 1417 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 105: +#line 1420 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Float & Double constants if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal)) ThrowException("Floating point constant invalid for type!!"); yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal); ; break;} -case 104: -#line 1424 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 106: +#line 1427 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!yyvsp[-3].ConstVal->getType()->isFirstClassType()) ThrowException("cast constant expression from a non-primitive type: '" + @@ -2728,8 +2742,8 @@ case 104: delete yyvsp[-1].TypeVal; ; break;} -case 105: -#line 1434 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 107: +#line 1437 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[-2].ConstVal->getType())) ThrowException("GetElementPtr requires a pointer operand!"); @@ -2762,8 +2776,8 @@ case 105: yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec); ; break;} -case 106: -#line 1465 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 108: +#line 1468 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-5].ConstVal->getType() != Type::BoolTy) ThrowException("Select condition must be of boolean type!"); @@ -2772,8 +2786,8 @@ case 106: yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 107: -#line 1472 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 109: +#line 1475 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType()) ThrowException("Binary operator types must match!"); @@ -2796,8 +2810,8 @@ case 107: } ; break;} -case 108: -#line 1493 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 110: +#line 1496 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType()) ThrowException("Logical operator types must match!"); @@ -2806,16 +2820,16 @@ case 108: yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 109: -#line 1500 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 111: +#line 1503 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType()) ThrowException("setcc operand types must match!"); yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 110: -#line 1505 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 112: +#line 1508 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-1].ConstVal->getType() != Type::UByteTy) ThrowException("Shift count for shift constant must be unsigned byte!"); @@ -2824,55 +2838,55 @@ case 110: yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 111: -#line 1515 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 113: +#line 1518 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal); ; break;} -case 112: -#line 1518 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 114: +#line 1521 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ConstVector = new std::vector(); yyval.ConstVector->push_back(yyvsp[0].ConstVal); ; break;} -case 113: -#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 115: +#line 1528 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = false; ; break;} -case 114: -#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 116: +#line 1528 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = true; ; break;} -case 115: -#line 1535 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 117: +#line 1538 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal; CurModule.ModuleDone(); ; break;} -case 116: -#line 1542 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 118: +#line 1545 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = yyvsp[-1].ModuleVal; CurFun.FunctionDone(); ; break;} -case 117: -#line 1546 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ - yyval.ModuleVal = yyvsp[-1].ModuleVal; - ; - break;} -case 118: -#line 1549 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ - yyval.ModuleVal = yyvsp[-1].ModuleVal; - ; - break;} case 119: -#line 1552 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1549 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + yyval.ModuleVal = yyvsp[-1].ModuleVal; + ; + break;} +case 120: +#line 1552 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + yyval.ModuleVal = yyvsp[-1].ModuleVal; + ; + break;} +case 121: +#line 1555 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = CurModule.CurrentModule; // Emit an error if there are any unresolved types left. @@ -2885,8 +2899,8 @@ case 119: } ; break;} -case 120: -#line 1565 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 122: +#line 1568 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: @@ -2908,56 +2922,69 @@ case 120: delete yyvsp[0].TypeVal; ; break;} -case 121: -#line 1585 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 123: +#line 1588 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Function prototypes can be in const pool ; break;} -case 122: -#line 1587 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ - if (yyvsp[-2].ConstVal == 0) ThrowException("Global value initializer is not a constant!"); - ParseGlobalVariable(yyvsp[-5].StrVal, yyvsp[-4].Linkage, yyvsp[-3].BoolVal, yyvsp[-2].ConstVal->getType(), yyvsp[-2].ConstVal, yyvsp[-1].StrVal, yyvsp[0].UIntVal); - ; - break;} -case 123: -#line 1591 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ - ParseGlobalVariable(yyvsp[-5].StrVal, GlobalValue::ExternalLinkage, yyvsp[-3].BoolVal, *yyvsp[-2].TypeVal, 0, yyvsp[-1].StrVal, yyvsp[0].UIntVal); - delete yyvsp[-2].TypeVal; - ; - break;} case 124: -#line 1595 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ - ; +#line 1590 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!"); + CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal); + ; break;} case 125: -#line 1597 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1593 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { + CurGV = 0; ; break;} case 126: -#line 1599 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1596 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage, + yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0); + delete yyvsp[0].TypeVal; + ; + break;} +case 127: +#line 1600 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + CurGV = 0; + ; + break;} +case 128: +#line 1603 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ; break;} -case 127: -#line 1604 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 129: +#line 1605 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + ; + break;} +case 130: +#line 1607 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + ; + break;} +case 131: +#line 1612 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Endianness = Module::BigEndian; ; break;} -case 128: -#line 1605 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 132: +#line 1613 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Endianness = Module::LittleEndian; ; break;} -case 129: -#line 1607 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 133: +#line 1615 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness); ; break;} -case 130: -#line 1610 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 134: +#line 1618 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UInt64Val == 32) CurModule.CurrentModule->setPointerSize(Module::Pointer32); @@ -2967,89 +2994,89 @@ case 130: ThrowException("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!"); ; break;} -case 131: -#line 1618 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 135: +#line 1626 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal); free(yyvsp[0].StrVal); ; break;} -case 133: -#line 1625 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 137: +#line 1633 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal); free(yyvsp[0].StrVal); ; break;} -case 134: -#line 1629 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 138: +#line 1637 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal); free(yyvsp[0].StrVal); ; break;} -case 135: -#line 1633 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ - ; - break;} case 139: -#line 1642 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1641 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + ; + break;} +case 143: +#line 1650 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = 0; ; break;} -case 140: -#line 1644 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 144: +#line 1652 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (*yyvsp[-1].TypeVal == Type::VoidTy) ThrowException("void typed arguments are invalid!"); yyval.ArgVal = new std::pair(yyvsp[-1].TypeVal, yyvsp[0].StrVal); ; break;} -case 141: -#line 1650 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 145: +#line 1658 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = yyvsp[-2].ArgList; yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal); delete yyvsp[0].ArgVal; ; break;} -case 142: -#line 1655 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 146: +#line 1663 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = new std::vector >(); yyval.ArgList->push_back(*yyvsp[0].ArgVal); delete yyvsp[0].ArgVal; ; break;} -case 143: -#line 1661 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 147: +#line 1669 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = yyvsp[0].ArgList; ; break;} -case 144: -#line 1664 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 148: +#line 1672 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = yyvsp[-2].ArgList; yyval.ArgList->push_back(std::pair(new PATypeHolder(Type::VoidTy), 0)); ; break;} -case 145: -#line 1669 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 149: +#line 1677 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = new std::vector >(); yyval.ArgList->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); ; break;} -case 146: -#line 1673 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 150: +#line 1681 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = 0; ; break;} -case 147: -#line 1678 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 151: +#line 1686 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { UnEscapeLexed(yyvsp[-5].StrVal); std::string FunctionName(yyvsp[-5].StrVal); @@ -3057,8 +3084,6 @@ case 147: if (!(*yyvsp[-6].TypeVal)->isFirstClassType() && *yyvsp[-6].TypeVal != Type::VoidTy) ThrowException("LLVM functions cannot return aggregate types!"); - if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) - ThrowException("Function alignment must be a power of two!"); std::vector ParamTypeList; if (yyvsp[-3].ArgList) { // If there are arguments... @@ -3137,8 +3162,8 @@ case 147: } ; break;} -case 150: -#line 1767 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 154: +#line 1773 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = CurFun.CurrentFunction; @@ -3147,67 +3172,67 @@ case 150: yyval.FunctionVal->setLinkage(yyvsp[-2].Linkage); ; break;} -case 153: -#line 1777 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 157: +#line 1783 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = yyvsp[-1].FunctionVal; ; break;} -case 154: -#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 158: +#line 1787 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = true; ; break;} -case 155: -#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 159: +#line 1787 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = CurFun.CurrentFunction; CurFun.FunctionDone(); ; break;} -case 156: -#line 1790 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 160: +#line 1796 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val); ; break;} -case 157: -#line 1793 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 161: +#line 1799 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val); ; break;} -case 158: -#line 1796 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 162: +#line 1802 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? yyval.ValIDVal = ValID::create(yyvsp[0].FPVal); ; break;} -case 159: -#line 1799 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 163: +#line 1805 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(ConstantBool::True); ; break;} -case 160: -#line 1802 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 164: +#line 1808 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(ConstantBool::False); ; break;} -case 161: -#line 1805 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 165: +#line 1811 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::createNull(); ; break;} -case 162: -#line 1808 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 166: +#line 1814 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::createUndef(); ; break;} -case 163: -#line 1811 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 167: +#line 1817 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType(); int NumElements = yyvsp[-1].ConstVector->size(); @@ -3233,44 +3258,44 @@ case 163: delete PTy; delete yyvsp[-1].ConstVector; ; break;} -case 164: -#line 1835 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 168: +#line 1841 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal); ; break;} -case 165: -#line 1842 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 169: +#line 1848 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal); ; break;} -case 166: -#line 1845 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 170: +#line 1851 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? yyval.ValIDVal = ValID::create(yyvsp[0].StrVal); ; break;} -case 169: -#line 1856 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 173: +#line 1862 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal; ; break;} -case 170: -#line 1860 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 174: +#line 1866 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = yyvsp[-1].FunctionVal; ; break;} -case 171: -#line 1863 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 175: +#line 1869 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks yyval.FunctionVal = yyvsp[-1].FunctionVal; ; break;} -case 172: -#line 1871 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 176: +#line 1877 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal); InsertValue(yyvsp[0].TermInstVal); @@ -3280,15 +3305,15 @@ case 172: yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal; ; break;} -case 173: -#line 1880 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 177: +#line 1886 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal); yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; ; break;} -case 174: -#line 1884 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 178: +#line 1890 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true); @@ -3300,8 +3325,8 @@ case 174: BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); ; break;} -case 175: -#line 1894 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 179: +#line 1900 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true); @@ -3313,32 +3338,32 @@ case 175: BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); ; break;} -case 176: -#line 1905 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 180: +#line 1911 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with a result... yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal); ; break;} -case 177: -#line 1908 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 181: +#line 1914 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with no result... yyval.TermInstVal = new ReturnInst(); ; break;} -case 178: -#line 1911 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 182: +#line 1917 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal)); ; break;} -case 179: -#line 1914 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 183: +#line 1920 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal)); ; break;} -case 180: -#line 1917 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 184: +#line 1923 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size()); yyval.TermInstVal = S; @@ -3354,15 +3379,15 @@ case 180: delete yyvsp[-1].JumpTable; ; break;} -case 181: -#line 1931 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 185: +#line 1937 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0); yyval.TermInstVal = S; ; break;} -case 182: -#line 1936 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 186: +#line 1942 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -3416,20 +3441,20 @@ case 182: delete yyvsp[-7].ValueList; ; break;} -case 183: -#line 1988 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 187: +#line 1994 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TermInstVal = new UnwindInst(); ; break;} -case 184: -#line 1991 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 188: +#line 1997 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TermInstVal = new UnreachableInst(); ; break;} -case 185: -#line 1997 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 189: +#line 2003 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.JumpTable = yyvsp[-5].JumpTable; Constant *V = cast(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal)); @@ -3439,8 +3464,8 @@ case 185: yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); ; break;} -case 186: -#line 2005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 190: +#line 2011 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.JumpTable = new std::vector >(); Constant *V = cast(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal)); @@ -3451,8 +3476,8 @@ case 186: yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); ; break;} -case 187: -#line 2015 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 191: +#line 2021 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal); @@ -3460,54 +3485,54 @@ case 187: yyval.InstVal = yyvsp[0].InstVal; ; break;} -case 188: -#line 2022 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 192: +#line 2028 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes yyval.PHIList = new std::list >(); yyval.PHIList->push_back(std::make_pair(getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal))); delete yyvsp[-5].TypeVal; ; break;} -case 189: -#line 2027 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 193: +#line 2033 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.PHIList = yyvsp[-6].PHIList; yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal))); ; break;} -case 190: -#line 2034 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 194: +#line 2040 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Used for call statements, and memory insts... yyval.ValueList = new std::vector(); yyval.ValueList->push_back(yyvsp[0].ValueVal); ; break;} -case 191: -#line 2038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 195: +#line 2044 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = yyvsp[-2].ValueList; yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal); ; break;} -case 193: -#line 2044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 197: +#line 2050 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = 0; ; break;} -case 194: -#line 2046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 198: +#line 2052 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = true; ; break;} -case 195: -#line 2049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 199: +#line 2055 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = false; ; break;} -case 196: -#line 2055 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 200: +#line 2061 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && !isa((*yyvsp[-3].TypeVal).get())) @@ -3521,8 +3546,8 @@ case 196: delete yyvsp[-3].TypeVal; ; break;} -case 197: -#line 2067 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 201: +#line 2073 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!(*yyvsp[-3].TypeVal)->isIntegral()) ThrowException("Logical operator requires integral operands!"); @@ -3532,8 +3557,8 @@ case 197: delete yyvsp[-3].TypeVal; ; break;} -case 198: -#line 2075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 202: +#line 2081 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if(isa((*yyvsp[-3].TypeVal).get())) { ThrowException( @@ -3545,8 +3570,8 @@ case 198: delete yyvsp[-3].TypeVal; ; break;} -case 199: -#line 2085 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 203: +#line 2091 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { std::cerr << "WARNING: Use of eliminated 'not' instruction:" << " Replacing with 'xor'.\n"; @@ -3560,8 +3585,8 @@ case 199: ThrowException("Could not create a xor instruction!"); ; break;} -case 200: -#line 2097 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 204: +#line 2103 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].ValueVal->getType() != Type::UByteTy) ThrowException("Shift amount must be ubyte!"); @@ -3570,8 +3595,8 @@ case 200: yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); ; break;} -case 201: -#line 2104 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 205: +#line 2110 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!yyvsp[0].TypeVal->get()->isFirstClassType()) ThrowException("cast instruction to a non-primitive type: '" + @@ -3580,8 +3605,8 @@ case 201: delete yyvsp[0].TypeVal; ; break;} -case 202: -#line 2111 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 206: +#line 2117 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-4].ValueVal->getType() != Type::BoolTy) ThrowException("select condition must be boolean!"); @@ -3590,16 +3615,16 @@ case 202: yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); ; break;} -case 203: -#line 2118 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 207: +#line 2124 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { NewVarArgs = true; yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; ; break;} -case 204: -#line 2123 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 208: +#line 2129 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ObsoleteVarArgs = true; const Type* ArgTy = yyvsp[-2].ValueVal->getType(); @@ -3620,8 +3645,8 @@ case 204: delete yyvsp[0].TypeVal; ; break;} -case 205: -#line 2142 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 209: +#line 2148 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ObsoleteVarArgs = true; const Type* ArgTy = yyvsp[-2].ValueVal->getType(); @@ -3645,8 +3670,8 @@ case 205: delete yyvsp[0].TypeVal; ; break;} -case 206: -#line 2164 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 210: +#line 2170 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = yyvsp[0].PHIList->front().first->getType(); if (!Ty->isFirstClassType()) @@ -3662,8 +3687,8 @@ case 206: delete yyvsp[0].PHIList; // Free the list... ; break;} -case 207: -#line 2178 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 211: +#line 2184 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -3722,78 +3747,66 @@ case 207: delete yyvsp[-1].ValueList; ; break;} -case 208: -#line 2235 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 212: +#line 2241 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.InstVal = yyvsp[0].InstVal; ; break;} -case 209: -#line 2241 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 213: +#line 2247 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = yyvsp[0].ValueList; ; break;} -case 210: -#line 2243 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 214: +#line 2249 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = new std::vector(); ; break;} -case 211: -#line 2247 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 215: +#line 2253 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = true; ; break;} -case 212: -#line 2250 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 216: +#line 2256 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = false; ; break;} -case 213: -#line 2256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 217: +#line 2262 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { - if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) - ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + - "' is not a power of 2!"); yyval.InstVal = new MallocInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal); delete yyvsp[-1].TypeVal; ; break;} -case 214: -#line 2263 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 218: +#line 2266 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { - if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) - ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + - "' is not a power of 2!"); yyval.InstVal = new MallocInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal); delete yyvsp[-4].TypeVal; ; break;} -case 215: -#line 2270 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 219: +#line 2270 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { - if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) - ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + - "' is not a power of 2!"); yyval.InstVal = new AllocaInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal); delete yyvsp[-1].TypeVal; ; break;} -case 216: -#line 2277 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 220: +#line 2274 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { - if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) - ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + - "' is not a power of 2!"); yyval.InstVal = new AllocaInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal); delete yyvsp[-4].TypeVal; ; break;} -case 217: -#line 2284 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 221: +#line 2278 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[0].ValueVal->getType())) ThrowException("Trying to free nonpointer type " + @@ -3801,8 +3814,8 @@ case 217: yyval.InstVal = new FreeInst(yyvsp[0].ValueVal); ; break;} -case 218: -#line 2291 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 222: +#line 2285 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[-1].TypeVal->get())) ThrowException("Can't load from nonpointer type: " + @@ -3814,8 +3827,8 @@ case 218: delete yyvsp[-1].TypeVal; ; break;} -case 219: -#line 2301 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 223: +#line 2295 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PT = dyn_cast(yyvsp[-1].TypeVal->get()); if (!PT) @@ -3830,8 +3843,8 @@ case 219: delete yyvsp[-1].TypeVal; ; break;} -case 220: -#line 2314 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 224: +#line 2308 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[-2].TypeVal->get())) ThrowException("getelementptr insn requires pointer operand!"); @@ -4076,7 +4089,7 @@ yyerrhandle: } return 1; } -#line 2337 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2331 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" int yyerror(const char *ErrorMsg) { std::string where