diff options
author | Duncan Sands <baldrick@free.fr> | 2007-11-27 13:23:08 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2007-11-27 13:23:08 +0000 |
commit | dc024674ff96820d6020757b48d47f46d4c07db2 (patch) | |
tree | 843dfcaeb8f6c99de930a32020148b563005c2fd /lib | |
parent | f19341dec7361451f100a882a023b14583454d7e (diff) |
Fix PR1146: parameter attributes are longer part of
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
33 files changed, 1368 insertions, 1341 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp index 2291852c86..82dee547a9 100644 --- a/lib/Analysis/BasicAliasAnalysis.cpp +++ b/lib/Analysis/BasicAliasAnalysis.cpp @@ -268,7 +268,7 @@ BasicAliasAnalysis::getModRefInfo(CallSite CS, Value *P, unsigned Size) { static bool isNoAliasArgument(const Argument *Arg) { const Function *Func = Arg->getParent(); - const ParamAttrsList *Attr = Func->getFunctionType()->getParamAttrs(); + const ParamAttrsList *Attr = Func->getParamAttrs(); if (Attr) { unsigned Idx = 1; for (Function::const_arg_iterator I = Func->arg_begin(), @@ -839,7 +839,7 @@ BasicAliasAnalysis::getModRefBehavior(Function *F, CallSite CS, return UnknownModRefBehavior; } - const ParamAttrsList *Attrs = F->getFunctionType()->getParamAttrs(); + const ParamAttrsList *Attrs = F->getParamAttrs(); if (Attrs && Attrs->paramHasAttr(0, ParamAttr::ReadNone)) return DoesNotAccessMemory; if (Attrs && Attrs->paramHasAttr(0, ParamAttr::ReadOnly)) diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs index 4a1534881f..5907eec578 100644 --- a/lib/AsmParser/llvmAsmParser.cpp.cvs +++ b/lib/AsmParser/llvmAsmParser.cpp.cvs @@ -214,8 +214,8 @@ NOALIAS = 395, BYVAL = 396, NEST = 397, - CONST = 398, - PURE = 399, + READNONE = 398, + READONLY = 399, DEFAULT = 400, HIDDEN = 401, PROTECTED = 402 @@ -362,8 +362,8 @@ #define NOALIAS 395 #define BYVAL 396 #define NEST 397 -#define CONST 398 -#define PURE 399 +#define READNONE 398 +#define READONLY 399 #define DEFAULT 400 #define HIDDEN 401 #define PROTECTED 402 @@ -372,7 +372,7 @@ /* Copy the first part of user declarations. */ -#line 14 "/llvm/lib/AsmParser/llvmAsmParser.y" +#line 14 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -391,9 +391,6 @@ #include <list> #include <map> #include <utility> -#ifndef NDEBUG -#define YYDEBUG 1 -#endif // The following is a gross hack. In order to rid the libAsmParser library of // exceptions, we have to have a way of getting the yyparse function to go into @@ -413,15 +410,6 @@ static bool TriggerError = false; int yyerror(const char *ErrorMsg); // Forward declarations to prevent "implicit int yylex(); // declaration" of xxx warnings. int yyparse(); - -namespace llvm { - std::string CurFilename; -#if YYDEBUG -static cl::opt<bool> -Debug("debug-yacc", cl::desc("Print yacc debug state changes"), - cl::Hidden, cl::init(false)); -#endif -} using namespace llvm; static Module *ParserResult; @@ -875,7 +863,7 @@ static Value *getVal(const Type *Ty, const ValID &ID) { // Remember where this forward reference came from. FIXME, shouldn't we try // to recycle these things?? CurModule.PlaceHolderInfo.insert(std::make_pair(V, std::make_pair(ID, - llvmAsmlineno))); + LLLgetLineNo()))); if (inFunctionScope()) InsertValue(V, CurFun.LateResolveValues); @@ -1307,22 +1295,11 @@ static PATypeHolder HandleUpRefs(const Type *ty) { // static Module* RunParser(Module * M); -Module *llvm::RunVMAsmParser(const std::string &Filename, FILE *F) { - set_scan_file(F); - - CurFilename = Filename; - return RunParser(new Module(CurFilename)); -} - -Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { - set_scan_string(AsmString); - - CurFilename = "from_memory"; - if (M == NULL) { - return RunParser(new Module (CurFilename)); - } else { - return RunParser(M); - } +Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { + InitLLLexer(MB); + Module *M = RunParser(new Module(LLLgetFilename())); + FreeLexer(); + return M; } @@ -1347,7 +1324,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 968 "/llvm/lib/AsmParser/llvmAsmParser.y" +#line 945 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y" { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1394,8 +1371,8 @@ typedef union YYSTYPE llvm::ICmpInst::Predicate IPredicate; llvm::FCmpInst::Predicate FPredicate; } -/* Line 193 of yacc.c. */ -#line 1399 "llvmAsmParser.tab.c" +/* Line 187 of yacc.c. */ +#line 1376 "llvmAsmParser.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1408,7 +1385,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 1412 "llvmAsmParser.tab.c" +#line 1389 "llvmAsmParser.tab.c" #ifdef short # undef short @@ -1458,7 +1435,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -1623,7 +1600,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 43 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1754 +#define YYLAST 1816 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 162 @@ -1632,7 +1609,7 @@ union yyalloc /* YYNRULES -- Number of rules. */ #define YYNRULES 314 /* YYNRULES -- Number of states. */ -#define YYNSTATES 602 +#define YYNSTATES 608 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -1720,10 +1697,10 @@ static const yytype_uint16 yyprhs[] = 690, 692, 694, 696, 700, 702, 708, 710, 712, 714, 716, 718, 720, 723, 726, 729, 733, 736, 737, 739, 742, 745, 749, 759, 769, 778, 793, 795, 797, 804, - 810, 813, 820, 828, 832, 836, 842, 848, 849, 850, - 854, 857, 859, 865, 871, 878, 885, 890, 897, 902, - 907, 914, 921, 924, 933, 935, 937, 938, 942, 949, - 953, 960, 963, 969, 977 + 810, 813, 820, 828, 833, 838, 845, 852, 853, 854, + 858, 861, 863, 869, 875, 882, 889, 894, 901, 906, + 911, 918, 925, 928, 937, 939, 941, 942, 946, 953, + 957, 964, 967, 973, 981 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -1752,7 +1729,7 @@ static const yytype_int16 yyrhs[] = 135, -1, 117, -1, 134, -1, 118, -1, 137, -1, 138, -1, 140, -1, 141, -1, 142, -1, -1, 184, 183, -1, 136, -1, 139, -1, 135, -1, 134, -1, - 144, -1, 143, -1, -1, 186, 185, -1, -1, 53, + 143, -1, 144, -1, -1, 186, 185, -1, -1, 53, 4, -1, -1, 149, 53, 4, -1, 34, 22, -1, -1, 189, -1, -1, 149, 192, 191, -1, 189, -1, 53, 4, -1, 11, -1, 12, -1, 13, -1, 16, @@ -1811,60 +1788,60 @@ static const yytype_int16 yyrhs[] = 17, 229, -1, 71, -1, 72, -1, 235, 168, 227, 149, 17, 229, -1, 168, 227, 149, 17, 229, -1, 172, 241, -1, 194, 154, 229, 149, 229, 156, -1, - 237, 149, 154, 229, 149, 229, 156, -1, 194, 229, - 184, -1, 17, 229, 184, -1, 238, 149, 194, 229, - 184, -1, 238, 149, 17, 229, 184, -1, -1, -1, - 239, 149, 230, -1, 56, 55, -1, 55, -1, 163, - 194, 229, 149, 229, -1, 164, 194, 229, 149, 229, - -1, 88, 166, 194, 229, 149, 229, -1, 89, 167, - 194, 229, 149, 229, -1, 165, 230, 38, 194, -1, - 129, 230, 149, 230, 149, 230, -1, 130, 230, 149, - 194, -1, 131, 230, 149, 230, -1, 132, 230, 149, - 230, 149, 230, -1, 133, 230, 149, 230, 149, 230, - -1, 128, 237, -1, 240, 182, 196, 229, 152, 238, - 153, 186, -1, 243, -1, 36, -1, -1, 110, 194, - 188, -1, 110, 194, 149, 11, 229, 188, -1, 111, - 194, 188, -1, 111, 194, 149, 11, 229, 188, -1, - 112, 230, -1, 242, 113, 194, 229, 188, -1, 242, - 114, 230, 149, 194, 229, 188, -1, 115, 194, 229, - 239, -1 + 237, 149, 154, 229, 149, 229, 156, -1, 194, 184, + 229, 184, -1, 17, 184, 229, 184, -1, 238, 149, + 194, 184, 229, 184, -1, 238, 149, 17, 184, 229, + 184, -1, -1, -1, 239, 149, 230, -1, 56, 55, + -1, 55, -1, 163, 194, 229, 149, 229, -1, 164, + 194, 229, 149, 229, -1, 88, 166, 194, 229, 149, + 229, -1, 89, 167, 194, 229, 149, 229, -1, 165, + 230, 38, 194, -1, 129, 230, 149, 230, 149, 230, + -1, 130, 230, 149, 194, -1, 131, 230, 149, 230, + -1, 132, 230, 149, 230, 149, 230, -1, 133, 230, + 149, 230, 149, 230, -1, 128, 237, -1, 240, 182, + 196, 229, 152, 238, 153, 186, -1, 243, -1, 36, + -1, -1, 110, 194, 188, -1, 110, 194, 149, 11, + 229, 188, -1, 111, 194, 188, -1, 111, 194, 149, + 11, 229, 188, -1, 112, 230, -1, 242, 113, 194, + 229, 188, -1, 242, 114, 230, 149, 194, 229, 188, + -1, 115, 194, 229, 239, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, - 1128, 1129, 1129, 1129, 1129, 1129, 1129, 1130, 1130, 1130, - 1130, 1130, 1130, 1131, 1131, 1131, 1131, 1131, 1131, 1134, - 1134, 1135, 1135, 1136, 1136, 1137, 1137, 1138, 1138, 1142, - 1142, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1146, 1147, - 1147, 1148, 1148, 1149, 1150, 1155, 1156, 1156, 1156, 1156, - 1156, 1158, 1158, 1158, 1159, 1159, 1163, 1167, 1172, 1172, - 1174, 1175, 1180, 1186, 1187, 1188, 1189, 1190, 1194, 1195, - 1196, 1200, 1201, 1202, 1203, 1207, 1208, 1209, 1213, 1214, - 1215, 1216, 1217, 1221, 1222, 1223, 1226, 1227, 1228, 1229, - 1230, 1231, 1232, 1239, 1240, 1241, 1242, 1243, 1244, 1245, - 1246, 1247, 1250, 1251, 1256, 1257, 1258, 1259, 1260, 1261, - 1264, 1265, 1272, 1273, 1279, 1280, 1288, 1296, 1297, 1302, - 1303, 1304, 1309, 1322, 1322, 1322, 1322, 1322, 1322, 1322, - 1325, 1329, 1333, 1340, 1345, 1353, 1383, 1414, 1419, 1429, - 1439, 1443, 1453, 1460, 1467, 1474, 1479, 1484, 1491, 1492, - 1499, 1506, 1514, 1520, 1532, 1560, 1576, 1603, 1631, 1657, - 1677, 1703, 1723, 1735, 1742, 1808, 1818, 1828, 1834, 1844, - 1850, 1860, 1865, 1870, 1883, 1895, 1917, 1925, 1931, 1942, - 1947, 1952, 1958, 1964, 1973, 1977, 1985, 1985, 1988, 1988, - 1991, 2003, 2024, 2029, 2037, 2038, 2042, 2042, 2046, 2046, - 2049, 2052, 2076, 2087, 2087, 2098, 2097, 2107, 2106, 2117, - 2157, 2160, 2166, 2176, 2180, 2185, 2187, 2192, 2197, 2206, - 2216, 2227, 2231, 2240, 2249, 2254, 2375, 2375, 2377, 2386, - 2386, 2388, 2393, 2405, 2409, 2414, 2418, 2422, 2426, 2430, - 2434, 2438, 2442, 2446, 2471, 2475, 2485, 2489, 2493, 2498, - 2505, 2505, 2511, 2520, 2524, 2533, 2542, 2551, 2555, 2562, - 2566, 2570, 2575, 2585, 2604, 2613, 2693, 2697, 2704, 2715, - 2728, 2738, 2749, 2759, 2768, 2774, 2783, 2789, 2792, 2793, - 2800, 2804, 2809, 2825, 2842, 2856, 2870, 2882, 2890, 2897, - 2903, 2909, 2915, 2930, 3015, 3020, 3024, 3031, 3038, 3046, - 3053, 3061, 3069, 3083, 3100 + 0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, + 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1107, 1107, 1107, + 1107, 1107, 1107, 1108, 1108, 1108, 1108, 1108, 1108, 1111, + 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1115, 1115, 1119, + 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1123, 1123, 1124, + 1124, 1125, 1125, 1126, 1127, 1132, 1133, 1133, 1133, 1133, + 1133, 1135, 1135, 1135, 1136, 1136, 1140, 1144, 1149, 1149, + 1151, 1152, 1157, 1163, 1164, 1165, 1166, 1167, 1171, 1172, + 1173, 1177, 1178, 1179, 1180, 1184, 1185, 1186, 1190, 1191, + 1192, 1193, 1194, 1198, 1199, 1200, 1203, 1204, 1205, 1206, + 1207, 1208, 1209, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1223, 1224, 1227, 1228, 1233, 1234, 1235, 1236, 1237, 1238, + 1241, 1242, 1249, 1250, 1256, 1257, 1265, 1273, 1274, 1279, + 1280, 1281, 1286, 1299, 1299, 1299, 1299, 1299, 1299, 1299, + 1302, 1306, 1310, 1317, 1322, 1330, 1348, 1366, 1371, 1381, + 1391, 1395, 1405, 1412, 1421, 1428, 1433, 1438, 1445, 1446, + 1453, 1460, 1468, 1474, 1486, 1514, 1530, 1557, 1585, 1611, + 1631, 1657, 1677, 1689, 1696, 1762, 1772, 1782, 1788, 1798, + 1804, 1814, 1819, 1824, 1837, 1849, 1871, 1879, 1885, 1896, + 1901, 1906, 1912, 1918, 1927, 1931, 1939, 1939, 1942, 1942, + 1945, 1957, 1978, 1983, 1991, 1992, 1996, 1996, 2000, 2000, + 2003, 2006, 2030, 2041, 2041, 2052, 2051, 2061, 2060, 2071, + 2111, 2114, 2120, 2130, 2134, 2139, 2141, 2146, 2151, 2160, + 2170, 2181, 2185, 2194, 2203, 2208, 2338, 2338, 2340, 2349, + 2349, 2351, 2356, 2368, 2372, 2377, 2381, 2385, 2389, 2393, + 2397, 2401, 2405, 2409, 2434, 2438, 2448, 2452, 2456, 2461, + 2468, 2468, 2474, 2483, 2487, 2496, 2505, 2514, 2518, 2525, + 2529, 2533, 2538, 2548, 2567, 2576, 2660, 2664, 2671, 2682, + 2695, 2705, 2716, 2726, 2737, 2745, 2755, 2762, 2765, 2766, + 2773, 2777, 2782, 2798, 2815, 2829, 2843, 2855, 2863, 2870, + 2876, 2882, 2888, 2903, 2994, 2999, 3003, 3010, 3017, 3025, + 3032, 3040, 3048, 3062, 3079 }; #endif @@ -1894,27 +1871,28 @@ static const char *const yytname[] = "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "SIGNEXT", "ZEROEXT", "NORETURN", - "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", "CONST", "PURE", - "DEFAULT", "HIDDEN", "PROTECTED", "'='", "','", "'*'", "'\\\\'", "'('", - "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept", - "ArithmeticOps", "LogicalOps", "CastOps", "IPredicates", "FPredicates", - "IntType", "FPType", "LocalName", "OptLocalName", "OptLocalAssign", - "GlobalName", "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage", - "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage", - "FunctionDefineLinkage", "AliasLinkage", "OptCallingConv", "ParamAttr", - "OptParamAttrs", "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign", - "SectionString", "OptSection", "GlobalVarAttributes", - "GlobalVarAttribute", "PrimType", "Types", "ArgType", "ResultTypes", - "ArgTypeList", "ArgTypeListI", "TypeListI", "ConstVal", "ConstExpr", - "ConstVector", "GlobalType", "ThreadLocal", "AliaseeRef", "Module", - "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock", - "TargetDefinition", "LibrariesDefinition", "LibList", "ArgListH", - "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", - "Function", "FunctionProto", "OptSideEffect", "ConstValueRef", - "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList", - "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", - "PHIList", "ParamList", "IndexList", "OptTailCall", "InstVal", - "OptVolatile", "MemoryInst", 0 + "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", "READNONE", + "READONLY", "DEFAULT", "HIDDEN", "PROTECTED", "'='", "','", "'*'", + "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", + "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps", + "IPredicates", "FPredicates", "IntType", "FPType", "LocalName", + "OptLocalName", "OptLocalAssign", "GlobalName", "OptGlobalAssign", + "GlobalAssign", "GVInternalLinkage", "GVExternalLinkage", + "GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage", + "AliasLinkage", "OptCallingConv", "ParamAttr", "OptParamAttrs", + "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString", + "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", + "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", + "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", + "ThreadLocal", "AliaseeRef", "Module", "DefinitionList", "Definition", + "@1", "@2", "@3", "@4", "@5", "AsmBlock", "TargetDefinition", + "LibrariesDefinition", "LibList", "ArgListH", "ArgList", + "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function", + "FunctionProto", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", + "ValueRef", "ResolvedVal", "BasicBlockList", "BasicBlock", + "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", "PHIList", + "ParamList", "IndexList", "OptTailCall", "InstVal", "OptVolatile", + "MemoryInst", 0 }; #endif @@ -2011,7 +1989,7 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 2, 0, 1, 2, 2, 3, 9, 9, 8, 14, 1, 1, 6, 5, - 2, 6, 7, 3, 3, 5, 5, 0, 0, 3, + 2, 6, 7, 4, 4, 6, 6, 0, 0, 3, 2, 1, 5, 5, 6, 6, 4, 6, 4, 4, 6, 6, 2, 8, 1, 1, 0, 3, 6, 3, 6, 2, 5, 7, 4 @@ -2062,7 +2040,7 @@ static const yytype_uint16 yydefact[] = 254, 261, 260, 262, 0, 271, 0, 0, 0, 0, 0, 307, 0, 309, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 116, - 114, 115, 119, 118, 121, 216, 218, 0, 0, 0, + 114, 115, 118, 119, 121, 216, 218, 0, 0, 0, 288, 0, 0, 0, 0, 0, 164, 150, 162, 0, 167, 168, 0, 0, 0, 0, 0, 131, 129, 233, 112, 231, 0, 244, 0, 0, 0, 0, 0, 0, @@ -2074,15 +2052,15 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 292, 293, 287, 0, 312, 0, 201, 0, 0, 185, 0, 0, 0, 0, 170, 0, 0, 0, 64, 230, 232, 112, 127, 0, 0, 0, - 139, 0, 0, 294, 295, 308, 310, 289, 0, 0, + 112, 112, 0, 294, 295, 308, 310, 289, 0, 0, 297, 300, 301, 0, 124, 0, 0, 0, 191, 0, 0, 187, 188, 184, 65, 128, 122, 255, 0, 0, - 112, 112, 0, 120, 281, 0, 120, 313, 189, 190, + 0, 0, 0, 120, 281, 0, 120, 313, 189, 190, 0, 0, 0, 229, 0, 235, 0, 274, 0, 0, - 284, 283, 139, 0, 0, 282, 303, 186, 192, 193, - 123, 272, 0, 273, 0, 112, 112, 0, 0, 0, - 286, 285, 0, 0, 0, 0, 279, 0, 0, 278, - 0, 275 + 104, 106, 112, 112, 112, 112, 0, 282, 303, 186, + 192, 193, 123, 272, 0, 273, 0, 284, 283, 0, + 0, 0, 0, 0, 112, 112, 0, 0, 0, 286, + 285, 0, 279, 0, 0, 278, 0, 275 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -2101,84 +2079,84 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -549 +#define YYPACT_NINF -546 static const yytype_int16 yypact[] = { - 322, -549, -549, -549, -549, -549, -549, -549, -18, -120, - 6, -117, 62, -60, 224, -549, 111, 464, -549, 103, - 184, -12, -7, -549, 21, 133, -549, 1309, -549, -549, - -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, - 140, 140, 211, -549, -549, -549, -549, 140, -549, -549, - -549, -549, -549, 140, 139, -549, -14, 157, 174, 182, - -549, -549, -549, -549, -549, 60, -549, -549, -549, -549, - -549, -549, -549, -549, 215, 233, 2, 526, -549, -549, - -549, 150, -549, 178, 178, 269, -549, 14, 274, 274, - -549, -549, 134, -549, -549, -549, -549, -549, -549, -549, - -23, 54, -549, 97, 105, 993, 60, -549, 150, -125, - -549, 54, 14, 14, -549, -549, 1093, -549, -549, 1340, - 260, -549, -549, -549, -549, -549, 1358, -549, -17, 1584, - -549, 251, -549, -549, 150, -549, 128, 146, 1380, 1380, - 145, -106, 1380, -549, 151, 1340, 1380, 60, 155, 150, - 231, -549, 101, 303, 305, 308, 312, 315, 229, 320, - 808, -549, -549, 187, -549, -549, -549, -549, -549, 275, - 1423, 85, 321, 274, -549, -549, -549, -549, -549, -549, - -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, - -549, 461, 481, 1380, 1380, 1380, 1380, -549, -549, -549, - -549, -549, -549, -549, -549, -549, -549, -549, -549, 1380, - 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, -549, 274, - -549, 110, -549, -549, -85, 1116, -549, -2, -33, -549, - 173, 150, -549, -549, 150, 1093, -549, -549, -549, -549, - -549, -549, -549, -549, -549, -549, -549, 461, 481, 191, - 198, 199, 203, 204, 1156, 1534, 1033, 335, 206, 207, - 208, -549, -549, 217, 223, -549, 60, 649, -549, 785, - 785, -549, 785, 1358, -549, -549, -549, -549, -549, -549, - -549, -549, -549, -549, 1380, -549, -549, -549, -549, -549, - -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, - -549, 1380, 107, 113, -549, 649, 26, 218, 236, 237, - 238, 239, 240, 649, 649, 340, 1358, 1380, 1380, -549, - -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, - -549, 162, -549, -549, -549, 162, 217, 217, 344, 242, - 243, 1340, 1340, 1340, 1340, 1340, -549, -549, -9, 1073, - -50, -549, -63, -549, 1340, 1340, 1340, -11, -549, 1187, - -549, -549, -549, -549, -549, -549, -549, -549, 333, 1340, - -549, -549, -549, -549, 247, -549, 248, 785, 649, 649, - 7, -549, 34, -549, -549, 785, 244, 1380, 1380, 1380, - 1380, 1380, 256, 257, 1380, 785, 649, 258, -549, -549, - -549, -549, -549, -549, -549, -549, -549, 1380, 1340, 1340, - -549, 261, 264, 267, 268, 1340, -549, 263, 808, -51, - -549, -549, 270, 273, 362, 396, 419, -549, 217, -549, - 150, 276, 271, -549, 405, -48, 411, 412, 280, 284, - 287, 785, 433, 785, 289, 290, 785, 293, 150, -549, - 294, 295, 785, 785, 150, 296, 297, 1380, 90, 298, - 300, 13, 1340, 1340, 1340, 1340, -549, -549, 299, 1340, - 1340, 1380, -549, -549, -549, -3, 1269, -549, 304, -549, - 785, 785, 1577, 785, 785, 297, -549, 297, 1380, 785, - 306, 1380, 1380, 1380, -549, -549, 1577, 401, -549, 649, - -549, 1340, 1340, -549, 309, 310, 319, 323, -549, 316, - 318, 126, -549, -549, -549, 150, 38, 437, 324, 307, - 785, 649, 44, -549, -549, -549, -549, -549, 325, 785, - -549, -549, -549, 53, 297, 327, 332, 1340, -549, 1340, - 1340, -549, -549, -549, -3, -549, 421, -549, 460, 1, - -549, -549, 1595, -549, -549, 334, -549, -549, -549, -549, - 336, 338, 339, -549, 489, -549, 785, -549, 945, 3, - -85, -85, 785, 649, 86, -549, 162, -549, -549, -549, - -549, -549, 347, -549, 945, -549, -549, 484, 485, 356, - -85, -85, 785, 785, 492, 439, -549, 785, 494, -549, - 785, -549 + 47, -546, -546, -546, -546, -546, -546, -546, -17, -95, + 52, -90, 86, 14, 183, -546, 135, 1758, -546, -10, + 64, 18, 33, -546, 5, 180, -546, 1341, -546, -546, + -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, + 76, 76, 59, -546, -546, -546, -546, 76, -546, -546, + -546, -546, -546, 76, 193, -546, 13, 202, 224, 233, + -546, -546, -546, -546, -546, 111, -546, -546, -546, -546, + -546, -546, -546, -546, 260, 261, 1, 378, -546, -546, + -546, -7, -546, 231, 231, 150, -546, 55, 309, 309, + -546, -546, 100, -546, -546, -546, -546, -546, -546, -546, + -99, 1088, -546, 116, 122, 988, 111, -546, -7, -106, + -546, 1088, 55, 55, -546, -546, 1142, -546, -546, 1359, + 274, -546, -546, -546, -546, -546, 1414, -546, -18, 1624, + -546, 257, -546, -546, -7, -546, 131, 128, 1454, 1454, + 129, -105, 1454, -546, 136, 1359, 1454, 111, 141, -7, + 237, -546, 214, 279, 285, 289, 291, 294, 145, 299, + 803, -546, -546, 103, -546, -546, -546, -546, -546, 254, + 1512, 57, 301, 309, -546, -546, -546, -546, -546, -546, + -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, + -546, 596, 646, 1454, 1454, 1454, 1454, -546, -546, -546, + -546, -546, -546, -546, -546, -546, -546, -546, -546, 1454, + 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, -546, 309, + -546, 61, -546, -546, 132, 1182, -546, -57, -69, -546, + 155, -7, -546, -546, -7, 1142, -546, -546, -546, -546, + -546, -546, -546, -546, -546, -546, -546, 596, 646, 162, + 163, 164, 166, 167, 1242, 1530, 1028, 303, 169, 174, + 179, -546, -546, 185, 191, -546, 111, 644, -546, 780, + 780, -546, 780, 1414, -546, -546, -546, -546, -546, -546, + -546, -546, -546, -546, 1454, -546, -546, -546, -546, -546, + -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, + -546, 1454, 30, 48, -546, 644, -21, 197, 199, 203, + 204, 205, 206, 644, 644, 313, 1414, 1454, 1454, -546, + -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, + -546, 201, -546, -546, -546, 201, 185, 185, 320, 207, + 208, 1359, 1359, 1359, 1359, 1359, -546, -546, -65, 1068, + -86, -546, -104, -546, 1359, 1359, 1359, -20, -546, 1261, + -546, -546, -546, -546, -546, -546, -546, -546, 273, 1359, + -546, -546, -546, -546, 217, -546, 218, 780, 644, 644, + 8, -546, 11, -546, -546, 780, 221, 1454, 1454, 1454, + 1454, 1454, 227, 234, 1454, 780, 644, 235, -546, -546, + -546, -546, -546, -546, -546, -546, -546, 1454, 1359, 1359, + -546, 247, 258, 263, 265, 1359, -546, 259, 803, -101, + -546, -546, 269, 270, 344, 398, 419, -546, 185, -546, + -7, 276, 275, -546, 404, -76, 412, 413, 282, 288, + 292, 780, 440, 780, 297, 300, 780, 302, -7, -546, + 304, 308, 780, 780, -7, 306, 310, 1454, -35, 311, + 314, -73, 1359, 1359, 1359, 1359, -546, -546, 315, 1359, + 1359, 1454, -546, -546, -546, 298, 1301, -546, 319, -546, + 780, 780, 1570, 780, 780, 310, -546, 310, 1454, 780, + 322, 1454, 1454, 1454, -546, -546, 1570, 399, -546, 644, + -546, 1359, 1359, -546, 323, 316, 325, 327, -546, 324, + 326, 60, -546, -546, -546, -7, 3, 460, 334, 330, + 82, -7, -13, -546, -546, -546, -546, -546, 332, 780, + -546, -546, -546, 12, 310, 336, 337, 1359, -546, 1359, + 1359, -546, -546, -546, 298, -546, 438, -546, 475, -4, + 493, 493, 1610, -546, -546, 338, -546, -546, -546, -546, + 342, 345, 346, -546, 501, -546, 780, -546, 940, 2, + 354, 355, -546, -546, 82, -7, 72, -546, 201, -546, + -546, -546, -546, -546, 359, -546, 940, 132, 132, 493, + 493, 492, 494, 361, -546, -546, 780, 780, 497, 132, + 132, 450, -546, 780, 505, -546, 780, -546 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -549, 383, 384, 385, 272, 277, -170, -549, 0, -24, - 429, 8, -549, -549, -549, -549, 42, -549, -549, -549, - -160, -549, -421, -549, -228, -549, -293, 11, -549, -310, - -549, -549, -26, 341, -121, -549, 418, 425, -61, -157, - -226, 9, 205, 326, -549, -549, 515, -549, -549, -549, - -549, -549, -549, -549, -549, -549, -549, -549, 446, -549, - -549, -549, -549, -549, -549, -548, -69, 121, -173, -549, - 491, -549, -549, -549, -549, -549, 67, 158, -549, -549, - -549, -549 + -546, 394, 395, 396, 280, 283, -170, -546, 0, -16, + 444, 15, -546, -546, -546, -546, -1, -546, -546, -546, + -157, |