aboutsummaryrefslogtreecommitdiffstats
path: root/lib/AsmParser/llvmAsmParser.cpp.cvs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs1780
1 files changed, 883 insertions, 897 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 4a15348..5907eec 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, -546, -418, -546, -229, -546, -292, 23, -546, -307,
+ -546, -546, -26, 305, -120, -546, 429, 436, -59, -156,
+ -235, 126, 168, 307, -546, -546, 526, -546, -546, -546,
+ -546, -546, -546, -546, -546, -546, -546, -546, 456, -546,
+ -546, -546, -546, -546, -546, -545, -142, 108, -186, -546,
+ 490, -546, -546, -546, -546, -546, 51, 138, -546, -546,
+ -546, -546
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -2188,362 +2166,374 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -204
static const yytype_int16 yytable[] =
{
- 11, 81, 272, 261, 335, 163, 104, 90, 13, 475,
- 383, 164, 271, 273, 271, 93, 1, 11, 441, 3,
- 582, 5, 304, 425, 142, 13, 405, 406, 24, 350,
- 352, 26, 319, 320, 21, 143, 589, 308, 309, 310,
- 311, 312, 426, 142, 315, 443, 117, 118, 22, 321,
- 322, 108, 323, 324, 230, 325, 326, 327, 161, 316,
- 442, 63, 64, 25, 106, 66, 67, 68, 69, 70,
- 71, 72, 425, 1, 2, 134, 3, 4, 5, 108,
- 27, 236, 83, 84, 233, 134, 415, 442, 28, 88,
- 149, 262, 11, 133, 544, 89, 269, 421, 415, 415,
- 149, 415, 270, 73, -55, -55, -55, -55, 420, 468,
- 479, 43, 227, 228, 319, 320, 231, 110, 474, 111,
- 234, 145, 146, 419, 587, 333, 131, 237, 238, 570,
- 571, 321, 322, 132, 323, 324, 57, 325, 326, 327,
- 415, 58, 165, 435, 267, 397, 94, 416, 110, 45,
- 111, 46, 377, 1, 332, 61, 3, 567, 5, 583,
- 90, 105, 488, 498, 590, 591, 503, 302, 303, 267,
- 305, 264, 398, 399, 400, 59, 110, 401, 111, 97,
- 385, 402, 403, 306, 267, 267, 267, 267, 267, 313,
- 314, 267, 525, 552, 526, 395, 98, 553, 372, 134,
- 372, 372, 552, 372, 99, 74, 556, 2, 75, 149,
- 4, 76, 101, 77, 447, 86, 449, 450, 451, 102,
- 398, 399, 400, 317, 318, 401, 49, 50, 51, 402,
- 403, 52, 239, 240, 241, 242, 372, 103, 63, 64,
- 110, 557, 111, 500, 372, 372, 85, 149, 86, 516,
- 1, 2, 138, 3, 4, 5, 380, 110, 378, 111,
- 139, 261, 382, 110, 162, 111, 29, 30, 31, 32,
- 33, 34, 35, 223, 36, 379, 110, 225, 111, 543,
- 410, 411, 412, 413, 414, 37, 38, 39, 112, 113,
- 149, 396, 267, 422, 423, 424, 398, 399, 400, 226,
- 110, 401, 111, 229, 232, 402, 403, 235, 372, 372,
- 372, 114, -56, 115, -57, 527, 372, -60, 530, 531,
- 532, -59, -203, 418, -58, 574, 372, 372, 576, 243,
- 265, 334, 271, 430, 120, 121, 122, 123, 124, 125,
- -67, 1, 2, 341, 3, 4, 5, 459, 460, 262,
- 342, 343, 6, 7, 466, 344, 345, 353, 354, 355,
- 356, 267, 448, 267, 267, 267, 357, 386, 454, 37,
- 38, 39, 372, 8, 372, 359, 9, 372, 394, 568,
- 10, 458, 407, 372, 372, 387, 388, 389, 390, 391,
- 374, 375, 433, 376, 408, 409, 436, 437, 446, 584,
- 471, 504, 505, 506, 507, 452, 453, 457, 509, 510,
- 462, 372, 372, 463, 372, 372, 464, 465, 472, 469,
- 372, 467, 470, 473, 477, 476, 384, 478, 480, 481,
- 372, 499, 482, 483, 392, 393, 484, 486, 488, 489,
- 535, 536, 491, 492, 493, 511, 497, 501, 496, 502,
- 515, 372, 372, 517, 442, 529, 521, 508, 537, 547,
- 372, 549, 267, 538, -202, 267, 267, 267, 539, 541,
- 521, 542, 540, 548, 564, 512, 560, 566, 561, 562,
- 558, 554, -67, 1, 2, 559, 3, 4, 5, 577,
- 575, 578, 579, 580, 6, 7, 588, 372, 438, 439,
- 440, 592, 593, 372, 372, 594, 445, 285, 286, 597,
- 598, 600, 215, 216, 217, 8, 455, 456, 9, 339,
- 563, 129, 10, 372, 372, 340, 573, 545, 372, 144,
- 141, 372, 44, 63, 64, 128, 106, 66, 67, 68,
- 69, 70, 71, 72, 512, 1, 2, 96, 3, 4,
- 5, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 338, 485, 533, 487, 0, 330, 490, 461, 0,
- 0, 0, 0, 494, 495, 73, 0, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 518, 519, 0, 523, 524, 0, 0, 0, 0,
- 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 534, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 550, 551, 0, 0, 0, 0, 0, 0, 0,
- 555, 0, 360, 361, 0, 0, 63, 64, 362, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
- 0, 3, 4, 5, 363, 364, 365, 74, 0, 0,
- 75, 0, 0, 76, 0, 77, 107, 581, 0, 366,
- 367, 0, 0, 585, 586, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 368, 0, 0, 0,
- 0, 0, 0, 595, 596, 0, 0, 0, 599, 0,
- 0, 601, 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 247, 248, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 249, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 208, 0, 250, 0,
- 251, 252, 253, 0, 0, 0, 0, 0, 360, 361,
- 0, 0, 63, 64, 362, 0, 0, 0, 0, 110,
- 0, 111, 0, 0, 1, 2, 369, 3, 4, 5,
- 363, 364, 365, 0, 0, 63, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 366, 367, 1, 2, 0,
- 3, 4, 5, 244, 0, 0, 0, 0, 0, 0,
- 0, 0, 368, 0, 0, 0, 0, 0, 245, 246,
- 0, 0, 0, 0, 0, 0, 0, 0, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 247, 248, 0, 0, 0, 0, 0,
- 0, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 247, 248, 0, 0,
- 249, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 0, 250, 0, 251, 252, 253, 0,
- 0, 0, 0, 249, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 0, 250, 0, 251,
- 252, 253, 369, 0, 0, 0, 0, 0, 360, 361,
- 0, 0, 0, 0, 362, 0, 0, 0, 110, 0,
- 111, 0, 254, 0, 0, 255, 0, 256, 0, 257,
- 363, 364, 365, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 366, 367, 0, 0, 0,
+ 11, 81, 272, 335, 261, 104, 163, 271, 236, 304,
+ 164, 383, 475, 271, 425, 13, 273, 11, 262, 441,
+ 350, 352, 443, 584, 308, 309, 310, 311, 312, 405,
+ 406, 315, 13, 426, 90, 21, 45, 425, 46, 83,
+ 84, 593, 93, 142, 142, 415, 88, -203, 415, 22,
+ 131, 108, 89, 24, 143, 230, 421, 132, 26, 468,
+ 161, 442, 316, 415, 442, -67, 1, 2, 269, 3,
+ 4, 5, 420, 415, 270, 134, 488, 6, 7, 108,
+ 503, 110, 479, 111, 415, 134, 233, 117, 118, 333,
+ 149, 416, 11, 110, 85, 111, 86, 544, 8, 332,
+ 149, 9, 550, 551, 27, 10, 49, 50, 51, 25,
+ 591, 52, 227, 228, 419, 110, 231, 111, 500, 1,
+ 234, 474, 3, 2, 5, 372, 4, 372, 372, 110,
+ 372, 111, 397, 385, 435, 43, 552, 398, 399, 400,
+ 553, 165, 401, 110, 267, 111, 402, 403, 239, 240,
+ 241, 242, 567, 377, 587, 588, 589, 590, 585, 59,
+ 105, 552, 28, 372, 498, 556, 57, 302, 303, 267,
+ 305, 372, 372, 94, 317, 318, 599, 600, 264, 380,
+ 110, 58, 111, 306, 267, 267, 267, 267, 267, 313,
+ 314, 267, 114, 525, 115, 526, 395, 382, 110, 134,
+ 111, 447, 61, 449, 450, 451, 398, 399, 400, 149,
+ 110, 401, 111, 543, 90, 402, 403, -55, -55, -55,
+ -55, 37, 38, 39, 97, 29, 30, 31, 32, 33,
+ 34, 35, -139, 36, -139, 372, 372, 372, 145, 146,
+ 237, 238, 557, 372, 63, 64, 98, 149, 516, 319,
+ 320, 112, 113, 372, 372, 99, 1, 2, 378, 3,
+ 4, 5, 261, 101, 102, 103, 321, 322, 86, 323,
+ 324, 138, 325, 326, 327, 379, 262, 139, 162, 223,
+ 225, 226, 410, 411, 412, 413, 414, 229, -56, 232,
+ 149, 396, 267, 235, -57, 422, 423, 424, -60, 372,
+ -59, 372, 527, -58, 372, 530, 531, 532, 243, 265,
+ 372, 372, 271, 334, 341, 342, 343, 1, 344, 345,
+ 3, 354, 5, 418, 576, 353, 355, 578, 37, 38,
+ 39, 356, 433, 430, 357, 398, 399, 400, 372, 372,
+ 401, 372, 372, 359, 402, 403, 386, 372, 387, 459,
+ 460, 394, 388, 389, 390, 391, 466, 372, 407, 408,
+ 409, 267, 448, 267, 267, 267, 436, 437, 454, 120,
+ 121, 122, 123, 124, 125, 446, 452, 374, 375, 568,
+ 376, 458, 471, 453, 457, 63, 64, 372, 106, 66,
+ 67, 68, 69, 70, 71, 72, 462, 1, 2, 586,
+ 3, 4, 5, 504, 505, 506, 507, 463, 372, 372,
+ 509, 510, 464, 384, 465, 319, 320, 467, 469, 470,
+ 472, 392, 393, 473, 372, 476, 478, 73, 477, 480,
+ 481, 499, 321, 322, 482, 323, 324, 483, 325, 326,
+ 327, 484, 535, 536, 486, 511, 488, 372, 372, 489,
+ 515, 491, 442, 492, 372, 372, 521, 493, 496, 497,
+ 501, 372, 267, 502, 372, 267, 267, 267, 517, 538,
+ 521, 529, 537, 508, 539, 512, 540, 541, 560, 542,
+ 561, 562, 547, 548, 549, 438, 439, 440, 554, 558,
+ 559, 564, 566, 445, 577, 579, 360, 361, 580, 581,
+ 63, 64, 362, 455, 456, 582, -18, -19, 592, 596,
+ 598, 597, 1, 2, 603, 3, 4, 5, 363, 364,
+ 365, 604, 606, 215, 216, 217, 575, 339, 563, 74,
+ 330, 340, 75, 366, 367, 76, 129, 77, 107, 545,
+ 144, 141, 338, 44, 512, 128, 96, 533, 461, 485,
+ 368, 487, 0, 0, 490, 0, 0, 0, 0, 0,
+ 494, 495, 0, 0, 0, 0, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 247, 248, 0, 0, 0, 0, 0, 518, 519,
+ 0, 523, 524, 0, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 534, 249, 197,
+ 570, 571, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 0, 250, 0, 251, 252, 253, 321, 322, 0,
+ 323, 324, 0, 325, 326, 327, 0, 555, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 360, 361, 0,
+ 369, 63, 64, 362, 0, 0, 0, 0, 572, 573,
+ 0, 0, 0, 1, 2, 0, 3, 4, 5, 363,
+ 364, 365, 285, 286, 583, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 366, 367, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 0, 594, 595, 0,
+ 0, 368, 0, 0, 601, 602, 0, 0, 0, 0,
+ 0, 605, 0, 0, 607, 0, 0, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
+ 189, 190, 247, 248, 0, 0, 0, 0, 0, 0,
+ 0, 0, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 0, 0, 0, 249,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 0, 250, 0, 251, 252, 253, 0, 0,
+ 0, 0, 0, 360, 361, 0, 0, 63, 64, 362,
+ 0, 0, 0, 0, 110, 0, 111, 0, 0, 1,
+ 2, 369, 3, 4, 5, 363, 364, 365, 0, 0,
+ 63, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 366, 367, 1, 2, 0, 3, 4, 5, 244, 0,
+ 0, 0, 0, 0, 0, 0, 0, 368, 0, 0,
+ 0, 0, 0, 245, 246, 0, 0, 0, 0, 0,
+ 0, 0, 0, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 247, 248,
+ 0, 0, 0, 0, 0, 0, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 247, 248, 0, 0, 249, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 0, 250,
+ 0, 251, 252, 253, 0, 0, 0, 0, 249, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 0, 250, 0, 251, 252, 253, 369, 0, 0,
+ 0, 0, 0, 360, 361, 0, 0, 0, 0, 362,
+ 0, 0, 0, 110, 0, 111, 0, 254, 0, 0,
+ 255, 0, 256, 0, 257, 363, 364, 365, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 63, 64, 368, 106, 66, 67, 68, 69, 70, 71,
- 72, 0, 1, 2, 0, 3, 4, 5, 176, 177,
- 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
- 188, 189, 190, 247, 248, 0, 0, 0, 0, 0,
- 63, 64, 73, 106, 152, 153, 154, 155, 156, 157,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
- 249, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 0, 250, 0, 251, 252, 253, 0,
- 63, 64, 73, 106, 152, 153, 154, 155, 156, 157,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
- 63, 64, 369, 147, 66, 67, 68, 69, 70, 71,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
- 0, 0, 73, 63, 64, 0, 106, 66, 67, 68,
- 69, 70, 71, 72, 0, 1, 2, 0, 3, 4,
- 5, 0, 73, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 140, 0, 329, 0, 0, 0, 0,
- 0, 0, 0, 63, 64, 73, 106, 152, 153, 154,
- 155, 156, 157, 72, 0, 1, 2, 0, 3, 4,
- 5, 0, 0, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 351, 63, 64, 0, 106, 66, 67,
- 68, 69, 70, 71, 72, 73, 1, 2, 0, 3,
- 4, 5, 0, 0, 148, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74, 0, 429, 75, 0, 0,
- 76, 0, 77, 417, 0, 0, 73, 0, 0, 0,
- 0, 0, 0, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
- 75, 0, 0, 76, 0, 77, 63, 64, 0, 106,
- 66, 67, 68, 69, 70, 71, 72, 0, 1, 2,
- 0, 3, 4, 5, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 74, 514, 0,
- 75, 0, 346, 76, 0, 77, 63, 64, 73, 65,
- 66, 67, 68, 69, 70, 71, 72, 0, 1, 2,
- 0, 3, 4, 5, 0, 0, 0, 0, 74, 0,
- 0, 75, 0, 0, 76, 0, 77, 63, 64, 0,
- 106, 152, 153, 154, 155, 156, 157, 72, 73, 1,
- 2, 0, 3, 4, 5, 63, 64, 0, 147, 66,
+ 366, 367, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 63, 64, 368, 106, 66,
67, 68, 69, 70, 71, 72, 0, 1, 2, 0,
- 3, 4, 5, 0, 0, 0, 0, 63, 64, 73,
- 106, 66, 67, 68, 69, 70, 71, 72, 0, 1,
- 2, 0, 3, 4, 5, 0, 0, 73, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 75, 0, 0, 76, 0, 77, 73,
- 63, 64, 0, 266, 66, 67, 68, 69, 70, 71,
- 72, 0, 1, 2, 0, 3, 4, 5, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 75, 0, 0, 76, 0, 77, 0,
- 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
+ 3, 4, 5, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 247, 248,
+ 0, 0, 0, 0, 0, 63, 64, 73, 106, 152,
+ 153, 154, 155, 156, 157, 72, 0, 1, 2, 0,
+ 3, 4, 5, 0, 0, 249, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 0, 250,
+ 0, 251, 252, 253, 0, 63, 64, 73, 106, 152,
+ 153, 154, 155, 156, 157, 72, 0, 1, 2, 0,
+ 3, 4, 5, 0, 0, 63, 64, 369, 106, 66,
+ 67, 68, 69, 70, 71, 72, 0, 1, 2, 0,
+ 3, 4, 5, 0, 0, 0, 0, 73, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 133, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 73, 0, 74,
+ 0, 0, 75, 0, 0, 76, 0, 77, 140, 63,
+ 64, 0, 147, 66, 67, 68, 69, 70, 71, 72,
+ 0, 1, 2, 0, 3, 4, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 74,
- 0, 0, 75, 0, 0, 76, 0, 77, 0, 0,
+ 0, 0, 75, 0, 0, 76, 0, 77, 351, 63,
+ 64, 73, 106, 66, 67, 68, 69, 70, 71, 72,
+ 0, 1, 2, 0, 3, 4, 5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,
+ 0, 329, 75, 0, 0, 76, 0, 77, 417, 0,
+ 0, 73, 0, 0, 0, 0, 0, 0, 0, 74,
+ 0, 0, 75, 0, 0, 76, 0, 77, 0, 63,
+ 64, 0, 106, 152, 153, 154, 155, 156, 157, 72,
+ 0, 1, 2, 148, 3, 4, 5, 0, 63, 64,
+ 0, 106, 66, 67, 68, 69, 70, 71, 72, 0,
+ 1, 2, 0, 3, 4, 5, 0, 0, 0, 0,
+ 0, 73, 0, 74, 0, 0, 75, 0, 0, 76,
+ 429, 77, 0, 0, 0, 0, 0, 0, 63, 64,
+ 73, 106, 66, 67, 68, 69, 70, 71, 72, 0,
+ 1, 2, 0, 3, 4, 5, 0, 0, 0, 0,
+ 0, 0, 0, 74, 0, 0, 75, 0, 0, 76,
+ 514, 77, 0, 0, 0, 0, 0, 0, 63, 64,
+ 73, 65, 66, 67, 68, 69, 70, 71, 72, 0,
+ 1, 2, 0, 3, 4, 5, 63, 64, 0, 106,
+ 152, 153, 154, 155, 156, 157, 72, 0, 1, 2,
+ 0, 3, 4, 5, 0, 0, 0, 0, 0, 0,
+ 73, 0, 0, 74, 0, 0, 75, 0, 346, 76,
+ 0, 77, 0, 0, 0, 0, 0, 0, 73, 0,
+ 0, 0, 74, 0, 0, 75, 0, 0, 76, 0,
+ 77, 63, 64, 0, 147, 66, 67, 68, 69, 70,
+ 71, 72, 0, 1, 2, 0, 3, 4, 5, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
- 0, 63, 64, 0, 106, 152, 153, 154, 155, 156,
- 157, 72, 0, 1, 2, 0, 3, 4, 5, 0,
+ 0, 0, 74, 0, 0, 75, 0, 0, 76, 0,
+ 77, 63, 64, 73, 106, 66, 67, 68, 69, 70,
+ 71, 72, 0, 1, 2, 0, 3, 4, 5, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74, 0, 0, 75, 0, 0,
- 76, 0, 77, 73, 63, 64, 0, 106, 66, 67,
- 68, 69, 70, 71, 520, 0, 1, 2, 0, 3,
- 4, 5, 63, 64, 0, 106, 66, 67, 68, 69,
- 70, 71, 572, 0, 1, 2, 0, 3, 4, 5,
- 167, 0, 0, 0, 0, 0, 73, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
- 169, 0, 0, 0, 73, 0, 0, 0, 0, 0,
+ 0, 0, 74, 0, 0, 75, 0, 0, 76, 0,
+ 77, 0, 0, 73, 0, 0, 0, 0, 0, 0,
+ 74, 0, 0, 75, 0, 0, 76, 0, 77, 63,
+ 64, 0, 266, 66, 67, 68, 69, 70, 71, 72,
+ 0, 1, 2, 0, 3, 4, 5, 63, 64, 0,
+ 106, 152, 153, 154, 155, 156, 157, 72, 0, 1,
+ 2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
+ 0, 73, 0, 0, 0, 74, 0, 0, 75, 0,
+ 0, 76, 0, 77, 0, 0, 0, 63, 64, 73,
+ 106, 66, 67, 68, 69, 70, 71, 520, 0, 1,
+ 2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 74, 0, 0, 75, 0,
+ 0, 76, 0, 77, 0, 0, 0, 63, 64, 73,
+ 106, 66, 67, 68, 69, 70, 71, 574, 0, 1,
+ 2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,
+ 167, 0, 0, 74, 0, 0, 75, 0, 0, 76,
+ 0, 77, 0, 0, 0, 0, 0, 0, 0, 168,
+ 169, 74, 0, 0, 75, 0, 0, 76, 0, 349,
0, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 74, 0, 0, 75, 0,
- 0, 76, 0, 349, 193, 194, 195, 0, 0, 196,
+ 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
+ 0, 0, 0, 0, 193, 194, 195, 0, 0, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74, 0,
- 0, 75, 0, 0, 76, 0, 77, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 74, 0, 0, 75,
- 0, 0, 76, 0, 77
+ 207, 208, 209, 210, 211, 212, 213, 214, -202, 0,
+ 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
+ 0, 0, 0, 0, 0, 0, -67, 1, 2, 0,
+ 3, 4, 5, 0, 0, 0, 0, 0, 6, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
+ 0, 0, 9, 0, 0, 0, 10
};
static const yytype_int16 yycheck[] =
{
- 0, 27, 172, 160, 232, 126, 4, 21, 0, 430,
- 303, 28, 11, 173, 11, 29, 19, 17, 11, 22,
- 568, 24, 195, 34, 149, 17, 336, 337, 148, 255,
- 256, 148, 117, 118, 52, 160, 584, 210, 211, 212,
- 213, 214, 53, 149, 217, 11, 32, 33, 66, 134,
- 135, 77, 137, 138, 160, 140, 141, 142, 119, 219,
- 53, 7, 8, 57, 10, 11, 12, 13, 14, 15,
- 16, 17, 34, 19, 20, 101, 22, 23, 24, 105,
- 18, 150, 40, 41, 145, 111, 149, 53, 148, 47,
- 116, 160, 92, 39, 515, 53, 11, 160, 149, 149,
- 126, 149, 17, 49, 3, 4, 5, 6, 158, 160,
- 158, 0, 138, 139, 117, 118, 142, 150, 428, 152,
- 146, 112, 113, 349, 38, 158, 149, 26, 27, 550,
- 551, 134, 135, 156, 137, 138, 148, 140, 141, 142,
- 149, 148, 159, 369, 170, 318, 160, 156, 150, 46,
- 152, 48, 273, 19, 156, 22, 22, 156, 24, 156,
- 21, 159, 149, 456, 585, 586, 153, 193, 194, 195,
- 196, 163, 134, 135, 136, 154, 150, 139, 152, 22,
- 154, 143, 144, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 485, 149, 487, 316, 22, 153, 267, 225,
- 269, 270, 149, 272, 22, 151, 153, 20, 154, 235,
- 23, 157, 152, 159, 387, 37, 389, 390, 391, 4,
- 134, 135, 136, 113, 114, 139, 42, 43, 44, 143,
- 144, 47, 3, 4, 5, 6, 305, 4, 7, 8,
- 150, 534, 152, 153, 313, 314, 35, 273, 37, 477,
- 19, 20, 155, 22, 23, 24, 149, 150, 284, 152,
- 155, 418, 149, 150, 4, 152, 42, 43, 44, 45,
- 46, 47, 48, 22, 50, 301, 150, 149, 152, 153,
- 341, 342, 343, 344, 345, 145, 146, 147, 83, 84,
- 316, 317, 318, 354, 355, 356, 134, 135, 136, 153,
- 150, 139, 152, 158, 153, 143, 144, 152, 377, 378,
- 379, 42, 9, 44, 9, 488, 385, 9, 491, 492,
- 493, 9, 0, 349, 9, 553, 395, 396, 556, 9,
- 55, 158, 11, 359, 60, 61, 62, 63, 64, 65,
- 18, 19, 20, 152, 22, 23, 24, 408, 409, 418,
- 152, 152, 30, 31, 415, 152, 152, 22, 152, 152,
- 152, 387, 388, 389, 390, 391, 149, 149, 394, 145,
- 146, 147, 441, 51, 443, 152, 54, 446, 38, 549,
- 58, 407, 38, 452, 453, 149, 149, 149, 149, 149,
- 269, 270, 59, 272, 152, 152, 149, 149, 154, 569,
- 38, 462, 463, 464, 465, 149, 149, 149, 469, 470,
- 149, 480, 481, 149, 483, 484, 149, 149, 22, 149,
- 489, 158, 149, 4, 153, 149, 305, 22, 17, 17,
- 499, 457, 152, 149, 313, 314, 149, 4, 149, 149,
- 501, 502, 149, 149, 149, 471, 149, 149, 152, 149,
- 476, 520, 521, 149, 53, 149, 482, 158, 149, 22,
- 529, 154, 488, 153, 0, 491, 492, 493, 149, 153,
- 496, 153, 149, 149, 53, 475, 537, 17, 539, 540,
- 153, 156, 18, 19, 20, 153, 22, 23, 24, 153,
- 156, 153, 153, 4, 30, 31, 149, 566, 377, 378,
- 379, 17, 17, 572, 573, 149, 385, 26, 27, 17,
- 71, 17, 129, 129, 129, 51, 395, 396, 54, 247,
- 544, 92, 58, 592, 593, 248, 552, 516, 597, 111,
- 105, 600, 17, 7, 8, 89, 10, 11, 12, 13,
- 14, 15, 16, 17, 544, 19, 20, 56, 22, 23,
- 24, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 235, 441, 496, 443, -1, 225, 446, 410, -1,
- -1, -1, -1, 452, 453, 49, -1, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 480, 481, -1, 483, 484, -1, -1, -1, -1,
- 489, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 499, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 520, 521, -1, -1, -1, -1, -1, -1, -1,
- 529, -1, 3, 4, -1, -1, 7, 8, 9, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 19, 20,
- -1, 22, 23, 24, 25, 26, 27, 151, -1, -1,
- 154, -1, -1, 157, -1, 159, 160, 566, -1, 40,
- 41, -1, -1, 572, 573, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 57, -1, -1, -1,
- -1, -1, -1, 592, 593, -1, -1, -1, 597, -1,
- -1, 600, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, -1, 129, -1,
- 131, 132, 133, -1, -1, -1, -1, -1, 3, 4,
- -1, -1, 7, 8, 9, -1, -1, -1, -1, 150,
- -1, 152, -1, -1, 19, 20, 157, 22, 23, 24,
- 25, 26, 27, -1, -1, 7, 8, -1, -1, -1,
- -1, -1, -1, -1, -1, 40, 41, 19, 20, -1,
- 22, 23, 24, 25, -1, -1, -1, -1, -1, -1,
- -1, -1, 57, -1, -1, -1, -1, -1, 40, 41,
- -1, -1, -1, -1, -1, -1, -1, -1, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
- -1, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, 89, -1, -1,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, -1, 129, -1, 131, 132, 133, -1,
- -1, -1, -1, 115, 116, 117, 118, 119, 120, 121,
- 122, 123, 124, 125, 126, 127, -1, 129, -1, 131,
- 132, 133, 157, -1, -1, -1, -1, -1, 3, 4,
- -1, -1, -1, -1, 9, -1, -1, -1, 150, -1,
- 152, -1, 154, -1, -1, 157, -1, 159, -1, 161,
- 25, 26, 27, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 40, 41, -1, -1, -1,
+ 0, 27, 172, 232, 160, 4, 126, 11, 150, 195,
+ 28, 303, 430, 11, 34, 0, 173, 17, 160, 11,
+ 255, 256, 11, 568, 210, 211, 212, 213, 214, 336,
+ 337, 217, 17, 53, 21, 52, 46, 34, 48, 40,
+ 41, 586, 29, 149, 149, 149, 47, 0, 149, 66,
+ 149, 77, 53, 148, 160, 160, 160, 156, 148, 160,
+ 119, 53, 219, 149, 53, 18, 19, 20, 11, 22,
+ 23, 24, 158, 149, 17, 101, 149, 30, 31, 105,
+ 153, 150, 158, 152, 149, 111, 145, 32, 33, 158,
+ 116, 156, 92, 150, 35, 152, 37, 515, 51, 156,
+ 126, 54, 520, 521, 18, 58, 42, 43, 44, 57,
+ 38, 47, 138, 139, 349, 150, 142, 152, 153, 19,
+ 146, 428, 22, 20, 24, 267, 23, 269, 270, 150,
+ 272, 152, 318, 154, 369, 0, 149, 134, 135, 136,
+ 153, 159, 139, 150, 170, 152, 143, 144, 3, 4,
+ 5, 6, 156, 273, 572, 573, 574, 575, 156, 154,
+ 159, 149, 148, 305, 456, 153, 148, 193, 194, 195,
+ 196, 313, 314, 160, 113, 114, 594, 595, 163, 149,
+ 150, 148, 152, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 42, 485, 44, 487, 316, 149, 150, 225,
+ 152, 387, 22, 389, 390, 391, 134, 135, 136, 235,
+ 150, 139, 152, 153, 21, 143, 144, 3, 4, 5,
+ 6, 145, 146, 147, 22, 42, 43, 44, 45, 46,
+ 47, 48, 150, 50, 152, 377, 378, 379, 112, 113,
+ 26, 27, 534, 385, 7, 8, 22, 273, 477, 117,
+ 118, 83, 84, 395, 396, 22, 19, 20, 284, 22,
+ 23, 24, 418, 152, 4, 4, 134, 135, 37, 137,
+ 138, 155, 140, 141, 142, 301, 418, 155, 4, 22,
+ 149, 153, 341, 342, 343, 344, 345, 158, 9, 153,
+ 316, 317, 318, 152, 9, 354, 355, 356, 9, 441,
+ 9, 443, 488, 9, 446, 491, 492, 493, 9, 55,
+ 452, 453, 11, 158, 152, 152, 152, 19, 152, 152,
+ 22, 152, 24, 349, 553, 22, 152, 556, 145, 146,
+ 147, 152, 59, 359, 149, 134, 135, 136, 480, 481,
+ 139, 483, 484, 152, 143, 144, 149, 489, 149, 408,
+ 409, 38, 149, 149, 149, 149, 415, 499, 38, 152,
+ 152, 387, 388, 389, 390, 391, 149, 149, 394, 60,
+ 61, 62, 63, 64, 65, 154, 149, 269, 270, 549,
+ 272, 407, 38, 149, 149, 7, 8, 529, 10, 11,
+ 12, 13, 14, 15, 16, 17, 149, 19, 20, 569,
+ 22, 23, 24, 462, 463, 464, 465, 149, 550, 551,
+ 469, 470, 149, 305, 149, 117, 118, 158, 149, 149,
+ 22, 313, 314, 4, 566, 149, 22, 49, 153, 17,
+ 17, 457, 134, 135, 152, 137, 138, 149, 140, 141,
+ 142, 149, 501, 502, 4, 471, 149, 589, 590, 149,
+ 476, 149, 53, 149, 596, 597, 482, 149, 152, 149,
+ 149, 603, 488, 149, 606, 491, 492, 493, 149, 153,
+ 496, 149, 149, 158, 149, 475, 149, 153, 537, 153,
+ 539, 540, 22, 149, 154, 377, 378, 379, 156, 153,
+ 153, 53, 17, 385, 156, 153, 3, 4, 153, 153,
+ 7, 8, 9, 395, 396, 4, 152, 152, 149, 17,
+ 149, 17, 19, 20, 17, 22, 23, 24, 25, 26,
+ 27, 71, 17, 129, 129, 129, 552, 247, 544, 151,
+ 225, 248, 154, 40, 41, 157, 92, 159, 160, 516,
+ 111, 105, 235, 17, 544, 89, 56, 496, 410, 441,
+ 57, 443, -1, -1, 446, -1, -1, -1, -1, -1,
+ 452, 453, -1, -1, -1, -1, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, -1, -1, -1, -1, -1, 480, 481,
+ -1, 483, 484, -1, -1, -1, -1, 489, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 499, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, -1, 129, -1, 131, 132, 133, 134, 135, -1,
+ 137, 138, -1, 140, 141, 142, -1, 529, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3, 4, -1,
+ 157, 7, 8, 9, -1, -1, -1, -1, 550, 551,
+ -1, -1, -1, 19, 20, -1, 22, 23, 24, 25,
+ 26, 27, 26, 27, 566, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, 41, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, -1, 589, 590, -1,
+ -1, 57, -1, -1, 596, 597, -1, -1, -1, -1,
+ -1, 603, -1, -1, 606, -1, -1, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, -1, -1, -1, -1, -1, -1,
+ -1, -1, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, -1, -1, -1, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, -1, 129, -1, 131, 132, 133, -1, -1,
+ -1, -1, -1, 3, 4, -1, -1, 7, 8, 9,
+ -1, -1, -1, -1, 150, -1, 152, -1, -1, 19,
+ 20, 157, 22, 23, 24, 25, 26, 27, -1, -1,
+ 7, 8, -1, -1, -1, -1, -1, -1, -1, -1,
+ 40, 41, 19, 20, -1, 22, 23, 24, 25, -1,
+ -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
+ -1, -1, -1, 40, 41, -1, -1, -1, -1, -1,
+ -1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ -1, -1, -1, -1, -1, -1, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, -1, -1, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, -1, 129,
+ -1, 131, 132, 133, -1, -1, -1, -1, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127, -1, 129, -1, 131, 132, 133, 157, -1, -1,
+ -1, -1, -1, 3, 4, -1, -1, -1, -1, 9,
+ -1, -1, -1, 150, -1, 152, -1, 154, -1, -1,
+ 157, -1, 159, -1, 161, 25, 26, 27, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 7, 8, 57, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
- 7, 8, 49, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, -1, 129, -1, 131, 132, 133, -1,
- 7, 8, 49, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
- 7, 8, 157, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
- -1, -1, 49, 7, 8, -1, 10, 11, 12, 13,
- 14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
- 24, -1, 49, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, 160, -1, 39, -1, -1, -1, -1,
- -1, -1, -1, 7, 8, 49, 10, 11, 12, 13,
- 14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
- 24, -1, -1, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, 160, 7, 8, -1, 10, 11, 12,
- 13, 14, 15, 16, 17, 49, 19, 20, -1, 22,
- 23, 24, -1, -1, 121, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 151, -1, 39, 154, -1, -1,
- 157, -1, 159, 160, -1, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 151, -1, -1,
- 154, -1, -1, 157, -1, 159, 7, 8, -1, 10,
- 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
- -1, 22, 23, 24, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 151, 39, -1,
- 154, -1, 156, 157, -1, 159, 7, 8, 49, 10,
- 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
- -1, 22, 23, 24, -1, -1, -1, -1, 151, -1,
- -1, 154, -1, -1, 157, -1, 159, 7, 8, -1,
- 10, 11, 12, 13, 14, 15, 16, 17, 49, 19,
- 20, -1, 22, 23, 24, 7, 8, -1, 10, 11,
+ 40, 41, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 7, 8, 57, 10, 11,
12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
- 22, 23, 24, -1, -1, -1, -1, 7, 8, 49,
- 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
- 20, -1, 22, 23, 24, -1, -1, 49, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 151, -1, -1, 154, -1, -1, 157, -1, 159, 49,
- 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
- 17, -1, 19, 20, -1, 22, 23, 24, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 151, -1, -1, 154, -1, -1, 157, -1, 159, -1,
- -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
+ 22, 23, 24, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ -1, -1, -1, -1, -1, 7, 8, 49, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, -1, -1, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, -1, 129,
+ -1, 131, 132, 133, -1, 7, 8, 49, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, -1, -1, 7, 8, 157, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, -1, -1, -1, -1, 49, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 39, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 49, -1, 151,
+ -1, -1, 154, -1, -1, 157, -1, 159, 160, 7,
+ 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
+ -1, 19, 20, -1, 22, 23, 24, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
- -1, -1, 154, -1, -1, 157, -1, 159, -1, -1,
+ -1, -1, 154, -1, -1, 157, -1, 159, 160, 7,
+ 8, 49, 10, 11, 12, 13, 14, 15, 16, 17,
+ -1, 19, 20, -1, 22, 23, 24, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
+ -1, 39, 154, -1, -1, 157, -1, 159, 160, -1,
+ -1, 49, -1, -1, -1, -1, -1, -1, -1, 151,
+ -1, -1, 154, -1, -1, 157, -1, 159, -1, 7,
+ 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
+ -1, 19, 20, 121, 22, 23, 24, -1, 7, 8,
+ -1, 10, 11, 12, 13, 14, 15, 16, 17, -1,
+ 19, 20, -1, 22, 23, 24, -1, -1, -1, -1,
+ -1, 49, -1, 151, -1, -1, 154, -1, -1, 157,
+ 39, 159, -1, -1, -1, -1, -1, -1, 7, 8,
+ 49, 10, 11, 12, 13, 14, 15, 16, 17, -1,
+ 19, 20, -1, 22, 23, 24, -1, -1, -1, -1,
+ -1, -1, -1, 151, -1, -1, 154, -1, -1, 157,
+ 39, 159, -1, -1, -1, -1, -1, -1, 7, 8,
+ 49, 10, 11, 12, 13, 14, 15, 16, 17, -1,
+ 19, 20, -1, 22, 23, 24, 7, 8, -1, 10,
+ 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
+ -1, 22, 23, 24, -1, -1, -1, -1, -1, -1,
+ 49, -1, -1, 151, -1, -1, 154, -1, 156, 157,
+ -1, 159, -1, -1, -1, -1, -1, -1, 49, -1,
+ -1, -1, 151, -1, -1, 154, -1, -1, 157, -1,
+ 159, 7, 8, -1, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
- -1, 7, 8, -1, 10, 11, 12, 13, 14, 15,
+ -1, -1, 151, -1, -1, 154, -1, -1, 157, -1,
+ 159, 7, 8, 49, 10, 11, 12, 13, 14, 15,
16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 151, -1, -1, 154, -1, -1,
- 157, -1, 159, 49, 7, 8, -1, 10, 11, 12,
- 13, 14, 15, 16, 17, -1, 19, 20, -1, 22,
- 23, 24, 7, 8, -1, 10, 11, 12, 13, 14,
- 15, 16, 17, -1, 19, 20, -1, 22, 23, 24,
- 36, -1, -1, -1, -1, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 55,
- 56, -1, -1, -1, 49, -1, -1, -1, -1, -1,
+ -1, -1, 151, -1, -1, 154, -1, -1, 157, -1,
+ 159, -1, -1, 49, -1, -1, -1, -1, -1, -1,
+ 151, -1, -1, 154, -1, -1, 157, -1, 159, 7,
+ 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
+ -1, 19, 20, -1, 22, 23, 24, 7, 8, -1,
+ 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
+ 20, -1, 22, 23, 24, -1, -1, -1, -1, -1,
+ -1, 49, -1, -1, -1, 151, -1, -1, 154, -1,
+ -1, 157, -1, 159, -1, -1, -1, 7, 8, 49,
+ 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
+ 20, -1, 22, 23, 24, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 151, -1, -1, 154, -1,
+ -1, 157, -1, 159, -1, -1, -1, 7, 8, 49,
+ 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
+ 20, -1, 22, 23, 24, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
+ 36, -1, -1, 151, -1, -1, 154, -1, -1, 157,
+ -1, 159, -1, -1, -1, -1, -1, -1, -1, 55,
+ 56, 151, -1, -1, 154, -1, -1, 157, -1, 159,
-1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 151, -1, -1, 154, -1,
- -1, 157, -1, 159, 110, 111, 112, -1, -1, 115,
+ -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
+ -1, -1, -1, -1, 110, 111, 112, -1, -1, 115,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 151, -1,
- -1, 154, -1, -1, 157, -1, 159, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 151, -1, -1, 154,
- -1, -1, 157, -1, 159
+ 126, 127, 128, 129, 130, 131, 132, 133, 0, -1,
+ -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
+ -1, -1, -1, -1, -1, -1, 18, 19, 20, -1,
+ 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 51,
+ -1, -1, 54, -1, -1, -1, 58
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -2605,12 +2595,12 @@ static const yytype_uint8 yystos[] =
17, 194, 238, 229, 229, 188, 188, 230, 229, 149,
230, 230, 230, 238, 229, 200, 200, 149, 153, 149,
149, 153, 153, 153, 184, 189, 190, 22, 149, 154,
- 229, 229, 149, 153, 156, 229, 153, 188, 153, 153,
+ 184, 184, 149, 153, 156, 229, 153, 188, 153, 153,
200, 200, 200, 171, 53, 187, 17, 156, 168, 235,
- 184, 184, 17, 194, 186, 156, 186, 153, 153, 153,
- 4, 229, 227, 156, 168, 229, 229, 38, 149, 227,
- 184, 184, 17, 17, 149, 229, 229, 17, 71, 229,
- 17, 229
+ 117, 118, 229, 229, 17, 194, 186, 156, 186, 153,
+ 153, 153, 4, 229, 227, 156, 168, 184, 184, 184,
+ 184, 38, 149, 227, 229, 229, 17, 17, 149, 184,
+ 184, 229, 229, 17, 71, 229, 17, 229
};
#define yyerrok (yyerrstatus = 0)
@@ -2684,7 +2674,7 @@ while (YYID (0))
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
+# if YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
@@ -3425,142 +3415,142 @@ yyreduce:
switch (yyn)
{
case 29:
-#line 1134 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
break;
case 30:
-#line 1134 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
break;
case 31:
-#line 1135 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
break;
case 32:
-#line 1135 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
break;
case 33:
-#line 1136 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
break;
case 34:
-#line 1136 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
break;
case 35:
-#line 1137 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
break;
case 36:
-#line 1137 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
break;
case 37:
-#line 1138 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1115 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
break;
case 38:
-#line 1138 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1115 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
break;
case 39:
-#line 1142 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1119 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
break;
case 40:
-#line 1142 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1119 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
break;
case 41:
-#line 1143 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1120 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
break;
case 42:
-#line 1143 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1120 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
break;
case 43:
-#line 1144 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1121 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
break;
case 44:
-#line 1144 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1121 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
break;
case 45:
-#line 1145 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
break;
case 46:
-#line 1145 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
break;
case 47:
-#line 1146 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1123 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
break;
case 48:
-#line 1146 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1123 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
break;
case 49:
-#line 1147 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
break;
case 50:
-#line 1147 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
break;
case 51:
-#line 1148 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
break;
case 52:
-#line 1148 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
break;
case 53:
-#line 1149 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1126 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
break;
case 54:
-#line 1150 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1127 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
break;
case 65:
-#line 1159 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1136 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 66:
-#line 1163 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1140 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
CHECK_FOR_ERROR
@@ -3568,7 +3558,7 @@ yyreduce:
break;
case 67:
-#line 1167 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1144 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3576,7 +3566,7 @@ yyreduce:
break;
case 71:
-#line 1175 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3584,7 +3574,7 @@ yyreduce:
break;
case 72:
-#line 1180 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1157 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
CHECK_FOR_ERROR
@@ -3592,152 +3582,152 @@ yyreduce:
break;
case 73:
-#line 1186 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1163 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 74:
-#line 1187 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1164 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 75:
-#line 1188 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1165 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 76:
-#line 1189 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1166 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
break;
case 77:
-#line 1190 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1167 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 78:
-#line 1194 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1171 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 79:
-#line 1195 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1172 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 80:
-#line 1196 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1173 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 81:
-#line 1200 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1177 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
case 82:
-#line 1201 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1178 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
case 83:
-#line 1202 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1179 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::HiddenVisibility; ;}
break;
case 84:
-#line 1203 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1180 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;}
break;
case 85:
-#line 1207 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1184 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 86:
-#line 1208 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1185 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 87:
-#line 1209 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1186 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 88:
-#line 1213 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1190 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 89:
-#line 1214 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1191 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 90:
-#line 1215 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1192 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 91:
-#line 1216 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1193 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 92:
-#line 1217 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1194 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 93:
-#line 1221 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1198 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 94:
-#line 1222 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1199 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 95:
-#line 1223 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1200 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 96:
-#line 1226 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1203 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 97:
-#line 1227 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1204 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 98:
-#line 1228 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1205 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Fast; ;}
break;
case 99:
-#line 1229 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1206 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Cold; ;}
break;
case 100:
-#line 1230 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1207 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
break;
case 101:
-#line 1231 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1208 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
break;
case 102:
-#line 1232 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1209 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
GEN_ERROR("Calling conv too large");
@@ -3747,111 +3737,111 @@ yyreduce:
break;
case 103:
-#line 1239 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1216 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
case 104:
-#line 1240 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1217 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
case 105:
-#line 1241 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1218 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
case 106:
-#line 1242 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1219 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
case 107:
-#line 1243 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1220 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::InReg; ;}
break;
case 108:
-#line 1244 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1221 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::StructRet; ;}
break;
case 109:
-#line 1245 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1222 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoAlias; ;}
break;
case 110:
-#line 1246 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1223 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ByVal; ;}
break;
case 111:
-#line 1247 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1224 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::Nest; ;}
break;
case 112:
-#line 1250 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1227 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::None; ;}
break;
case 113:
-#line 1251 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1228 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
;}
break;
case 114:
-#line 1256 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1233 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoReturn; ;}
break;
case 115:
-#line 1257 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1234 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoUnwind; ;}
break;
case 116:
-#line 1258 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1235 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
case 117:
-#line 1259 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1236 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
case 118:
-#line 1260 "/llvm/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = ParamAttr::Pure; ;}
+#line 1237 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = ParamAttr::ReadNone; ;}
break;
case 119:
-#line 1261 "/llvm/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = ParamAttr::Const; ;}
+#line 1238 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = ParamAttr::ReadOnly; ;}
break;
case 120:
-#line 1264 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1241 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::None; ;}
break;
case 121:
-#line 1265 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1242 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
;}
break;
case 122:
-#line 1272 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1249 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
case 123:
-#line 1273 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1250 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3861,12 +3851,12 @@ yyreduce:
break;
case 124:
-#line 1279 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1256 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
case 125:
-#line 1280 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1257 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3876,7 +3866,7 @@ yyreduce:
break;
case 126:
-#line 1288 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1265 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
for (unsigned i = 0, e = (yyvsp[(2) - (2)].StrVal)->length(); i != e; ++i)
if ((*(yyvsp[(2) - (2)].StrVal))[i] == '"' || (*(yyvsp[(2) - (2)].StrVal))[i] == '\\')
@@ -3887,27 +3877,27 @@ yyreduce:
break;
case 127:
-#line 1296 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1273 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 128:
-#line 1297 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1274 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;}
break;
case 129:
-#line 1302 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1279 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{;}
break;
case 130:
-#line 1303 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1280 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{;}
break;
case 131:
-#line 1304 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1281 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV->setSection(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -3916,7 +3906,7 @@ yyreduce:
break;
case 132:
-#line 1309 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1286 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Alignment must be a power of two");
@@ -3926,7 +3916,7 @@ yyreduce:
break;
case 140:
-#line 1325 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1302 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
CHECK_FOR_ERROR
@@ -3934,7 +3924,7 @@ yyreduce:
break;
case 141:
-#line 1329 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1306 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
CHECK_FOR_ERROR
@@ -3942,7 +3932,7 @@ yyreduce:
break;
case 142:
-#line 1333 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1310 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Pointer type?
if (*(yyvsp[(1) - (2)].TypeVal) == Type::LabelTy)
GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3953,7 +3943,7 @@ yyreduce:
break;
case 143:
-#line 1340 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1317 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Named types are also simple types...
const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal));
CHECK_FOR_ERROR
@@ -3962,7 +3952,7 @@ yyreduce:
break;
case 144:
-#line 1345 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1322 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Type UpReference
if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
@@ -3974,32 +3964,20 @@ yyreduce:
break;
case 145:
-#line 1353 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1330 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // Allow but ignore attributes on function types; this permits auto-upgrade.
+ // FIXME: remove in LLVM 3.0.
std::vector<const Type*> Params;
- ParamAttrsVector Attrs;
- if ((yyvsp[(5) - (5)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = 0; X.attrs = (yyvsp[(5) - (5)].ParamAttrs);
- Attrs.push_back(X);
- }
- unsigned index = 1;
TypeWithAttrsList::iterator I = (yyvsp[(3) - (5)].TypeWithAttrsList)->begin(), E = (yyvsp[(3) - (5)].TypeWithAttrsList)->end();
- for (; I != E; ++I, ++index) {
+ for (; I != E; ++I ) {
const Type *Ty = I->Ty->get();
Params.push_back(Ty);
- if (Ty != Type::VoidTy)
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = index; X.attrs = I->Attrs;
- Attrs.push_back(X);
- }
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- ParamAttrsList *ActualAttrs = 0;
- if (!Attrs.empty())
- ActualAttrs = ParamAttrsList::get(Attrs);
- FunctionType *FT = FunctionType::get(*(yyvsp[(1) - (5)].TypeVal), Params, isVarArg, ActualAttrs);
+ FunctionType *FT = FunctionType::get(*(yyvsp[(1) - (5)].TypeVal), Params, isVarArg);
delete (yyvsp[(3) - (5)].TypeWithAttrsList); // Delete the argument list
delete (yyvsp[(1) - (5)].TypeVal); // Delete the return type handle
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
@@ -4008,33 +3986,20 @@ yyreduce:
break;
case 146:
-#line 1383 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1348 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // Allow but ignore attributes on function types; this permits auto-upgrade.
+ // FIXME: remove in LLVM 3.0.
std::vector<const Type*> Params;
- ParamAttrsVector Attrs;
- if ((yyvsp[(5) - (5)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = 0; X.attrs = (yyvsp[(5) - (5)].ParamAttrs);
- Attrs.push_back(X);
- }
TypeWithAttrsList::iterator I = (yyvsp[(3) - (5)].TypeWithAttrsList)->begin(), E = (yyvsp[(3) - (5)].TypeWithAttrsList)->end();
- unsigned index = 1;
- for ( ; I != E; ++I, ++index) {
+ for ( ; I != E; ++I ) {
const Type* Ty = I->Ty->get();
Params.push_back(Ty);
- if (Ty != Type::VoidTy)
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex X; X.index = index; X.attrs = I->Attrs;
- Attrs.push_back(X);
- }
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- ParamAttrsList *ActualAttrs = 0;
- if (!Attrs.empty())
- ActualAttrs = ParamAttrsList::get(Attrs);
-
- FunctionType *FT = FunctionType::get((yyvsp[(1) - (5)].PrimType), Params, isVarArg, ActualAttrs);
+ FunctionType *FT = FunctionType::get((yyvsp[(1) - (5)].PrimType), Params, isVarArg);
delete (yyvsp[(3) - (5)].TypeWithAttrsList); // Delete the argument list
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
CHECK_FOR_ERROR
@@ -4042,7 +4007,7 @@ yyreduce:
break;
case 147:
-#line 1414 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1366 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Sized array type?
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
delete (yyvsp[(4) - (5)].TypeVal);
@@ -4051,7 +4016,7 @@ yyreduce:
break;
case 148:
-#line 1419 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1371 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Vector type?
const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get();
if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val))
@@ -4065,7 +4030,7 @@ yyreduce:
break;
case 149:
-#line 1429 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1381 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
@@ -4079,7 +4044,7 @@ yyreduce:
break;
case 150:
-#line 1439 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1391 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
CHECK_FOR_ERROR
@@ -4087,7 +4052,7 @@ yyreduce:
break;
case 151:
-#line 1443 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1395 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
@@ -4101,7 +4066,7 @@ yyreduce:
break;
case 152:
-#line 1453 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1405 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
CHECK_FOR_ERROR
@@ -4109,15 +4074,17 @@ yyreduce:
break;
case 153:
-#line 1460 "/llvm/lib/AsmParser/llvmAsmParser.y"
- {
+#line 1412 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ // Allow but ignore attributes on function types; this permits auto-upgrade.
+ // FIXME: remove in LLVM 3.0.
(yyval.TypeWithAttrs).Ty = (yyvsp[(1) - (2)].TypeVal);
- (yyval.TypeWithAttrs).Attrs = (yyvsp[(2) - (2)].ParamAttrs);
+ (yyval.TypeWithAttrs).Attrs = ParamAttr::None;
;}
break;
case 154:
-#line 1467 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1421 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
@@ -4128,14 +4095,14 @@ yyreduce:
break;
case 155:
-#line 1474 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1428 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
;}
break;
case 156:
-#line 1479 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1433 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
(yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
@@ -4144,7 +4111,7 @@ yyreduce:
break;
case 157:
-#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1438 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
CHECK_FOR_ERROR
@@ -4152,7 +4119,7 @@ yyreduce:
break;
case 159:
-#line 1492 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1446 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4163,7 +4130,7 @@ yyreduce:
break;
case 160:
-#line 1499 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1453 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList;
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4174,7 +4141,7 @@ yyreduce:
break;
case 161:
-#line 1506 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1460 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
CHECK_FOR_ERROR
@@ -4182,7 +4149,7 @@ yyreduce:
break;
case 162:
-#line 1514 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1468 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList) = new std::list<PATypeHolder>();
(yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal));
@@ -4192,7 +4159,7 @@ yyreduce:
break;
case 163:
-#line 1520 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1474 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal));
delete (yyvsp[(3) - (3)].TypeVal);
@@ -4201,7 +4168,7 @@ yyreduce:
break;
case 164:
-#line 1532 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1486 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4233,7 +4200,7 @@ yyreduce:
break;
case 165:
-#line 1560 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1514 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4253,7 +4220,7 @@ yyreduce:
break;
case 166:
-#line 1576 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1530 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4284,7 +4251,7 @@ yyreduce:
break;
case 167:
-#line 1603 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1557 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4316,7 +4283,7 @@ yyreduce:
break;
case 168:
-#line 1631 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1585 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
if (STy == 0)
@@ -4346,7 +4313,7 @@ yyreduce:
break;
case 169:
-#line 1657 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1611 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4370,7 +4337,7 @@ yyreduce:
break;
case 170:
-#line 1677 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1631 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
if (STy == 0)
@@ -4400,7 +4367,7 @@ yyreduce:
break;
case 171:
-#line 1703 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1657 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
@@ -4424,7 +4391,7 @@ yyreduce:
break;
case 172:
-#line 1723 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1677 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4440,7 +4407,7 @@ yyreduce:
break;
case 173:
-#line 1735 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1689 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4451,7 +4418,7 @@ yyreduce:
break;
case 174:
-#line 1742 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1696 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4521,7 +4488,7 @@ yyreduce:
break;
case 175:
-#line 1808 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1762 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4535,7 +4502,7 @@ yyreduce:
break;
case 176:
-#line 1818 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1772 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4549,7 +4516,7 @@ yyreduce:
break;
case 177:
-#line 1828 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1782 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4559,7 +4526,7 @@ yyreduce:
break;
case 178:
-#line 1834 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1788 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4573,7 +4540,7 @@ yyreduce:
break;
case 179:
-#line 1844 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1798 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4583,7 +4550,7 @@ yyreduce:
break;
case 180:
-#line 1850 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1804 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4597,7 +4564,7 @@ yyreduce:
break;
case 181:
-#line 1860 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1814 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getTrue();
@@ -4606,7 +4573,7 @@ yyreduce:
break;
case 182:
-#line 1865 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1819 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getFalse();
@@ -4615,7 +4582,7 @@ yyreduce:
break;
case 183:
-#line 1870 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1824 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Floating point constants
if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), *(yyvsp[(2) - (2)].FPVal)))
GEN_ERROR("Floating point constant invalid for type");
@@ -4630,7 +4597,7 @@ yyreduce:
break;
case 184:
-#line 1883 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1837 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
@@ -4646,7 +4613,7 @@ yyreduce:
break;
case 185:
-#line 1895 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1849 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4672,7 +4639,7 @@ yyreduce:
break;
case 186:
-#line 1917 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1871 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
GEN_ERROR("Select condition must be of boolean type");
@@ -4684,7 +4651,7 @@ yyreduce:
break;
case 187:
-#line 1925 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1879 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Binary operator types must match");
@@ -4694,7 +4661,7 @@ yyreduce:
break;
case 188:
-#line 1931 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1885 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Logical operator types must match");
@@ -4709,7 +4676,7 @@ yyreduce:
break;
case 189:
-#line 1942 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1896 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("icmp operand types must match");
@@ -4718,7 +4685,7 @@ yyreduce:
break;
case 190:
-#line 1947 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1901 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("fcmp operand types must match");
@@ -4727,7 +4694,7 @@ yyreduce:
break;
case 191:
-#line 1952 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1906 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -4737,7 +4704,7 @@ yyreduce:
break;
case 192:
-#line 1958 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1912 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -4747,7 +4714,7 @@ yyreduce:
break;
case 193:
-#line 1964 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1918 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -4757,7 +4724,7 @@ yyreduce:
break;
case 194:
-#line 1973 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1927 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
CHECK_FOR_ERROR
@@ -4765,7 +4732,7 @@ yyreduce:
break;
case 195:
-#line 1977 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1931 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector) = new std::vector<Constant*>();
(yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
@@ -4774,27 +4741,27 @@ yyreduce:
break;
case 196:
-#line 1985 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1939 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 197:
-#line 1985 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1939 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 198:
-#line 1988 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1942 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 199:
-#line 1988 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1942 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 200:
-#line 1991 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1945 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get();
Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal));
@@ -4810,7 +4777,7 @@ yyreduce:
break;
case 201:
-#line 2003 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1957 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
Constant *Val = (yyvsp[(3) - (6)].ConstVal);
const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get();
@@ -4826,7 +4793,7 @@ yyreduce:
break;
case 202:
-#line 2024 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1978 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4835,7 +4802,7 @@ yyreduce:
break;
case 203:
-#line 2029 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1983 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4844,12 +4811,12 @@ yyreduce:
break;
case 206:
-#line 2042 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1996 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = false; ;}
break;
case 207:
-#line 2042 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1996 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.FunctionDone();
CHECK_FOR_ERROR
@@ -4857,26 +4824,26 @@ yyreduce:
break;
case 208:
-#line 2046 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2000 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;}
break;
case 209:
-#line 2046 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2000 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 210:
-#line 2049 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2003 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 211:
-#line 2052 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2006 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
@@ -4904,7 +4871,7 @@ yyreduce:
break;
case 212:
-#line 2076 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2030 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
@@ -4919,7 +4886,7 @@ yyreduce:
break;
case 213:
-#line 2087 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2041 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
/* "Externally Visible" Linkage */
if ((yyvsp[(5) - (5)].ConstVal) == 0)
@@ -4931,14 +4898,14 @@ yyreduce:
break;
case 214:
-#line 2094 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2048 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 215:
-#line 2098 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2052 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(6) - (6)].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
@@ -4948,14 +4915,14 @@ yyreduce:
break;
case 216:
-#line 2103 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2057 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 217:
-#line 2107 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2061 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (6)].TypeVal))->getDescription());
@@ -4966,7 +4933,7 @@ yyreduce:
break;
case 218:
-#line 2113 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2067 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
CHECK_FOR_ERROR
@@ -4974,7 +4941,7 @@ yyreduce:
break;
case 219:
-#line 2117 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2071 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string Name;
if ((yyvsp[(1) - (5)].StrVal)) {
@@ -5018,21 +4985,21 @@ yyreduce:
break;
case 220:
-#line 2157 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2111 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 221:
-#line 2160 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2114 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 222:
-#line 2166 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2120 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
if (AsmSoFar.empty())
@@ -5045,7 +5012,7 @@ yyreduce:
break;
case 223:
-#line 2176 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2130 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
@@ -5053,7 +5020,7 @@ yyreduce:
break;
case 224:
-#line 2180 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2134 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
@@ -5061,7 +5028,7 @@ yyreduce:
break;
case 226:
-#line 2187 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2141 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
@@ -5070,7 +5037,7 @@ yyreduce:
break;
case 227:
-#line 2192 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2146 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5079,14 +5046,14 @@ yyreduce:
break;
case 228:
-#line 2197 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2151 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 229:
-#line 2206 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2160 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -5100,7 +5067,7 @@ yyreduce:
break;
case 230:
-#line 2216 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2170 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -5114,7 +5081,7 @@ yyreduce:
break;
case 231:
-#line 2227 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2181 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
CHECK_FOR_ERROR
@@ -5122,7 +5089,7 @@ yyreduce:
break;
case 232:
-#line 2231 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2185 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
struct ArgListEntry E;
@@ -5135,7 +5102,7 @@ yyreduce:
break;
case 233:
-#line 2240 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2194 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = new ArgListType;
struct ArgListEntry E;
@@ -5148,7 +5115,7 @@ yyreduce:
break;
case 234:
-#line 2249 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2203 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = 0;
CHECK_FOR_ERROR
@@ -5156,7 +5123,7 @@ yyreduce:
break;
case 235:
-#line 2255 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2209 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string FunctionName(*(yyvsp[(3) - (9)].StrVal));
delete (yyvsp[(3) - (9)].StrVal); // Free strdup'd memory!
@@ -5169,7 +5136,9 @@ yyreduce:
std::vector<const Type*> ParamTypeList;
ParamAttrsVector Attrs;
if ((yyvsp[(7) - (9)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(7) - (9)].ParamAttrs);
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = 0;
+ PAWI.attrs = (yyvsp[(7) - (9)].ParamAttrs);
Attrs.push_back(PAWI);
}
if ((yyvsp[(5) - (9)].ArgList)) { // If there are arguments...
@@ -5181,7 +5150,9 @@ yyreduce:
ParamTypeList.push_back(Ty);
if (Ty != Type::VoidTy)
if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = index; PAWI.attrs = I->Attrs;
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = I->Attrs;
Attrs.push_back(PAWI);
}
}
@@ -5194,7 +5165,7 @@ yyreduce:
if (!Attrs.empty())
PAL = ParamAttrsList::get(Attrs);
- FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (9)].TypeVal), ParamTypeList, isVarArg, PAL);
+ FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (9)].TypeVal), ParamTypeList, isVarArg);
const PointerType *PFT = PointerType::get(FT);
delete (yyvsp[(2) - (9)].TypeVal);
@@ -5211,19 +5182,24 @@ yyreduce:
// Move the function to the end of the list, from whereever it was
// previously inserted.
Fn = cast<Function>(FWRef);
+ assert(!Fn->getParamAttrs() && "Forward reference has parameter attributes!");
CurModule.CurrentModule->getFunctionList().remove(Fn);
CurModule.CurrentModule->getFunctionList().push_back(Fn);
} else if (!FunctionName.empty() && // Merge with an earlier prototype?
(Fn = CurModule.CurrentModule->getFunction(FunctionName))) {
- if (Fn->getFunctionType() != FT) {
+ if (Fn->getFunctionType() != FT ) {
// The existing function doesn't have the same type. This is an overload
// error.
GEN_ERROR("Overload of function '" + FunctionName + "' not permitted.");
+ } else if (Fn->getParamAttrs() != PAL) {
+ // The existing function doesn't have the same parameter attributes.
+ // This is an overload error.
+ GEN_ERROR("Overload of function '" + FunctionName + "' not permitted.");
} else if (!CurFun.isDeclare && !Fn->isDeclaration()) {
// Neither the existing or the current function is a declaration and they
// have the same name and same type. Clearly this is a redefinition.
GEN_ERROR("Redefinition of function '" + FunctionName + "'");
- } if (Fn->isDeclaration()) {
+ } else if (Fn->isDeclaration()) {
// Make sure to strip off any argument names so we can't get conflicts.
for (Function::arg_iterator AI = Fn->arg_begin(), AE = Fn->arg_end();
AI != AE; ++AI)
@@ -5232,7 +5208,6 @@ yyreduce:
} else { // Not already defined?
Fn = new Function(FT, GlobalValue::ExternalWeakLinkage, FunctionName,
CurModule.CurrentModule);
-
InsertValue(Fn, CurModule.Values);
}
@@ -5246,6 +5221,7 @@ yyreduce:
Fn->setVisibility(CurFun.Visibility);
}
Fn->setCallingConv((yyvsp[(1) - (9)].UIntVal));
+ Fn->setParamAttrs(PAL);
Fn->setAlignment((yyvsp[(9) - (9)].UIntVal));
if ((yyvsp[(8) - (9)].StrVal)) {
Fn->setSection(*(yyvsp[(8) - (9)].StrVal));
@@ -5279,7 +5255,7 @@ yyreduce:
break;
case 238:
-#line 2377 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2340 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -5291,7 +5267,7 @@ yyreduce:
break;
case 241:
-#line 2388 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2351 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
@@ -5299,7 +5275,7 @@ yyreduce:
break;
case 242:
-#line 2393 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2356 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
@@ -5310,7 +5286,7 @@ yyreduce:
break;
case 243:
-#line 2405 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2368 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -5318,7 +5294,7 @@ yyreduce:
break;
case 244:
-#line 2409 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2372 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -5326,7 +5302,7 @@ yyreduce:
break;
case 245:
-#line 2414 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2377 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
CHECK_FOR_ERROR
@@ -5334,7 +5310,7 @@ yyreduce:
break;
case 246:
-#line 2418 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2381 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
CHECK_FOR_ERROR
@@ -5342,7 +5318,7 @@ yyreduce:
break;
case 247:
-#line 2422 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2385 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
CHECK_FOR_ERROR
@@ -5350,7 +5326,7 @@ yyreduce:
break;
case 248:
-#line 2426 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2389 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
CHECK_FOR_ERROR
@@ -5358,7 +5334,7 @@ yyreduce:
break;
case 249:
-#line 2430 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2393 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
CHECK_FOR_ERROR
@@ -5366,7 +5342,7 @@ yyreduce:
break;
case 250:
-#line 2434 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2397 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createNull();
CHECK_FOR_ERROR
@@ -5374,7 +5350,7 @@ yyreduce:
break;
case 251:
-#line 2438 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2401 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createUndef();
CHECK_FOR_ERROR
@@ -5382,7 +5358,7 @@ yyreduce:
break;
case 252:
-#line 2442 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2405 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A vector zero constant.
(yyval.ValIDVal) = ValID::createZeroInit();
CHECK_FOR_ERROR
@@ -5390,7 +5366,7 @@ yyreduce:
break;
case 253:
-#line 2446 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2409 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
int NumElements = (yyvsp[(2) - (3)].ConstVector)->size();
@@ -5419,7 +5395,7 @@ yyreduce:
break;
case 254:
-#line 2471 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2434 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
CHECK_FOR_ERROR
@@ -5427,7 +5403,7 @@ yyreduce:
break;
case 255:
-#line 2475 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2438 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal));
delete (yyvsp[(3) - (5)].StrVal);
@@ -5437,7 +5413,7 @@ yyreduce:
break;
case 256:
-#line 2485 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2448 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
(yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
@@ -5445,7 +5421,7 @@ yyreduce:
break;
case 257:
-#line 2489 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2452 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
@@ -5453,7 +5429,7 @@ yyreduce:
break;
case 258:
-#line 2493 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2456 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5462,7 +5438,7 @@ yyreduce:
break;
case 259:
-#line 2498 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2461 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5471,7 +5447,7 @@ yyreduce:
break;
case 262:
-#line 2511 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2474 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -5482,7 +5458,7 @@ yyreduce:
break;
case 263:
-#line 2520 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2483 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
@@ -5490,7 +5466,7 @@ yyreduce:
break;
case 264:
-#line 2524 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2487 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Do not allow functions with 0 basic blocks
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
@@ -5498,7 +5474,7 @@ yyreduce:
break;
case 265:
-#line 2533 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2496 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
CHECK_FOR_ERROR
@@ -5510,7 +5486,7 @@ yyreduce:
break;
case 266:
-#line 2542 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2505 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[(2) - (2)].InstVal)))
if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -5523,7 +5499,7 @@ yyreduce:
break;
case 267:
-#line 2551 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2514 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty space between instruction lists
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
CHECK_FOR_ERROR
@@ -5531,7 +5507,7 @@ yyreduce:
break;
case 268:
-#line 2555 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2518 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Labelled (named) basic block
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5541,7 +5517,7 @@ yyreduce:
break;
case 269:
-#line 2562 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2525 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with a result...
(yyval.TermInstVal) = new ReturnInst((yyvsp[(2) - (2)].ValueVal));
CHECK_FOR_ERROR
@@ -5549,7 +5525,7 @@ yyreduce:
break;
case 270:
-#line 2566 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2529 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
(yyval.TermInstVal) = new ReturnInst();
CHECK_FOR_ERROR
@@ -5557,7 +5533,7 @@ yyreduce:
break;
case 271:
-#line 2570 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2533 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
CHECK_FOR_ERROR
@@ -5566,7 +5542,7 @@ yyreduce:
break;
case 272:
-#line 2575 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2538 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
assert(cast<IntegerType>((yyvsp[(2) - (9)].PrimType))->getBitWidth() == 1 && "Not Bool?");
BasicBlock* tmpBBA = getBBVal((yyvsp[(6) - (9)].ValIDVal));
@@ -5580,7 +5556,7 @@ yyreduce:
break;
case 273:
-#line 2585 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2548 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
CHECK_FOR_ERROR
@@ -5603,7 +5579,7 @@ yyreduce:
break;
case 274:
-#line 2604 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2567 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
CHECK_FOR_ERROR
@@ -5616,7 +5592,7 @@ yyreduce:
break;
case 275:
-#line 2614 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2577 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -5626,28 +5602,14 @@ yyreduce:
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- ParamAttrsVector Attrs;
- if ((yyvsp[(8) - (14)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(8) - (14)].ParamAttrs);
- Attrs.push_back(PAWI);
- }
ParamList::iterator I = (yyvsp[(6) - (14)].ParamList)->begin(), E = (yyvsp[(6) - (14)].ParamList)->end();
- unsigned index = 1;
- for (; I != E; ++I, ++index) {
+ for (; I != E; ++I) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = index; PAWI.attrs = I->Attrs;
- Attrs.push_back(PAWI);
- }
}
-
- ParamAttrsList *PAL = 0;
- if (!Attrs.empty())
- PAL = ParamAttrsList::get(Attrs);
- Ty = FunctionType::get((yyvsp[(3) - (14)].TypeVal)->get(), ParamTypes, false, PAL);
+ Ty = FunctionType::get((yyvsp[(3) - (14)].TypeVal)->get(), ParamTypes, false);
PFTy = PointerType::get(Ty);
}
@@ -5660,6 +5622,12 @@ yyreduce:
BasicBlock *Except = getBBVal((yyvsp[(14) - (14)].ValIDVal));
CHECK_FOR_ERROR
+ ParamAttrsVector Attrs;
+ if ((yyvsp[(8) - (14)].ParamAttrs) != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(8) - (14)].ParamAttrs);
+ Attrs.push_back(PAWI);
+ }
+
// Check the arguments
ValueList Args;
if ((yyvsp[(6) - (14)].ParamList)->empty()) { // Has no arguments?
@@ -5673,12 +5641,19 @@ yyreduce:
FunctionType::param_iterator I = Ty->param_begin();
FunctionType::param_iterator E = Ty->param_end();
ParamList::iterator ArgI = (yyvsp[(6) - (14)].ParamList)->begin(), ArgE = (yyvsp[(6) - (14)].ParamList)->end();
+ unsigned index = 1;
- for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
+ for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) {
if (ArgI->Val->getType() != *I)
GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" +
(*I)->getDescription() + "'");
Args.push_back(ArgI->Val);
+ if (ArgI->Attrs != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = ArgI->Attrs;
+ Attrs.push_back(PAWI);
+ }
}
if (Ty->isVarArg()) {
@@ -5689,9 +5664,14 @@ yyreduce:
GEN_ERROR("Invalid number of parameters detected");
}
+ ParamAttrsList *PAL = 0;
+ if (!Attrs.empty())
+ PAL = ParamAttrsList::get(Attrs);
+
// Create the InvokeInst
InvokeInst *II = new InvokeInst(V, Normal, Except, Args.begin(), Args.end());
II->setCallingConv((yyvsp[(2) - (14)].UIntVal));
+ II->setParamAttrs(PAL);
(yyval.TermInstVal) = II;
delete (yyvsp[(6) - (14)].ParamList);
CHECK_FOR_ERROR
@@ -5699,7 +5679,7 @@ yyreduce:
break;
case 276:
-#line 2693 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2660 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnwindInst();
CHECK_FOR_ERROR
@@ -5707,7 +5687,7 @@ yyreduce:
break;
case 277:
-#line 2697 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2664 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnreachableInst();
CHECK_FOR_ERROR
@@ -5715,7 +5695,7 @@ yyreduce:
break;
case 278:
-#line 2704 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2671 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
Constant *V = cast<Constant>(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
@@ -5730,7 +5710,7 @@ yyreduce:
break;
case 279:
-#line 2715 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2682 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
Constant *V = cast<Constant>(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal)));
@@ -5746,7 +5726,7 @@ yyreduce:
break;
case 280:
-#line 2728 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2695 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Is this definition named?? if so, assign the name...
setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
@@ -5758,7 +5738,7 @@ yyreduce:
break;
case 281:
-#line 2738 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2705 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Used for PHI nodes
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
@@ -5773,7 +5753,7 @@ yyreduce:
break;
case 282:
-#line 2749 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2716 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal));
@@ -5785,63 +5765,69 @@ yyreduce:
break;
case 283:
-#line 2759 "/llvm/lib/AsmParser/llvmAsmParser.y"
- {
+#line 2726 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
- GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
+ GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
// Used for call and invoke instructions
(yyval.ParamList) = new ParamList();
- ParamListEntry E; E.Attrs = (yyvsp[(3) - (3)].ParamAttrs); E.Val = getVal((yyvsp[(1) - (3)].TypeVal)->get(), (yyvsp[(2) - (3)].ValIDVal));
+ ParamListEntry E; E.Attrs = (yyvsp[(2) - (4)].ParamAttrs) | (yyvsp[(4) - (4)].ParamAttrs); E.Val = getVal((yyvsp[(1) - (4)].TypeVal)->get(), (yyvsp[(3) - (4)].ValIDVal));
(yyval.ParamList)->push_back(E);
- delete (yyvsp[(1) - (3)].TypeVal);
+ delete (yyvsp[(1) - (4)].TypeVal);
+ CHECK_FOR_ERROR
;}
break;
case 284:
-#line 2768 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2737 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
// Labels are only valid in ASMs
(yyval.ParamList) = new ParamList();
- ParamListEntry E; E.Attrs = (yyvsp[(3) - (3)].ParamAttrs); E.Val = getBBVal((yyvsp[(2) - (3)].ValIDVal));
+ ParamListEntry E; E.Attrs = (yyvsp[(2) - (4)].ParamAttrs) | (yyvsp[(4) - (4)].ParamAttrs); E.Val = getBBVal((yyvsp[(3) - (4)].ValIDVal));
(yyval.ParamList)->push_back(E);
+ CHECK_FOR_ERROR
;}
break;
case 285:
-#line 2774 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2745 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
- GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
- (yyval.ParamList) = (yyvsp[(1) - (5)].ParamList);
- ParamListEntry E; E.Attrs = (yyvsp[(5) - (5)].ParamAttrs); E.Val = getVal((yyvsp[(3) - (5)].TypeVal)->get(), (yyvsp[(4) - (5)].ValIDVal));
+ GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
+ (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
+ ParamListEntry E; E.Attrs = (yyvsp[(4) - (6)].ParamAttrs) | (yyvsp[(6) - (6)].ParamAttrs); E.Val = getVal((yyvsp[(3) - (6)].TypeVal)->get(), (yyvsp[(5) - (6)].ValIDVal));
(yyval.ParamList)->push_back(E);
- delete (yyvsp[(3) - (5)].TypeVal);
+ delete (yyvsp[(3) - (6)].TypeVal);
CHECK_FOR_ERROR
;}
break;
case 286:
-#line 2783 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2755 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
- (yyval.ParamList) = (yyvsp[(1) - (5)].ParamList);
- ParamListEntry E; E.Attrs = (yyvsp[(5) - (5)].ParamAttrs); E.Val = getBBVal((yyvsp[(4) - (5)].ValIDVal));
+ // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
+ (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
+ ParamListEntry E; E.Attrs = (yyvsp[(4) - (6)].ParamAttrs) | (yyvsp[(6) - (6)].ParamAttrs); E.Val = getBBVal((yyvsp[(5) - (6)].ValIDVal));
(yyval.ParamList)->push_back(E);
CHECK_FOR_ERROR
;}
break;
case 287:
-#line 2789 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2762 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamList) = new ParamList(); ;}
break;
case 288:
-#line 2792 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2765 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueList) = new std::vector<Value*>(); ;}
break;
case 289:
-#line 2793 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2766 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
(yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
@@ -5850,7 +5836,7 @@ yyreduce:
break;
case 290:
-#line 2800 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2773 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -5858,7 +5844,7 @@ yyreduce:
break;
case 291:
-#line 2804 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2777 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -5866,7 +5852,7 @@ yyreduce:
break;
case 292:
-#line 2809 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2782 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -5886,7 +5872,7 @@ yyreduce:
break;
case 293:
-#line 2825 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2798 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -5907,7 +5893,7 @@ yyreduce:
break;
case 294:
-#line 2842 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2815 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -5925,7 +5911,7 @@ yyreduce:
break;
case 295:
-#line 2856 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2829 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -5943,7 +5929,7 @@ yyreduce:
break;
case 296:
-#line 2870 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2843 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -5959,7 +5945,7 @@ yyreduce:
break;
case 297:
-#line 2882 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2855 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty)
GEN_ERROR("select condition must be boolean");
@@ -5971,7 +5957,7 @@ yyreduce:
break;
case 298:
-#line 2890 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2863 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -5982,7 +5968,7 @@ yyreduce:
break;
case 299:
-#line 2897 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2870 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -5992,7 +5978,7 @@ yyreduce:
break;
case 300:
-#line 2903 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2876 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -6002,7 +5988,7 @@ yyreduce:
break;
case 301:
-#line 2909 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2882 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -6012,7 +5998,7 @@ yyreduce:
break;
case 302:
-#line 2915 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2888 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
if (!Ty->isFirstClassType())
@@ -6031,7 +6017,7 @@ yyreduce:
break;
case 303:
-#line 2931 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2904 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -6041,29 +6027,14 @@ yyreduce:
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- ParamAttrsVector Attrs;
- if ((yyvsp[(8) - (8)].ParamAttrs) != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = 0; PAWI.attrs = (yyvsp[(8) - (8)].ParamAttrs);
- Attrs.push_back(PAWI);
- }
- unsigned index = 1;
ParamList::iterator I = (yyvsp[(6) - (8)].ParamList)->begin(), E = (yyvsp[(6) - (8)].ParamList)->end();
- for (; I != E; ++I, ++index) {
+ for (; I != E; ++I) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- if (I->Attrs != ParamAttr::None) {
- ParamAttrsWithIndex PAWI; PAWI.index = index; PAWI.attrs = I->Attrs;
- Attrs.push_back(PAWI);
- }
}
-
- ParamAttrsList *PAL = 0;
- if (!Attrs.empty())
- PAL = ParamAttrsList::get(Attrs);
-
- Ty = FunctionType::get((yyvsp[(3) - (8)].TypeVal)->get(), ParamTypes, false, PAL);
+ Ty = FunctionType::get((yyvsp[(3) - (8)].TypeVal)->get(), ParamTypes, false);
PFTy = PointerType::get(Ty);
}
@@ -6079,6 +6050,14 @@ yyreduce:
theF->getName() + "'");
}
+ // Set up the ParamAttrs for the function
+ ParamAttrsVector Attrs;
+ if ((yyvsp[(8) - (8)].ParamAttrs) != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = 0;
+ PAWI.attrs = (yyvsp[(8) - (8)].ParamAttrs);
+ Attrs.push_back(PAWI);
+ }
// Check the arguments
ValueList Args;
if ((yyvsp[(6) - (8)].ParamList)->empty()) { // Has no arguments?
@@ -6088,17 +6067,23 @@ yyreduce:
"expects arguments");
} else { // Has arguments?
// Loop through FunctionType's arguments and ensure they are specified
- // correctly!
- //
+ // correctly. Also, gather any parameter attributes.
FunctionType::param_iterator I = Ty->param_begin();
FunctionType::param_iterator E = Ty->param_end();
ParamList::iterator ArgI = (yyvsp[(6) - (8)].ParamList)->begin(), ArgE = (yyvsp[(6) - (8)].ParamList)->end();
+ unsigned index = 1;
- for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
+ for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) {
if (ArgI->Val->getType() != *I)
GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" +
(*I)->getDescription() + "'");
Args.push_back(ArgI->Val);
+ if (ArgI->Attrs != ParamAttr::None) {
+ ParamAttrsWithIndex PAWI;
+ PAWI.index = index;
+ PAWI.attrs = ArgI->Attrs;
+ Attrs.push_back(PAWI);
+ }
}
if (Ty->isVarArg()) {
if (I == E)
@@ -6107,10 +6092,17 @@ yyreduce:
} else if (I != E || ArgI != ArgE)
GEN_ERROR("Invalid number of parameters detected");
}
+
+ // Finish off the ParamAttrs and check them
+ ParamAttrsList *PAL = 0;
+ if (!Attrs.empty())
+ PAL = ParamAttrsList::get(Attrs);
+
// Create the call node
CallInst *CI = new CallInst(V, Args.begin(), Args.end());
CI->setTailCall((yyvsp[(1) - (8)].BoolVal));
CI->setCallingConv((yyvsp[(2) - (8)].UIntVal));
+ CI->setParamAttrs(PAL);
(yyval.InstVal) = CI;
delete (yyvsp[(6) - (8)].ParamList);
delete (yyvsp[(3) - (8)].TypeVal);
@@ -6119,7 +6111,7 @@ yyreduce:
break;
case 304:
-#line 3015 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2994 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
CHECK_FOR_ERROR
@@ -6127,7 +6119,7 @@ yyreduce:
break;
case 305:
-#line 3020 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2999 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -6135,7 +6127,7 @@ yyreduce:
break;
case 306:
-#line 3024 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3003 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -6143,7 +6135,7 @@ yyreduce:
break;
case 307:
-#line 3031 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3010 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6154,7 +6146,7 @@ yyreduce:
break;
case 308:
-#line 3038 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3017 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6166,7 +6158,7 @@ yyreduce:
break;
case 309:
-#line 3046 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3025 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6177,7 +6169,7 @@ yyreduce:
break;
case 310:
-#line 3053 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3032 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6189,7 +6181,7 @@ yyreduce:
break;
case 311:
-#line 3061 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3040 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
GEN_ERROR("Trying to free nonpointer type " +
@@ -6200,7 +6192,7 @@ yyreduce:
break;
case 312:
-#line 3069 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3048 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -6218,7 +6210,7 @@ yyreduce:
break;
case 313:
-#line 3083 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3062 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription());
@@ -6239,7 +6231,7 @@ yyreduce:
break;
case 314:
-#line 3100 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3079 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
@@ -6259,7 +6251,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
-#line 6263 "llvmAsmParser.tab.c"
+#line 6255 "llvmAsmParser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6473,18 +6465,12 @@ yyreturn:
}
-#line 3117 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3096 "/home/duncan/LLVM/llvm.top/llvm/lib/AsmParser/llvmAsmParser.y"
// common code from the two 'RunVMAsmParser' functions
static Module* RunParser(Module * M) {
-
- llvmAsmlineno = 1; // Reset the current line number...
CurModule.CurrentModule = M;
-#if YYDEBUG
- yydebug = Debug;
-#endif
-
// Check to make sure the parser succeeded
if (yyparse()) {
if (ParserResult)
@@ -6536,21 +6522,21 @@ static Module* RunParser(Module * M) {
}
void llvm::GenerateError(const std::string &message, int LineNo) {
- if (LineNo == -1) LineNo = llvmAsmlineno;
+ if (LineNo == -1) LineNo = LLLgetLineNo();
// TODO: column number in exception
if (TheParseError)
- TheParseError->setError(CurFilename, message, LineNo);
+ TheParseError->setError(LLLgetFilename(), message, LineNo);
TriggerError = 1;
}
int yyerror(const char *ErrorMsg) {
- std::string where
- = std::string((CurFilename == "-") ? std::string("<stdin>") : CurFilename)
- + ":" + utostr((unsigned) llvmAsmlineno) + ": ";
+ std::string where = LLLgetFilename() + ":" + utostr(LLLgetLineNo()) + ": ";
std::string errMsg = where + "error: " + std::string(ErrorMsg);
- if (yychar != YYEMPTY && yychar != 0)
- errMsg += " while reading token: '" + std::string(llvmAsmtext, llvmAsmleng)+
- "'";
+ if (yychar != YYEMPTY && yychar != 0) {
+ errMsg += " while reading token: '";
+ errMsg += std::string(LLLgetTokenStart(),
+ LLLgetTokenStart()+LLLgetTokenLength()) + "'";
+ }
GenerateError(errMsg);
return 0;
}