diff options
Diffstat (limited to 'tools/llvm-upgrade/UpgradeParser.cpp.cvs')
-rw-r--r-- | tools/llvm-upgrade/UpgradeParser.cpp.cvs | 1480 |
1 files changed, 745 insertions, 735 deletions
diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs index 515d2d6bab..e289939e24 100644 --- a/tools/llvm-upgrade/UpgradeParser.cpp.cvs +++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs @@ -154,26 +154,26 @@ AND = 345, OR = 346, XOR = 347, - SETLE = 348, - SETGE = 349, - SETLT = 350, - SETGT = 351, - SETEQ = 352, - SETNE = 353, - ICMP = 354, - FCMP = 355, - MALLOC = 356, - ALLOCA = 357, - FREE = 358, - LOAD = 359, - STORE = 360, - GETELEMENTPTR = 361, - PHI_TOK = 362, - SELECT = 363, - SHL = 364, - SHR = 365, - ASHR = 366, - LSHR = 367, + SHL = 348, + SHR = 349, + ASHR = 350, + LSHR = 351, + SETLE = 352, + SETGE = 353, + SETLT = 354, + SETGT = 355, + SETEQ = 356, + SETNE = 357, + ICMP = 358, + FCMP = 359, + MALLOC = 360, + ALLOCA = 361, + FREE = 362, + LOAD = 363, + STORE = 364, + GETELEMENTPTR = 365, + PHI_TOK = 366, + SELECT = 367, VAARG = 368, EXTRACTELEMENT = 369, INSERTELEMENT = 370, @@ -306,26 +306,26 @@ #define AND 345 #define OR 346 #define XOR 347 -#define SETLE 348 -#define SETGE 349 -#define SETLT 350 -#define SETGT 351 -#define SETEQ 352 -#define SETNE 353 -#define ICMP 354 -#define FCMP 355 -#define MALLOC 356 -#define ALLOCA 357 -#define FREE 358 -#define LOAD 359 -#define STORE 360 -#define GETELEMENTPTR 361 -#define PHI_TOK 362 -#define SELECT 363 -#define SHL 364 -#define SHR 365 -#define ASHR 366 -#define LSHR 367 +#define SHL 348 +#define SHR 349 +#define ASHR 350 +#define LSHR 351 +#define SETLE 352 +#define SETGE 353 +#define SETLT 354 +#define SETGT 355 +#define SETEQ 356 +#define SETNE 357 +#define ICMP 358 +#define FCMP 359 +#define MALLOC 360 +#define ALLOCA 361 +#define FREE 362 +#define LOAD 363 +#define STORE 364 +#define GETELEMENTPTR 365 +#define PHI_TOK 366 +#define SELECT 367 #define VAARG 368 #define EXTRACTELEMENT 369 #define INSERTELEMENT 370 @@ -370,7 +370,7 @@ /* Copy the first part of user declarations. */ -#line 14 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 14 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y" #include "UpgradeInternals.h" #include "llvm/CallingConv.h" @@ -1368,6 +1368,13 @@ getBinaryOp(BinaryOps op, const Type *Ty, Signedness Sign) { case URemOp : return Instruction::URem; case SRemOp : return Instruction::SRem; case FRemOp : return Instruction::FRem; + case LShrOp : return Instruction::LShr; + case AShrOp : return Instruction::AShr; + case ShlOp : return Instruction::Shl; + case ShrOp : + if (Sign == Signed) + return Instruction::AShr; + return Instruction::LShr; case AndOp : return Instruction::And; case OrOp : return Instruction::Or; case XorOp : return Instruction::Xor; @@ -1462,11 +1469,6 @@ getOtherOp(OtherOps op, Signedness Sign) { default : assert(0 && "Invalid OldOtherOps"); case PHIOp : return Instruction::PHI; case CallOp : return Instruction::Call; - case ShlOp : return Instruction::Shl; - case ShrOp : - if (Sign == Signed) - return Instruction::AShr; - return Instruction::LShr; case SelectOp : return Instruction::Select; case UserOp1 : return Instruction::UserOp1; case UserOp2 : return Instruction::UserOp2; @@ -1476,8 +1478,6 @@ getOtherOp(OtherOps op, Signedness Sign) { case ShuffleVectorOp : return Instruction::ShuffleVector; case ICmpOp : return Instruction::ICmp; case FCmpOp : return Instruction::FCmp; - case LShrOp : return Instruction::LShr; - case AShrOp : return Instruction::AShr; }; } @@ -1553,7 +1553,6 @@ upgradeIntrinsicCall(const Type* RetTy, const ValID &ID, error("Invalid prototype for " + Name + " prototype"); return new FCmpInst(FCmpInst::FCMP_UNO, Args[0], Args[1]); } else { - static unsigned upgradeCount = 1; const Type* PtrTy = PointerType::get(Type::Int8Ty); std::vector<const Type*> Params; if (Name == "llvm.va_start" || Name == "llvm.va_end") { @@ -1563,9 +1562,7 @@ upgradeIntrinsicCall(const Type* RetTy, const ValID &ID, const FunctionType *FTy = FunctionType::get(Type::VoidTy, Params, false); const PointerType *PFTy = PointerType::get(FTy); Value* Func = getVal(PFTy, ID); - std::string InstName("va_upgrade"); - InstName += llvm::utostr(upgradeCount++); - Args[0] = new BitCastInst(Args[0], PtrTy, InstName, CurBB); + Args[0] = new BitCastInst(Args[0], PtrTy, makeNameUnique("va"), CurBB); return new CallInst(Func, Args); } else if (Name == "llvm.va_copy") { if (Args.size() != 2) @@ -1575,10 +1572,8 @@ upgradeIntrinsicCall(const Type* RetTy, const ValID &ID, const FunctionType *FTy = FunctionType::get(Type::VoidTy, Params, false); const PointerType *PFTy = PointerType::get(FTy); Value* Func = getVal(PFTy, ID); - std::string InstName0("va_upgrade"); - InstName0 += llvm::utostr(upgradeCount++); - std::string InstName1("va_upgrade"); - InstName1 += llvm::utostr(upgradeCount++); + std::string InstName0(makeNameUnique("va0")); + std::string InstName1(makeNameUnique("va1")); Args[0] = new BitCastInst(Args[0], PtrTy, InstName0, CurBB); Args[1] = new BitCastInst(Args[1], PtrTy, InstName1, CurBB); return new CallInst(Func, Args); @@ -1623,7 +1618,7 @@ const Type* upgradeGEPIndices(const Type* PTy, cast<Constant>(Index), Type::Int64Ty); else Index = CastInst::create(Instruction::ZExt, Index, Type::Int64Ty, - makeNameUnique("gep_upgrade"), CurBB); + makeNameUnique("gep"), CurBB); VIndices[i] = Index; } } @@ -1816,7 +1811,7 @@ using namespace llvm; #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 1440 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1435 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1859,7 +1854,7 @@ typedef union YYSTYPE { llvm::Module::Endianness Endianness; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 1863 "UpgradeParser.tab.c" +#line 1858 "UpgradeParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -1871,7 +1866,7 @@ typedef union YYSTYPE { /* Line 219 of yacc.c. */ -#line 1875 "UpgradeParser.tab.c" +#line 1870 "UpgradeParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -2022,7 +2017,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1712 +#define YYLAST 1736 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 166 @@ -2130,14 +2125,14 @@ static const short int yyrhs[] = 200, 0, -1, 5, -1, 6, -1, 3, -1, 4, -1, 79, -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, -1, 85, -1, 86, -1, 87, -1, 88, - -1, 89, -1, 90, -1, 91, -1, 92, -1, 93, - -1, 94, -1, 95, -1, 96, -1, 97, -1, 98, + -1, 89, -1, 90, -1, 91, -1, 92, -1, 97, + -1, 98, -1, 99, -1, 100, -1, 101, -1, 102, -1, 119, -1, 120, -1, 121, -1, 122, -1, 123, -1, 124, -1, 125, -1, 126, -1, 127, -1, 128, -1, 129, -1, 130, -1, 131, -1, 132, -1, 133, -1, 134, -1, 135, -1, 136, -1, 137, -1, 138, -1, 125, -1, 126, -1, 127, -1, 128, -1, 27, - -1, 28, -1, 109, -1, 110, -1, 111, -1, 112, + -1, 28, -1, 93, -1, 94, -1, 95, -1, 96, -1, 140, -1, 141, -1, 142, -1, 143, -1, 144, -1, 145, -1, 146, -1, 147, -1, 148, -1, 149, -1, 150, -1, 151, -1, 139, -1, 16, -1, 14, @@ -2166,11 +2161,11 @@ static const short int yyrhs[] = 191, 39, -1, 191, 227, -1, 191, 197, -1, 191, 26, -1, 176, 168, -1, 177, 4, -1, 9, 27, -1, 9, 28, -1, 179, 7, -1, 175, 155, 196, - 36, 191, 156, -1, 106, 155, 196, 242, 156, -1, - 108, 155, 196, 153, 196, 153, 196, 156, -1, 169, + 36, 191, 156, -1, 110, 155, 196, 242, 156, -1, + 112, 155, 196, 153, 196, 153, 196, 156, -1, 169, 155, 196, 153, 196, 156, -1, 170, 155, 196, 153, 196, 156, -1, 171, 155, 196, 153, 196, 156, -1, - 99, 172, 155, 196, 153, 196, 156, -1, 100, 173, + 103, 172, 155, 196, 153, 196, 156, -1, 104, 173, 155, 196, 153, 196, 156, -1, 174, 155, 196, 153, 196, 156, -1, 114, 155, 196, 153, 196, 156, -1, 115, 155, 196, 153, 196, 153, 196, 156, -1, 116, @@ -2211,55 +2206,55 @@ static const short int yyrhs[] = 238, 153, 229, -1, 238, -1, -1, 60, 59, -1, 59, -1, 169, 191, 228, 153, 228, -1, 170, 191, 228, 153, 228, -1, 171, 191, 228, 153, 228, -1, - 99, 172, 191, 228, 153, 228, -1, 100, 173, 191, + 103, 172, 191, 228, 153, 228, -1, 104, 173, 191, 228, 153, 228, -1, 49, 229, -1, 174, 229, 153, - 229, -1, 175, 229, 36, 191, -1, 108, 229, 153, + 229, -1, 175, 229, 36, 191, -1, 112, 229, 153, 229, 153, 229, -1, 113, 229, 153, 191, -1, 117, 229, 153, 191, -1, 118, 229, 153, 191, -1, 114, 229, 153, 229, -1, 115, 229, 153, 229, 153, 229, - -1, 116, 229, 153, 229, 153, 229, -1, 107, 237, + -1, 116, 229, 153, 229, 153, 229, -1, 111, 237, -1, 240, 182, 189, 228, 155, 239, 156, -1, 244, - -1, 153, 238, -1, -1, 35, -1, -1, 101, 191, - 184, -1, 101, 191, 153, 15, 228, 184, -1, 102, - 191, 184, -1, 102, 191, 153, 15, 228, 184, -1, - 103, 229, -1, 243, 104, 191, 228, -1, 243, 105, - 229, 153, 191, 228, -1, 106, 191, 228, 242, -1 + -1, 153, 238, -1, -1, 35, -1, -1, 105, 191, + 184, -1, 105, 191, 153, 15, 228, 184, -1, 106, + 191, 184, -1, 106, 191, 153, 15, 228, 184, -1, + 107, 229, -1, 243, 108, 191, 228, -1, 243, 109, + 229, 153, 191, 228, -1, 110, 191, 228, 242, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 1580, 1580, 1581, 1589, 1590, 1600, 1600, 1600, 1600, - 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1604, 1604, 1604, - 1608, 1608, 1608, 1608, 1608, 1608, 1612, 1612, 1613, 1613, - 1614, 1614, 1615, 1615, 1616, 1616, 1620, 1620, 1621, 1621, - 1622, 1622, 1623, 1623, 1624, 1624, 1625, 1625, 1626, 1626, - 1627, 1628, 1631, 1631, 1631, 1631, 1635, 1635, 1635, 1635, - 1635, 1635, 1635, 1636, 1636, 1636, 1636, 1636, 1636, 1642, - 1642, 1642, 1642, 1646, 1646, 1646, 1646, 1650, 1650, 1654, - 1654, 1659, 1662, 1667, 1668, 1669, 1670, 1671, 1672, 1673, - 1674, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1695, - 1696, 1704, 1705, 1713, 1722, 1723, 1730, 1731, 1735, 1739, - 1755, 1756, 1763, 1764, 1771, 1779, 1779, 1779, 1779, 1779, - 1779, 1779, 1780, 1780, 1780, 1780, 1780, 1785, 1789, 1793, - 1798, 1807, 1828, 1834, 1847, 1856, 1860, 1871, 1875, 1888, - 1892, 1899, 1900, 1906, 1913, 1925, 1955, 1968, 1991, 2019, - 2041, 2052, 2074, 2085, 2094, 2099, 2157, 2164, 2172, 2179, - 2186, 2190, 2194, 2203, 2218, 2231, 2240, 2268, 2281, 2290, - 2296, 2302, 2311, 2317, 2323, 2334, 2335, 2344, 2345, 2357, - 2366, 2367, 2368, 2369, 2370, 2386, 2406, 2408, 2410, 2410, - 2417, 2417, 2424, 2424, 2431, 2431, 2439, 2441, 2443, 2448, - 2462, 2463, 2467, 2470, 2478, 2482, 2489, 2493, 2497, 2501, - 2509, 2509, 2513, 2514, 2518, 2526, 2531, 2539, 2540, 2547, - 2554, 2558, 2673, 2673, 2677, 2687, 2687, 2691, 2695, 2697, - 2698, 2702, 2702, 2714, 2715, 2720, 2721, 2722, 2723, 2724, - 2725, 2726, 2727, 2728, 2749, 2752, 2767, 2768, 2773, 2773, - 2781, 2790, 2793, 2802, 2812, 2817, 2826, 2837, 2837, 2840, - 2843, 2846, 2850, 2856, 2871, 2877, 2933, 2936, 2942, 2952, - 2965, 2994, 3002, 3010, 3014, 3021, 3022, 3026, 3029, 3035, - 3052, 3068, 3082, 3094, 3106, 3117, 3126, 3135, 3144, 3151, - 3172, 3196, 3202, 3208, 3214, 3230, 3308, 3316, 3317, 3321, - 3322, 3326, 3332, 3338, 3344, 3350, 3357, 3369, 3383 + 0, 1575, 1575, 1576, 1584, 1585, 1595, 1595, 1595, 1595, + 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1599, 1599, 1599, + 1603, 1603, 1603, 1603, 1603, 1603, 1607, 1607, 1608, 1608, + 1609, 1609, 1610, 1610, 1611, 1611, 1615, 1615, 1616, 1616, + 1617, 1617, 1618, 1618, 1619, 1619, 1620, 1620, 1621, 1621, + 1622, 1623, 1626, 1626, 1626, 1626, 1630, 1630, 1630, 1630, + 1630, 1630, 1630, 1631, 1631, 1631, 1631, 1631, 1631, 1637, + 1637, 1637, 1637, 1641, 1641, 1641, 1641, 1645, 1645, 1649, + 1649, 1654, 1657, 1662, 1663, 1664, 1665, 1666, 1667, 1668, + 1669, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1690, + 1691, 1699, 1700, 1708, 1717, 1718, 1725, 1726, 1730, 1734, + 1750, 1751, 1758, 1759, 1766, 1774, 1774, 1774, 1774, 1774, + 1774, 1774, 1775, 1775, 1775, 1775, 1775, 1780, 1784, 1788, + 1793, 1802, 1823, 1829, 1842, 1851, 1855, 1866, 1870, 1883, + 1887, 1894, 1895, 1901, 1908, 1920, 1950, 1963, 1986, 2014, + 2036, 2047, 2069, 2080, 2089, 2094, 2152, 2159, 2167, 2174, + 2181, 2185, 2189, 2198, 2213, 2226, 2235, 2263, 2276, 2285, + 2291, 2297, 2308, 2314, 2320, 2331, 2332, 2341, 2342, 2354, + 2363, 2364, 2365, 2366, 2367, 2383, 2403, 2405, 2407, 2407, + 2414, 2414, 2421, 2421, 2428, 2428, 2436, 2438, 2440, 2445, + 2459, 2460, 2464, 2467, 2475, 2479, 2486, 2490, 2494, 2498, + 2506, 2506, 2510, 2511, 2515, 2523, 2528, 2536, 2537, 2544, + 2551, 2555, 2670, 2670, 2674, 2684, 2684, 2688, 2692, 2694, + 2695, 2699, 2699, 2711, 2712, 2717, 2718, 2719, 2720, 2721, + 2722, 2723, 2724, 2725, 2746, 2749, 2764, 2765, 2770, 2770, + 2778, 2787, 2790, 2799, 2809, 2814, 2823, 2834, 2834, 2837, + 2840, 2843, 2847, 2853, 2868, 2874, 2930, 2933, 2939, 2949, + 2962, 2991, 2999, 3007, 3011, 3018, 3019, 3023, 3026, 3032, + 3049, 3065, 3079, 3091, 3103, 3114, 3132, 3141, 3150, 3157, + 3178, 3202, 3208, 3214, 3220, 3236, 3314, 3322, 3323, 3327, + 3328, 3332, 3338, 3344, 3350, 3356, 3363, 3375, 3389 }; #endif @@ -2282,10 +2277,10 @@ static const char *const yytname[] = "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR", "SWITCH", "INVOKE", "UNREACHABLE", "UNWIND", "EXCEPT", "ADD", "SUB", "MUL", "DIV", "UDIV", "SDIV", "FDIV", "REM", "UREM", - "SREM", "FREM", "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT", "SETGT", - "SETEQ", "SETNE", "ICMP", "FCMP", "MALLOC", "ALLOCA", "FREE", "LOAD", - "STORE", "GETELEMENTPTR", "PHI_TOK", "SELECT", "SHL", "SHR", "ASHR", - "LSHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", + "SREM", "FREM", "AND", "OR", "XOR", "SHL", "SHR", "ASHR", "LSHR", + "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "ICMP", "FCMP", + "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", + "SELECT", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old", "VANEXT_old", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", "UGT", "ULE", "UGE", "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", "UNO", "UEQ", "UNE", "CAST", "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", @@ -2427,9 +2422,9 @@ static const unsigned short int yydefact[] = 0, 0, 232, 130, 0, 0, 0, 113, 135, 139, 0, 0, 144, 138, 299, 0, 278, 0, 0, 0, 0, 91, 267, 257, 258, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, - 0, 0, 0, 52, 53, 54, 55, 0, 0, 0, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 52, + 53, 54, 55, 20, 21, 22, 23, 24, 25, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 0, 0, 0, 0, 0, 266, 253, 91, 270, 0, 296, 204, 201, 200, @@ -2491,83 +2486,83 @@ static const short int yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -508 +#define YYPACT_NINF -541 static const short int yypact[] = { - -508, 18, 144, 546, -508, -508, -508, -508, -508, -508, - -508, -508, -508, -508, 2, 152, 47, -508, -508, -15, - -508, -508, -30, -75, 29, 69, -10, -508, 98, 104, - 151, -508, -508, -508, -508, -508, -508, 1307, -8, -508, - -508, 149, -508, -508, -508, -508, 11, 20, 22, 24, - -508, 27, 104, 1307, 0, 0, 0, 0, -508, -508, - -508, 152, -508, -508, -508, -508, -508, 37, -508, -508, - -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, - -508, 194, 200, 3, 695, -508, 149, 54, -508, -508, - -81, -508, -508, -508, -508, -508, 1561, -508, 186, -19, - 210, 188, 203, -508, -508, -508, -508, -508, 1368, 1368, - 1368, 1409, -508, -508, 66, 70, 715, -508, -508, -81, - -85, 75, 781, -508, -508, 1368, -508, 172, 1429, 58, - 255, 152, -508, -508, -508, -508, -508, -508, -508, -508, - -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, - -508, -508, -508, -508, -508, 208, 394, 1368, 1368, 1368, - 1368, 1368, 1368, -508, -508, -508, -508, 1368, 1368, 1368, - 1368, 1368, 1368, -508, -508, -508, -508, -508, -508, -508, - -508, -508, -508, -508, -508, -508, 1368, 1368, 1368, 1368, - 1368, -508, -508, 152, -508, 55, -508, -508, -508, -508, - -508, -508, -508, -508, -50, -508, -508, -508, 153, 179, - 228, 191, 229, 193, 230, 197, 231, 233, 234, 199, - 232, 235, 537, -508, 1368, 1368, 84, -45, 1368, -508, - 1149, -508, 93, 91, 898, -508, -508, 37, -508, 898, - 898, -508, -508, -508, -508, -508, -508, -508, -508, -508, - -508, 898, 1307, -508, -508, -508, -508, -508, -508, -508, - -508, -508, -508, 1368, -508, -508, -508, -508, -508, -508, - -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, - 1368, 95, 96, -508, 898, 99, 97, 105, 106, 107, - 120, 123, 126, 127, 898, 898, 898, 128, 221, 1307, - 1368, 1368, 258, -508, 132, 132, 132, -508, -508, -508, - -508, -508, -508, -508, -508, -508, -508, 208, 394, 131, - 134, 135, 136, 137, 1190, 1470, 736, 259, 139, 140, - 141, 142, 148, -508, -508, 132, -130, -23, -508, 143, - -81, -508, 149, -508, 155, 154, 1210, -508, -508, -508, - -508, -508, -508, -508, -508, -508, 224, 1409, -508, -508, - -508, -508, 156, -508, 163, 898, 898, 898, 4, -508, - 5, -508, 164, 898, 162, 1368, 1368, 1368, 1368, 1368, - 1368, 1368, 167, 168, 169, 1368, 1368, 898, 898, 170, - -508, -17, -508, -508, -508, 150, 182, 1409, 1409, 1409, - 1409, 1409, -508, -508, -13, 756, -24, -508, -36, -508, - 1409, 1409, 1409, 1409, 1409, -508, -508, -508, -508, -508, - -508, 1251, 290, -508, -508, 301, -14, 324, 325, 198, - 201, 202, 898, 348, 898, 1368, -508, 204, 898, 205, - -508, -508, 211, 214, -508, -508, 898, 898, 898, -508, - -508, 213, -508, 1368, 332, 365, -508, 132, 1409, 1409, - 164, 217, 222, 223, 225, 1409, -508, 216, -71, -27, - -508, -508, 226, 236, 237, 240, 338, -508, -508, -508, - 326, 241, -508, 898, 898, 1368, 898, 898, 242, -508, - 242, -508, 243, 898, 244, 1368, 1368, 1368, -508, -508, - -508, 1368, 898, -508, -508, -508, 246, 247, 245, 1409, - 1409, 1409, 1409, -508, -508, 220, 1409, 1409, 1409, 1409, - 1368, 378, -508, 361, 249, 248, 243, 250, -508, -508, - 329, -508, -508, 1368, 256, 898, -508, -508, -508, 251, - -508, 1409, 1409, -508, 261, 252, 270, 271, -508, 269, - 272, 275, 279, 280, -508, -508, 367, 40, 368, -508, - -508, 267, -508, 281, 282, 1409, -508, 1409, 1409, -508, - -508, -508, -508, -508, 898, -508, 996, 85, 382, -508, - -508, -508, 283, 285, 288, -508, 274, -508, 996, 898, - -508, -508, -508, 424, 293, 130, 898, 426, 430, -508, - 898, 898, -508, -508 + -541, 28, 61, 478, -541, -541, -541, -541, -541, -541, + -541, -541, -541, -541, 23, 152, 45, -541, -541, -9, + -541, -541, -20, -51, 76, 69, 12, -541, 97, 149, + 172, -541, -541, -541, -541, -541, -541, 1331, -19, -541, + -541, 137, -541, -541, -541, -541, 49, 58, 60, 62, + -541, 72, 149, 1331, 88, 88, 88, 88, -541, -541, + -541, 152, -541, -541, -541, -541, -541, 75, -541, -541, + -541, -541, -541, -541, -541, -541, -541, -541, -541, -541, + -541, 227, 228, 3, 691, -541, 137, 79, -541, -541, + -46, -541, -541, -541, -541, -541, 1585, -541, 212, 136, + 233, 214, 216, -541, -541, -541, -541, -541, 1392, 1392, + 1392, 1433, -541, -541, 83, 87, 711, -541, -541, -46, + -70, 89, 777, -541, -541, 1392, -541, 183, 1453, 6, + 309, 152, -541, -541, -541, -541, -541, -541, -541, -541, + -541, -541, -541, -541, -541, -541, -541, -541, -541, -541, + -541, -541, -541, -541, -541, -541, -541, -541, -541, 59, + 142, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, + 1392, 1392, 1392, -541, -541, -541, -541, -541, -541, -541, + -541, -541, -541, -541, -541, -541, 1392, 1392, 1392, 1392, + 1392, -541, -541, 152, -541, 86, -541, -541, -541, -541, + -541, -541, -541, -541, -129, -541, -541, -541, 169, 196, + 242, 200, 246, 203, 252, 205, 253, 251, 258, 221, + 255, 259, 533, -541, 1392, 1392, 99, -63, 1392, -541, + 1173, -541, 128, 126, 894, -541, -541, 75, -541, 894, + 894, -541, -541, -541, -541, -541, -541, -541, -541, -541, + -541, 894, 1331, -541, -541, -541, -541, -541, -541, -541, + -541, -541, -541, 1392, -541, -541, -541, -541, -541, -541, + -541, -541, -541, -541, -541, -541, -541, -541, -541, -541, + 1392, 130, 133, -541, 894, 132, 138, 139, 143, 144, + 151, 155, 156, 157, 894, 894, 894, 163, 254, 1331, + 1392, 1392, 271, -541, 164, 164, 164, -541, -541, -541, + -541, -541, -541, -541, -541, -541, -541, 59, 142, 173, + 174, 175, 176, 177, 1214, 1494, 732, 281, 178, 179, + 180, 182, 190, -541, -541, 164, -42, -135, -541, 166, + -46, -541, 137, -541, 193, 191, 1234, -541, -541, -541, + -541, -541, -541, -541, -541, -541, 290, 1433, -541, -541, + -541, -541, 201, -541, 202, 894, 894, 894, 7, -541, + 10, -541, 204, 894, 199, 1392, 1392, 1392, 1392, 1392, + 1392, 1392, 211, 215, 217, 1392, 1392, 894, 894, 223, + -541, -21, -541, -541, -541, 210, 219, 1433, 1433, 1433, + 1433, 1433, -541, -541, 4, 752, -91, -541, -8, -541, + 1433, 1433, 1433, 1433, 1433, -541, -541, -541, -541, -541, + -541, 1275, 324, -541, -541, 343, 37, 348, 356, 224, + 225, 229, 894, 376, 894, 1392, -541, 230, 894, 232, + -541, -541, 234, 235, -541, -541, 894, 894, 894, -541, + -541, 226, -541, 1392, 362, 385, -541, 164, 1433, 1433, + 204, 238, 239, 240, 241, 1433, -541, 243, -17, -5, + -541, -541, 247, 250, 261, 262, 359, -541, -541, -541, + 339, 268, -541, 894, 894, 1392, 894, 894, 269, -541, + 269, -541, 270, 894, 272, 1392, 1392, 1392, -541, -541, + -541, 1392, 894, -541, -541, -541, 273, 274, 249, 1433, + 1433, 1433, 1433, -541, -541, 245, 1433, 1433, 1433, 1433, + 1392, 395, -541, 383, 275, 267, 270, 279, -541, -541, + 351, -541, -541, 1392, 277, 894, -541, -541, -541, 282, + -541, 1433, 1433, -541, 278, 283, 284, 288, -541, 289, + 291, 295, 296, 297, -541, -541, 423, 43, 410, -541, + -541, 298, -541, 300, 305, 1433, -541, 1433, 1433, -541, + -541, -541, -541, -541, 894, -541, 1020, 64, 441, -541, + -541, -541, 307, 311, 314, -541, 312, -541, 1020, 894, + -541, -541, -541, 450, 319, 150, 894, 452, 453, -541, + 894, 894, -541, -541 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -508, -508, -508, 356, 357, 360, 145, 147, 371, 374, - -128, -127, -497, -508, 416, 436, -117, -508, -277, 41, - -508, -296, -508, -47, -508, -37, -508, -58, 46, -508, - -99, 253, -298, 49, -508, -508, -508, -508, -508, -508, - -508, 419, -508, -508, -508, -508, 8, -508, 51, -508, - -508, 412, -508, -508, -508, -508, -508, 471, -508, -508, - -507, -209, 67, -124, -508, 457, -508, -118, -508, -508, - -508, -508, 43, -22, -508, -508, 21, -508, -508 + -541, -541, -541, 379, 380, 381, 161, 162, 386, 388, + -128, -127, -540, -541, 438, 456, -111, -541, -277, 63, + -541, -297, -541, -47, -541, -37, -541, -53, 40, -541, + -99, 264, -307, 84, -541, -541, -541, -541, -541, -541, + -541, 435, -541, -541, -541, -541, 8, -541, 68, -541, + -541, 427, -541, -541, -541, -541, -541, 487, -541, -541, + -489, -199, 67, -124, -541, 472, -541, -103, -541, -541, + -541, -541, 71, -7, -541, -541, 33, -541, -541 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -2577,354 +2572,358 @@ static const short int yypgoto[] = #define YYTABLE_NINF -180 static const short int yytable[] = { - 88, 235, 249, 250, 238, 371, 105, 115, 39, 393, - 394, 26, 223, 334, 252, 42, 88, 454, 4, 432, - 434, 93, 46, 47, 48, 360, 119, 406, 408, 416, - 360, 360, 106, 107, 123, 283, 198, 199, 287, 415, - 455, 49, 360, 288, 289, 290, 291, 292, 293, 26, - 241, 242, 243, 244, 245, 246, 247, 248, 119, 426, - 576, 433, 433, 29, 119, 297, 298, 239, 228, 586, - 39, 205, 206, 207, -112, 360, 299, 51, 229, 240, - 588, 594, -139, 123, -112, 360, 360, 360, 234, 53, - 52, 234, -139, 123, 121, 241, 242, 243, 244, 245, - 246, 247, 248, 302, 109, 110, 111, 469, 228, 303, - 7, 8, 9, 10, 54, 12, 55, 465, 339, 56, - 281, 282, 234, 284, 285, 234, 465, 471, 62, 465, - 234, 234, 234, 234, 234, 234, 515, 470, 417, 465, - 465, 123, 58, 59, -179, 60, 466, 482, 43, 294, - 295, 296, 234, 234, 94, 64, 360, 360, 360, 300, - 301, 505, 227, 98, 360, 116, 336, 337, 232, 5, - 340, 20, 99, 21, 100, 6, 101, 389, 360, 360, - 307, 308, -72, -72, 102, 7, 8, 9, 10, 11, - 12, 13, -113, 342, -71, -71, -70, -70, 113, 575, - -69, -69, 309, 310, 114, 365, 14, 133, 134, 122, - 197, 531, 202, 532, 201, 88, 30, 31, 32, 33, - 34, 35, 36, 360, 224, 360, 366, 203, 225, 360, - 230, 236, -76, -75, -74, -73, 312, 360, 360, 360, - -79, -80, 313, 367, 587, 338, 346, 347, 368, 370, - 374, 439, 387, 441, 442, 443, 373, 386, 375, 376, - 377, 449, 88, 388, 234, 241, 242, 243, 244, 245, - 246, 247, 248, 378, 360, 360, 379, 360, 360, 380, - 381, 385, 390, 409, 360, 391, 397, 424, 340, 398, - 399, 400, 401, 360, 410, 411, 412, 413, 460, 461, - 462, 463, 464, 414, 418, 458, 362, 363, 421, 427, - 422, 472, 473, 474, 475, 476, 428, 435, 364, 438, - 446, 447, 448, 453, 454, 481, 360, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 459, 234, 440, - 234, 234, 234, 444, 445, 483, 484, 468, 234, 450, - 419, 372, 489, 485, 486, 487, 503, 493, 495, 506, - 507, 382, 383, 384, 496, 360, 513, 497, 501, 504, - 509, 536, 537, 538, 520, 510, 511, 514, 512, 516, - 360, 548, 554, 521, 342, 555, 433, 360, 574, 517, - 518, 360, 360, 519, 523, 530, 533, 535, 234, 541, - 542, 543, 556, 589, 578, 557, 558, 562, 566, 559, - 544, 545, 546, 547, 565, 560, 502, 549, 550, 551, - 552, 264, 265, 567, 568, 569, 579, 593, 570, 249, - 250, 571, 429, 430, 431, 572, 573, 580, 581, 590, - 437, 591, 563, 564, 592, 596, 597, 600, 234, 249, - 250, 601, 186, 187, 451, 452, 188, 96, 234, 234, - 234, 57, 395, 479, 234, 396, 582, 189, 583, 584, - 190, 104, 478, 112, 27, 333, 45, 598, 492, 539, - 0, 508, 0, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 234, 0, 0, 488, - 0, 490, 0, 0, 0, 494, 0, 0, 0, 0, - 0, 0, 0, 498, 499, 500, 0, 0, 0, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, - 524, 525, 0, 528, 529, 0, 0, 0, 0, 20, - 534, 21, 0, 314, 0, 0, -82, 0, 20, 540, - 21, 0, 0, 0, 0, 315, 316, 6, -82, -82, - 0, 0, 0, 0, 0, 0, 0, -82, -82, -82, - -82, -82, -82, -82, 0, 0, -82, 22, 0, 0, - 0, 0, 561, 0, 23, 0, 0, 0, 24, 0, - 0, 0, 0, 0, 0, 0, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 317, 318, 0, 0, - 0, 585, 0, 319, 0, 320, 163, 164, 165, 166, - 0, 321, 322, 323, 0, 0, 595, 0, 0, 0, + 88, 235, 249, 250, 238, 371, 105, 115, 393, 394, + 93, 26, 223, 454, 39, 239, 88, 576, 406, 408, + 252, 42, 432, 334, 302, 434, 417, 240, 4, 123, + 303, 119, 46, 47, 48, 360, 455, 588, 415, 283, + 360, 360, 287, 288, 289, 290, 291, 292, 293, 26, + 426, 49, 360, 241, 242, 243, 244, 245, 246, 247, + 248, -179, 465, 119, 433, 297, 298, 433, 39, 119, + 470, 205, 206, 207, 241, 242, 243, 244, 245, 246, + 247, 248, 299, 228, 29, 360, 5, 586, 234, 53, + 228, 234, 6, 229, 121, 360, 360, 360, 469, 594, + 339, 51, 7, 8, 9, 10, 11, 12, 13, -112, + 7, 8, 9, 10, 54, 12, 55, 416, 123, 56, + 106, 107, 123, 14, 281, 282, 234, 284, 285, 234, + 234, 234, 234, 234, 234, 234, -139, 52, -112, 109, + 110, 111, 59, 94, 60, 465, -139, 123, 465, 294, + 295, 296, 234, 234, 43, 471, 227, 465, 515, 20, + 505, 21, 232, 466, 58, 116, 360, 360, 360, 264, + 265, 336, 337, 62, 360, 340, 64, 389, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 360, 360, + 465, 198, 199, 342, 300, 301, 307, 308, 482, -72, + -72, 98, 575, -71, -71, 365, -70, -70, -69, -69, + 99, 531, 100, 532, 101, 88, 30, 31, 32, 33, + 34, 35, 36, 587, 309, 310, 366, 133, 134, 102, + -113, 113, 114, 360, 122, 360, 197, 201, 202, 360, + 203, 224, 236, 367, 230, 225, -76, 360, 360, 360, + -75, 439, 387, 441, 442, 443, -74, -73, -79, 312, + 338, 449, 88, 388, 234, -80, 313, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 346, 347, 368, 360, 360, 370, 360, 360, 373, + 386, 374, 375, 340, 360, 390, 376, 377, 460, 461, + 462, 463, 464, 360, 378, 409, 362, 363, 379, 380, + 381, 472, 473, 474, 475, 476, 385, 391, 364, 241, + 242, 243, 244, 245, 246, 247, 248, 418, 397, 398, + 399, 400, 401, 410, 411, 412, 360, 413, 234, 440, + 234, 234, 234, 444, 445, 414, 421, 422, 234, 450, + 419, 372, 468, 424, 427, 428, 438, 435, 454, 506, + 507, 382, 383, 384, 446, 458, 513, 481, 447, 483, + 448, 536, 537, 538, 459, 360, 453, 484, 486, 485, + 489, 501, 487, 493, 342, 495, 503, 496, 497, 504, + 360, 509, 510, 511, 512, 520, 521, 360, 234, 554, + 516, 360, 360, 517, 514, 543, 548, 555, 433, 559, + 544, 545, 546, 547, 518, 519, 502, 549, 550, 551, + 552, 523, 530, 533, 557, 535, 541, 542, 556, 249, + 250, 565, 429, 430, 431, 558, 560, 567, 562, 566, + 437, 568, 563, 564, 574, 569, 578, 570, 234, 249, + 250, 571, 572, 573, 451, 452, 580, 579, 234, 234, + 234, 581, 589, 590, 234, 593, 582, 591, 583, 584, + 592, 596, 597, 600, 601, 186, 187, 188, 395, 96, + 396, 57, 189, 553, 190, 479, 333, 104, 112, 478, + 27, 45, 598, 508, 539, 0, 234, 0, -82, 488, + 20, 490, 21, 0, 0, 494, 492, 0, 0, 6, + -82, -82, 0, 498, 499, 500, 0, 0, 0, -82, + -82, -82, -82, -82, -82, -82, 0, 0, -82, 22, + 0, 0, 0, 0, 0, 0, 23, 0, 65, 66, + 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 524, 525, 0, 528, 529, 20, 0, 21, 0, 314, + 534, 0, 0, 0, 0, 0, 0, 0, 0, 540, + 0, 315, 316, 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, 561, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158, 317, 318, 0, 0, + 0, 585, 0, 319, 0, 320, 0, 321, 322, 323, + 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, 599, 0, 0, 0, 602, 603, 0, - 0, 0, 0, 0, 0, 0, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 0, - 0, 0, 0, 0, 324, 0, 0, 325, 0, 326, - 65, 66, 327, 117, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 0, 79, 20, 0, 21, - 65, 66, 0, 117, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 0, 79, 20, 0, 21, - 0, 65, 66, 80, 117, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 0, 79, 20, 0, - 21, 65, 66, 80, 117, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 0, 79, 20, 0, - 21, 0, 0, 0, 80, 0, 65, 66, 0, 117, + 0, 0, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 0, 0, 0, 0, 0, + 324, 0, 0, 325, 0, 326, 65, 66, 327, 117, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 0, 79, 20, 80, 21, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 78, 0, 79, 20, 0, 21, 65, 66, 0, 117, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 0, 79, 20, 0, 21, 0, 65, 66, 80, + 117, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 0, 79, 20, 0, 21, 65, 66, 80, + 117, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 0, 79, 20, 0, 21, 0, 0, 0, + 80, 0, 65, 66, 0, 117, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 0, 79, 20, + 80, 21, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 82, 0, 0, 83, 0, 84, 118, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 82, 0, 0, 83, 0, 84, 226, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 82, 0, + 0, 83, 0, 84, 118, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 82, 0, + 0, 83, 0, 84, 226, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 0, 0, 82, + 0, 0, 83, 0, 84, 407, 0, 348, 349, 65, + 66, 350, 0, 0, 0, 0, 81, 0, 0, 82, + 0, 0, 83, 0, 84, 467, 20, 0, 21, 0, + 351, 352, 353, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 354, 355, 82, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 0, 82, 0, 0, 83, 0, 84, 407, - 0, 348, 349, 65, 66, 350, 0, 0, 0, 0, - 81, 0, 0, 82, 0, 0, 83, 0, 84, 467, - 20, 0, 21, 0, 351, 352, 353, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 354, 355, 82, 0,< |