aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp')
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp840
1 files changed, 444 insertions, 396 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp b/lib/AsmParser/llvmAsmParser.cpp
index f0a5767774..0fe46009c3 100644
--- a/lib/AsmParser/llvmAsmParser.cpp
+++ b/lib/AsmParser/llvmAsmParser.cpp
@@ -117,11 +117,13 @@ static struct PerModuleInfo {
static struct PerMethodInfo {
Method *CurrentMethod; // Pointer to current method being created
- vector<ValueList> Values; // Keep track of numbered definitions
+ vector<ValueList> Values; // Keep track of numbered definitions
vector<ValueList> LateResolveValues;
+ bool isDeclare; // Is this method a forward declararation?
inline PerMethodInfo() {
CurrentMethod = 0;
+ isDeclare = false;
}
inline ~PerMethodInfo() {}
@@ -137,6 +139,7 @@ static struct PerMethodInfo {
Values.clear(); // Clear out method local definitions
CurrentMethod = 0;
+ isDeclare = false;
}
} CurMeth; // Info for the current method...
@@ -437,7 +440,7 @@ Module *RunVMAsmParser(const ToolCommandLine &Opts, FILE *F) {
}
-#line 382 "llvmAsmParser.y"
+#line 385 "llvmAsmParser.y"
typedef union {
Module *ModuleVal;
Method *MethodVal;
@@ -480,11 +483,11 @@ typedef union {
-#define YYFINAL 265
+#define YYFINAL 269
#define YYFLAG -32768
#define YYNTBASE 69
-#define YYTRANSLATE(x) ((unsigned)(x) <= 312 ? yytranslate[x] : 108)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 312 ? yytranslate[x] : 110)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -529,14 +532,14 @@ static const short yyprhs[] = { 0,
60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
80, 82, 84, 86, 88, 90, 92, 95, 96, 99,
102, 105, 108, 111, 114, 117, 124, 130, 139, 147,
- 154, 159, 163, 165, 169, 170, 172, 175, 178, 180,
- 181, 184, 188, 190, 192, 193, 199, 203, 206, 208,
- 210, 212, 214, 216, 218, 220, 222, 224, 226, 231,
- 235, 239, 245, 249, 252, 255, 257, 261, 264, 267,
- 270, 274, 277, 278, 282, 285, 289, 299, 309, 316,
- 322, 325, 332, 340, 343, 348, 350, 351, 357, 361,
- 368, 374, 377, 384, 386, 389, 390, 393, 399, 402,
- 408, 412, 417, 425
+ 154, 159, 163, 165, 169, 170, 172, 175, 178, 181,
+ 183, 184, 187, 191, 193, 195, 196, 202, 206, 209,
+ 210, 214, 216, 218, 220, 222, 224, 226, 228, 230,
+ 232, 234, 239, 243, 247, 253, 257, 260, 263, 265,
+ 269, 272, 275, 278, 282, 285, 286, 290, 293, 297,
+ 307, 317, 324, 330, 333, 340, 348, 351, 356, 358,
+ 359, 365, 369, 376, 382, 385, 392, 394, 397, 398,
+ 401, 407, 410, 416, 420, 425, 433
};
static const short yyrhs[] = { 5,
@@ -554,55 +557,56 @@ static const short yyrhs[] = { 5,
20, 25, 0, 21, 71, 0, 60, 71, 61, 60,
82, 61, 0, 60, 71, 61, 60, 61, 0, 60,
4, 62, 71, 61, 60, 82, 61, 0, 60, 4,
- 62, 71, 61, 60, 61, 0, 63, 95, 64, 63,
+ 62, 71, 61, 60, 61, 0, 63, 97, 64, 63,
82, 64, 0, 63, 64, 63, 64, 0, 82, 65,
81, 0, 81, 0, 83, 80, 81, 0, 0, 85,
- 0, 85, 92, 0, 83, 26, 0, 23, 0, 0,
- 71, 86, 0, 87, 65, 88, 0, 87, 0, 88,
- 0, 0, 72, 25, 66, 89, 67, 0, 90, 83,
- 29, 0, 96, 30, 0, 3, 0, 4, 0, 7,
- 0, 27, 0, 28, 0, 25, 0, 69, 0, 23,
- 0, 93, 0, 94, 0, 72, 66, 95, 67, 0,
- 72, 66, 67, 0, 60, 71, 61, 0, 60, 4,
- 62, 71, 61, 0, 63, 95, 64, 0, 63, 64,
- 0, 71, 68, 0, 71, 0, 95, 65, 71, 0,
- 96, 97, 0, 91, 97, 0, 98, 99, 0, 24,
- 98, 99, 0, 98, 101, 0, 0, 33, 71, 94,
- 0, 33, 8, 0, 34, 22, 94, 0, 34, 9,
- 94, 65, 22, 94, 65, 22, 94, 0, 35, 78,
- 94, 65, 22, 94, 60, 100, 61, 0, 100, 78,
- 93, 65, 22, 94, 0, 78, 93, 65, 22, 94,
- 0, 80, 105, 0, 71, 60, 94, 65, 94, 61,
- 0, 102, 65, 60, 94, 65, 94, 61, 0, 71,
- 94, 0, 103, 65, 71, 94, 0, 103, 0, 0,
- 74, 71, 94, 65, 94, 0, 73, 71, 94, 0,
- 75, 71, 94, 65, 71, 94, 0, 56, 71, 94,
- 32, 71, 0, 54, 102, 0, 55, 71, 94, 66,
- 104, 67, 0, 107, 0, 65, 82, 0, 0, 48,
- 71, 0, 48, 71, 65, 15, 94, 0, 49, 71,
- 0, 49, 71, 65, 15, 94, 0, 50, 71, 94,
- 0, 51, 71, 94, 106, 0, 52, 71, 94, 65,
- 71, 94, 106, 0, 53, 71, 94, 106, 0
+ 0, 85, 92, 0, 85, 93, 0, 83, 26, 0,
+ 23, 0, 0, 71, 86, 0, 87, 65, 88, 0,
+ 87, 0, 88, 0, 0, 72, 25, 66, 89, 67,
+ 0, 90, 83, 29, 0, 98, 30, 0, 0, 31,
+ 94, 90, 0, 3, 0, 4, 0, 7, 0, 27,
+ 0, 28, 0, 25, 0, 69, 0, 23, 0, 95,
+ 0, 96, 0, 72, 66, 97, 67, 0, 72, 66,
+ 67, 0, 60, 71, 61, 0, 60, 4, 62, 71,
+ 61, 0, 63, 97, 64, 0, 63, 64, 0, 71,
+ 68, 0, 71, 0, 97, 65, 71, 0, 98, 99,
+ 0, 91, 99, 0, 100, 101, 0, 24, 100, 101,
+ 0, 100, 103, 0, 0, 33, 71, 96, 0, 33,
+ 8, 0, 34, 22, 96, 0, 34, 9, 96, 65,
+ 22, 96, 65, 22, 96, 0, 35, 78, 96, 65,
+ 22, 96, 60, 102, 61, 0, 102, 78, 95, 65,
+ 22, 96, 0, 78, 95, 65, 22, 96, 0, 80,
+ 107, 0, 71, 60, 96, 65, 96, 61, 0, 104,
+ 65, 60, 96, 65, 96, 61, 0, 71, 96, 0,
+ 105, 65, 71, 96, 0, 105, 0, 0, 74, 71,
+ 96, 65, 96, 0, 73, 71, 96, 0, 75, 71,
+ 96, 65, 71, 96, 0, 56, 71, 96, 32, 71,
+ 0, 54, 104, 0, 55, 71, 96, 66, 106, 67,
+ 0, 109, 0, 65, 82, 0, 0, 48, 71, 0,
+ 48, 71, 65, 15, 96, 0, 49, 71, 0, 49,
+ 71, 65, 15, 96, 0, 50, 71, 96, 0, 51,
+ 71, 96, 108, 0, 52, 71, 96, 65, 71, 96,
+ 108, 0, 53, 71, 96, 108, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 481, 482, 489, 490, 501, 501, 501, 501, 501, 501,
- 501, 502, 502, 502, 502, 502, 502, 502, 505, 505,
- 510, 511, 511, 511, 511, 511, 512, 512, 512, 512,
- 512, 512, 513, 513, 517, 517, 517, 517, 518, 518,
- 518, 518, 519, 519, 520, 520, 523, 526, 533, 538,
- 543, 546, 549, 552, 558, 561, 574, 578, 596, 603,
- 611, 625, 628, 638, 655, 666, 673, 678, 687, 687,
- 689, 697, 701, 706, 709, 713, 740, 744, 753, 756,
- 759, 762, 765, 768, 773, 776, 779, 786, 794, 799,
- 803, 806, 809, 814, 817, 822, 826, 831, 835, 844,
- 849, 858, 862, 866, 869, 872, 875, 880, 891, 899,
- 909, 917, 922, 929, 933, 939, 939, 941, 946, 951,
- 955, 958, 969, 1006, 1011, 1013, 1017, 1020, 1027, 1030,
- 1038, 1044, 1053, 1065
+ 484, 485, 492, 493, 504, 504, 504, 504, 504, 504,
+ 504, 505, 505, 505, 505, 505, 505, 505, 508, 508,
+ 513, 514, 514, 514, 514, 514, 515, 515, 515, 515,
+ 515, 515, 516, 516, 520, 520, 520, 520, 521, 521,
+ 521, 521, 522, 522, 523, 523, 526, 529, 536, 541,
+ 546, 549, 552, 555, 561, 564, 577, 581, 599, 606,
+ 614, 628, 631, 641, 658, 669, 676, 682, 688, 697,
+ 697, 699, 707, 711, 716, 719, 723, 764, 768, 772,
+ 772, 780, 783, 786, 789, 792, 795, 800, 803, 806,
+ 813, 821, 826, 830, 833, 836, 841, 844, 849, 853,
+ 858, 862, 871, 876, 885, 889, 893, 896, 899, 902,
+ 907, 918, 926, 936, 944, 949, 956, 960, 966, 966,
+ 968, 973, 978, 982, 985, 996, 1033, 1038, 1040, 1044,
+ 1047, 1054, 1057, 1065, 1071, 1080, 1092
};
#endif
@@ -619,10 +623,10 @@ static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL"
"'{'","'}'","','","'('","')'","'*'","INTVAL","EINT64VAL","Types","TypesV","UnaryOps",
"BinaryOps","ShiftOps","SIntType","UIntType","IntType","FPType","OptAssign",
"ConstVal","ConstVector","ConstPool","Module","MethodList","OptVAR_ID","ArgVal",
-"ArgListH","ArgList","MethodHeaderH","MethodHeader","Method","ConstValueRef",
-"ValueRef","TypeList","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst",
-"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","InstVal","UByteList",
-"MemoryInst", NULL
+"ArgListH","ArgList","MethodHeaderH","MethodHeader","Method","MethodProto","@1",
+"ConstValueRef","ValueRef","TypeList","BasicBlockList","BasicBlock","InstructionList",
+"BBTerminatorInst","JumpTable","Inst","PHIList","ValueRefList","ValueRefListE",
+"InstVal","UByteList","MemoryInst", NULL
};
#endif
@@ -633,14 +637,14 @@ static const short yyr1[] = { 0,
74, 74, 75, 75, 76, 76, 76, 76, 77, 77,
77, 77, 78, 78, 79, 79, 80, 80, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 82, 82, 83, 83, 84, 85, 85, 86, 86,
- 87, 88, 88, 89, 89, 90, 91, 92, 93, 93,
- 93, 93, 93, 93, 94, 94, 94, 71, 71, 71,
- 71, 71, 71, 71, 71, 95, 95, 96, 96, 97,
- 97, 98, 98, 99, 99, 99, 99, 99, 100, 100,
- 101, 102, 102, 103, 103, 104, 104, 105, 105, 105,
- 105, 105, 105, 105, 106, 106, 107, 107, 107, 107,
- 107, 107, 107, 107
+ 81, 82, 82, 83, 83, 84, 85, 85, 85, 86,
+ 86, 87, 88, 88, 89, 89, 90, 91, 92, 94,
+ 93, 95, 95, 95, 95, 95, 95, 96, 96, 96,
+ 71, 71, 71, 71, 71, 71, 71, 71, 97, 97,
+ 98, 98, 99, 99, 100, 100, 101, 101, 101, 101,
+ 101, 102, 102, 103, 104, 104, 105, 105, 106, 106,
+ 107, 107, 107, 107, 107, 107, 107, 108, 108, 109,
+ 109, 109, 109, 109, 109, 109, 109
};
static const short yyr2[] = { 0,
@@ -650,212 +654,222 @@ static const short yyr2[] = { 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 0, 2, 2,
2, 2, 2, 2, 2, 6, 5, 8, 7, 6,
- 4, 3, 1, 3, 0, 1, 2, 2, 1, 0,
- 2, 3, 1, 1, 0, 5, 3, 2, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 4, 3,
- 3, 5, 3, 2, 2, 1, 3, 2, 2, 2,
- 3, 2, 0, 3, 2, 3, 9, 9, 6, 5,
- 2, 6, 7, 2, 4, 1, 0, 5, 3, 6,
- 5, 2, 6, 1, 2, 0, 2, 5, 2, 5,
- 3, 4, 7, 4
+ 4, 3, 1, 3, 0, 1, 2, 2, 2, 1,
+ 0, 2, 3, 1, 1, 0, 5, 3, 2, 0,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 4, 3, 3, 5, 3, 2, 2, 1, 3,
+ 2, 2, 2, 3, 2, 0, 3, 2, 3, 9,
+ 9, 6, 5, 2, 6, 7, 2, 4, 1, 0,
+ 5, 3, 6, 5, 2, 6, 1, 2, 0, 2,
+ 5, 2, 5, 3, 4, 7, 4
};
static const short yydefact[] = { 65,
- 48, 66, 0, 68, 0, 79, 80, 1, 2, 81,
+ 48, 66, 0, 69, 0, 82, 83, 1, 2, 84,
20, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 86, 84, 82, 83, 0,
- 0, 85, 19, 0, 65, 103, 67, 87, 88, 103,
- 47, 0, 38, 42, 37, 41, 36, 40, 35, 39,
- 45, 46, 0, 0, 0, 0, 0, 0, 0, 64,
- 80, 19, 0, 94, 96, 0, 95, 0, 0, 48,
- 103, 99, 48, 78, 98, 51, 52, 54, 55, 80,
- 19, 0, 0, 3, 4, 49, 50, 53, 0, 91,
- 93, 0, 75, 90, 0, 77, 48, 0, 0, 0,
- 0, 100, 102, 0, 0, 0, 0, 19, 97, 70,
- 73, 74, 0, 89, 101, 105, 19, 0, 0, 43,
- 44, 0, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 34, 0, 0, 0, 111, 124,
- 19, 0, 61, 0, 92, 69, 71, 0, 76, 104,
- 0, 106, 0, 127, 129, 19, 19, 19, 19, 19,
- 122, 19, 19, 19, 19, 19, 0, 57, 63, 0,
- 0, 72, 0, 0, 0, 0, 131, 126, 0, 126,
- 0, 0, 0, 0, 119, 0, 0, 0, 56, 0,
- 60, 0, 0, 0, 0, 0, 132, 0, 134, 0,
- 0, 117, 0, 0, 0, 59, 0, 62, 0, 0,
- 128, 130, 125, 19, 0, 0, 19, 116, 0, 121,
- 118, 19, 58, 0, 0, 126, 0, 0, 114, 0,
- 123, 120, 0, 0, 0, 133, 112, 0, 19, 107,
- 0, 108, 0, 113, 115, 0, 0, 0, 0, 110,
- 0, 109, 0, 0, 0
+ 14, 15, 16, 17, 18, 89, 87, 85, 86, 80,
+ 0, 0, 88, 19, 0, 65, 106, 67, 68, 90,
+ 91, 106, 47, 0, 38, 42, 37, 41, 36, 40,
+ 35, 39, 45, 46, 0, 0, 0, 0, 0, 0,
+ 0, 64, 0, 83, 19, 0, 97, 99, 0, 98,
+ 0, 0, 48, 106, 102, 48, 79, 101, 51, 52,
+ 54, 55, 83, 19, 0, 0, 3, 4, 49, 50,
+ 53, 81, 0, 94, 96, 0, 76, 93, 0, 78,
+ 48, 0, 0, 0, 0, 103, 105, 0, 0, 0,
+ 0, 19, 100, 71, 74, 75, 0, 92, 104, 108,
+ 19, 0, 0, 43, 44, 0, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 33, 34, 0,
+ 0, 0, 114, 127, 19, 0, 61, 0, 95, 70,
+ 72, 0, 77, 107, 0, 109, 0, 130, 132, 19,
+ 19, 19, 19, 19, 125, 19, 19, 19, 19, 19,
+ 0, 57, 63, 0, 0, 73, 0, 0, 0, 0,
+ 134, 129, 0, 129, 0, 0, 0, 0, 122, 0,
+ 0, 0, 56, 0, 60, 0, 0, 0, 0, 0,
+ 135, 0, 137, 0, 0, 120, 0, 0, 0, 59,
+ 0, 62, 0, 0, 131, 133, 128, 19, 0, 0,
+ 19, 119, 0, 124, 121, 19, 58, 0, 0, 129,
+ 0, 0, 117, 0, 126, 123, 0, 0, 0, 136,
+ 115, 0, 19, 110, 0, 111, 0, 116, 118, 0,
+ 0, 0, 0, 113, 0, 112, 0, 0, 0
};
-static const short yydefgoto[] = { 32,
- 86, 65, 63, 146, 147, 148, 57, 58, 122, 59,
- 5, 179, 180, 1, 263, 2, 157, 111, 112, 113,
- 35, 36, 37, 38, 39, 66, 40, 72, 73, 102,
- 245, 103, 171, 228, 229, 149, 207, 150
+static const short yydefgoto[] = { 33,
+ 89, 68, 66, 150, 151, 152, 59, 60, 126, 61,
+ 5, 183, 184, 1, 267, 2, 161, 115, 116, 117,
+ 36, 37, 38, 39, 63, 40, 41, 69, 42, 75,
+ 76, 106, 249, 107, 175, 232, 233, 153, 211, 154
};
static const short yypact[] = {-32768,
- 181, 350, -36,-32768, 94,-32768,-32768,-32768,-32768,-32768,
+ 2, 354, -36,-32768, 557,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 411,
- 262,-32768, 14, 29,-32768, 42,-32768,-32768,-32768, 70,
--32768, 141,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768, 73, 350, 437, 324, 205, 146, 178,-32768,
- 133, 24, 136,-32768, 50, 155,-32768, 162, 236, 169,
--32768,-32768, 156,-32768,-32768,-32768,-32768,-32768, 50, 164,
- 58, 149, 157,-32768,-32768,-32768,-32768,-32768, 350,-32768,
--32768, 350, 350,-32768, 84,-32768, 156, 498, 48, 161,
- 491,-32768,-32768, 350, 163, 165, 167, 59, 50, 33,
- 166,-32768, 168,-32768,-32768, 170, -1, 159, 159,-32768,
--32768, 159,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 350, 350, 350, 350, 350, 350,
- 350, 350, 350,-32768,-32768, 350, 350, 350,-32768,-32768,
- 87, 0,-32768, 94,-32768,-32768,-32768, 350,-32768,-32768,
- 172,-32768, 195, 135, 150, -1, -1, -1, -1, 16,
- 197, -1, -1, -1, -1, -1, 173,-32768,-32768, 56,
- 160,-32768, 210, 212, 271, 273,-32768, 226, 227, 226,
- 159, 233, 228, 263,-32768, 232, 235, 20,-32768, 94,
--32768, 159, 159, 159, 159, 94,-32768, 350,-32768, 237,
- 159, 350, 350, 159, 350,-32768, 132,-32768, 239, 238,
--32768,-32768, 240, -1, 159, 241, -1, 242, 234, 50,
--32768, -1,-32768, 286, 161, 226, 248, 159,-32768, 350,
--32768,-32768, 159, 61, 32,-32768,-32768, 249, -1,-32768,
- 246,-32768, 61,-32768,-32768, 290, 250, 159, 291,-32768,
- 159,-32768, 314, 316,-32768
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 415, 266,-32768, -9, -16,-32768, 66,-32768,-32768,-32768,
+-32768, 46,-32768, 145,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 68, 441, 502, 328, 191, 119,
+ 124,-32768, 441, 92, -3, 117,-32768, 37, 132,-32768,
+ 133, 240, 101,-32768,-32768, 64,-32768,-32768,-32768,-32768,
+-32768, 37, 144, 13, 148, 137,-32768,-32768,-32768,-32768,
+-32768,-32768, 441,-32768,-32768, 441, 441,-32768, 55,-32768,
+ 64, 528, 40, 165, 556,-32768,-32768, 441, 147, 149,
+ 153, 24, 37, 7, 143,-32768, 152,-32768,-32768, 146,
+ -1, 163, 163,-32768,-32768, 163,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441,-32768,-32768, 441,
+ 441, 441,-32768,-32768, 28, 23,-32768, 557,-32768,-32768,
+-32768, 441,-32768,-32768, 155,-32768, 157, 36, 87, -1,
+ -1, -1, -1, 20, 158, -1, -1, -1, -1, -1,
+ 164,-32768,-32768, 60, 140,-32768, 203, 204, 212, 213,
+-32768, 166, 167, 166, 163, 169, 168, 198,-32768, 170,
+ 171, 98,-32768, 557,-32768, 163, 163, 163, 163, 557,
+-32768, 441,-32768, 172, 163, 441, 441, 163, 441,-32768,
+ 128,-32768, 173, 179,-32768,-32768, 175, -1, 163, 176,
+ -1, 199, 223, 37,-32768, -1,-32768, 211, 165, 166,
+ 205, 163,-32768, 441,-32768,-32768, 163, 44, 3,-32768,
+-32768, 231, -1,-32768, 230,-32768, 44,-32768,-32768, 274,
+ 232, 163, 276,-32768, 163,-32768, 299, 301,-32768
};
static const short yypgoto[] = {-32768,
--32768, -2, 225,-32768,-32768,-32768, -93, -92, -173,-32768,
- -18, -4, -129, 282,-32768,-32768,-32768,-32768, 190,-32768,
--32768,-32768,-32768, -194, -44, 2,-32768, 278, 252, 222,
--32768,-32768,-32768,-32768,-32768,-32768, -139,-32768
+-32768, -2, 5,-32768,-32768,-32768, -93, -92, -186,-32768,
+ -55, -4, -150, 268,-32768,-32768,-32768,-32768, 150,-32768,
+ 239,-32768,-32768,-32768,-32768, -191, -44, -27,-32768, 263,
+ 234, 208,-32768,-32768,-32768,-32768,-32768,-32768, -184,-32768
};
-#define YYLAST 561
-
-
-static const short yytable[] = { 33,
- 60, 6, 7, 8, 9, 10, 120, 121, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 26, 41, 27, 181, 28, 29, 62, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 43, 44, 45, 46, 47, 48, 49, 50, 251,
- 209, 79, 81, 68, 101, 156, 118, 83, 257, 55,
- 178, 244, 56, 6, 7, 71, 67, 10, 217, 119,
- 95, 253, 160, 161, 162, 191, 223, 163, 101, 55,
- 216, 67, 56, 67, 90, 27, 108, 28, 29, 109,
- 110, 67, 252, 71, 69, 117, 246, 78, -19, 74,
- 67, 151, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, -19, 199, 67, 105, 155,
- 200, 187, 188, 189, 190, 67, 67, 193, 194, 195,
- 196, 197, 164, 165, 166, 167, 168, 169, 170, 172,
- 173, 120, 121, 174, 175, 176, 210, 177, 92, 87,
- 114, 120, 121, 55, 67, 110, 56, 219, 220, 221,
- 222, 6, 7, 8, 9, 10, 226, 76, 77, 231,
- 43, 44, 45, 46, 47, 48, 49, 50, 3, 236,
- 237, 26, 239, 27, 88, 28, 29, 242, 98, 99,
- 100, 3, 233, 248, 89, 218, 200, 96, 250, 185,
- -19, 69, 67, 3, 255, 224, 4, 84, 85, 227,
- 230, 106, 232, 260, 186, -19, 262, 67, 91, 92,
- 107, 92, 152, 201, 200, 104, 34, 93, 153, 154,
- 158, 202, 198, 203, 159, -20, 183, 249, 6, 7,
+#define YYLAST 620
+
+
+static const short yytable[] = { 34,
+ 62, 6, 7, 8, 9, 10, 35, 185, 71, 213,
+ 124, 125, 45, 46, 47, 48, 49, 50, 51, 52,
+ 105, 26, 43, 27, 3, 28, 29, 4, 65, 160,
+ 86, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 99, 105, 6, 7, 122, 72,
+ 10, 221, 248, 82, 84, 250, 255, 94, 70, 227,
+ 34, 123, 257, 256, 70, 261, 70, 35, 27, 74,
+ 28, 29, -19, 109, 70, 77, 164, 165, 166, 195,
+ 70, 167, 57, 182, 159, 58, 3, 70, 181, 74,
+ 112, 70, 81, 113, 114, 70, 102, 103, 104, 121,
+ 189, -19, -19, 70, 70, 155, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 96,
+ 203, 118, 90, 3, 204, 191, 192, 193, 194, 100,
+ 91, 197, 198, 199, 200, 201, 168, 169, 170, 171,
+ 172, 173, 174, 176, 177, 124, 125, 178, 179, 180,
+ 214, 190, -19, 93, 70, 124, 125, 57, 220, 114,
+ 58, 223, 224, 225, 226, 6, 7, 8, 9, 10,
+ 230, 79, 80, 235, 45, 46, 47, 48, 49, 50,
+ 51, 52, 72, 240, 241, 26, 243, 27, 237, 28,
+ 29, 246, 204, 87, 88, 95, 96, 252, 97, 222,
+ 111, 96, 254, 205, 204, 108, 156, 162, 259, 228,
+ 110, -20, 157, 231, 234, 158, 236, 264, 163, 187,
+ 266, 188, 196, 202, 206, 207, 208, 209, 215, 217,
+ 210, 212, 247, 216, 218, 219, 229, 238, 239, 204,
+ 242, 253, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 244, 27, 251, 28, 29, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 184,
- 27, 192, 28, 29, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 204, 27, 205, 28, 29,
- 206, 208, 211, 212, 213, 30, 214, 235, 31, 215,
- 241, 225, 94, 234, 200, 238, 240, 243, 247, 254,
- 256, 258, 261, 264, 259, 265, 70, 75, 115, 0,
- 0, 30, 97, 0, 31, 64, 6, 7, 8, 9,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 245,
+ 27, 258, 28, 29, 260, 262, 263, 265, 268, 31,
+ 269, 92, 32, 73, 78, 0, 98, 101, 119, 0,
+ 0, 186, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 31, 0, 0, 32, 67,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 0, 27, 0, 28, 29, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 182, 27, 0,
- 28, 29, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 0, 27, 0, 28, 29, 0, 0,
- 0, 0, 0, 30, 0, 0, 31, 82, 0, 0,
+ 20, 21, 22, 23, 24, 25, 26, 0, 27, 0,
+ 28, 29, 0, 0, 30, 0, 0, 31, 0, 0,
+ 32, 85, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
- 0, 0, 31, 6, 61, 8, 9, 10, 11, 12,
+ 0, 0, 0, 31, 0, 0, 32, 6, 64, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
+ 0, 28, 29, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 0, 27, 0, 28, 29, 6,
- 80, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 0, 27, 0, 28, 29, 0, 0, 0, 0, 0,
- 30, 0, 0, 31, 0, 0, 0, 0, 0, 0,
+ 23, 24, 25, 26, 0, 27, 0, 28, 29, 0,
+ 0, 0, 0, 0, 31, 0, 0, 32, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 30, 0, 0, 31,
- 6, 7, 8, 9, 10, 116, 12, 13, 14, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 31, 0, 0, 32, 6, 83, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 0, 27, 0, 28, 29,
+ 6, 7, 8, 9, 10, 120, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 0, 27, 0, 28, 29, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 0,
- 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
- 31
+ 26, 0, 27, 0, 28, 29, 0, 0, 0, 0,
+ 0, 31, 0, 0, 32, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
+ 32, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 0, 0, 57, 0, 0, 58
};
static const short yycheck[] = { 2,
- 5, 3, 4, 5, 6, 7, 100, 100, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 23, 59, 25, 154, 27, 28, 30, 9, 10,
+ 5, 3, 4, 5, 6, 7, 2, 158, 25, 194,
+ 104, 104, 10, 11, 12, 13, 14, 15, 16, 17,
+ 76, 23, 59, 25, 23, 27, 28, 26, 31, 23,
+ 58, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 72, 101, 3, 4, 9, 66,
+ 7, 202, 239, 56, 57, 240, 248, 61, 68, 210,
+ 63, 22, 249, 61, 68, 257, 68, 63, 25, 24,
+ 27, 28, 66, 61, 68, 30, 121, 122, 123, 60,
+ 68, 126, 60, 61, 61, 63, 23, 68, 61, 24,
+ 93, 68, 25, 96, 97, 68, 33, 34, 35, 102,
+ 65, 66, 66, 68, 68, 108, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 65,
+ 61, 67, 4, 23, 65, 170, 171, 172, 173, 29,
+ 7, 176, 177, 178, 179, 180, 139, 140, 141, 142,
+ 143, 144, 145, 146, 147, 239, 239, 150, 151, 152,
+ 195, 65, 66, 62, 68, 249, 249, 60, 61, 162,
+ 63, 206, 207, 208, 209, 3, 4, 5, 6, 7,
+ 215, 27, 28, 218, 10, 11, 12, 13, 14, 15,
+ 16, 17, 66, 228, 229, 23, 231, 25, 61, 27,
+ 28, 236, 65, 3, 4, 64, 65, 242, 66, 204,
+ 64, 65, 247, 64, 65, 62, 60, 65, 253, 212,
+ 63, 66, 64, 216, 217, 63, 219, 262, 67, 65,
+ 265, 65, 65, 60, 22, 22, 15, 15, 60, 32,
+ 65, 65, 22, 66, 65, 65, 65, 65, 60, 65,
+ 65, 244, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 10, 11, 12, 13, 14, 15, 16, 17, 244,
- 190, 54, 55, 25, 73, 23, 9, 56, 253, 60,
- 61, 235, 63, 3, 4, 24, 68, 7, 198, 22,
- 69, 245, 117, 118, 119, 60, 206, 122, 97, 60,
- 61, 68, 63, 68, 61, 25, 89, 27, 28, 92,
- 93, 68, 61, 24, 66, 98, 236, 25, 66, 30,
- 68, 104, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 66, 61, 68, 61, 61,
- 65, 166, 167, 168, 169, 68, 68, 172, 173, 174,
- 175, 176, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 235, 235, 146, 147, 148, 191, 61, 65, 4,
- 67, 245, 245, 60, 68, 158, 63, 202, 203, 204,
- 205, 3, 4, 5, 6, 7, 211, 27, 28, 214,
- 10, 11, 12, 13, 14, 15, 16, 17, 23, 224,
- 225, 23, 227, 25, 7, 27, 28, 232, 33, 34,
- 35, 23, 61, 238, 62, 200, 65, 29, 243, 65,
- 66, 66, 68, 23, 249, 208, 26, 3, 4, 212,
- 213, 63, 215, 258, 65, 66, 261, 68, 64, 65,
- 64, 65, 60, 64, 65, 62, 2, 66, 64, 63,
- 65, 22, 60, 22, 67, 66, 65, 240, 3, 4,
+ 21, 22, 23, 65, 25, 61, 27, 28, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 65,
- 25, 65, 27, 28, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 15, 25, 15, 27, 28,
- 65, 65, 60, 66, 32, 60, 65, 60, 63, 65,
- 67, 65, 67, 65, 65, 65, 65, 22, 61, 61,
- 65, 22, 22, 0, 65, 0, 35, 40, 97, -1,
- -1, 60, 71, -1, 63, 64, 3, 4, 5, 6,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 67,
+ 25, 61, 27, 28, 65, 22, 65, 22, 0, 60,
+ 0, 63, 63, 36, 42, -1, 67, 74, 101, -1,
+ -1, 162, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 60, -1, -1, 63, 64,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, -1, 25, -1, 27, 28, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 158, 25, -1,
- 27, 28, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, -1, 25, -1, 27, 28, -1, -1,
- -1, -1, -1, 60, -1, -1, 63, 64, -1, -1,
+ 17, 18, 19, 20, 21, 22, 23, -1, 25, -1,
+ 27, 28, -1, -1, 31, -1, -1, 60, -1, -1,
+ 63, 64, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
- -1, -1, 63, 3, 4, 5, 6, 7, 8, 9,
+ -1, -1, -1, 60, -1, -1, 63, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, -1, 25,
+ -1, 27, 28, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, -1, 25, -1, 27, 28, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- -1, 25, -1, 27, 28, -1, -1, -1, -1, -1,
- 60, -1, -1, 63, -1, -1, -1, -1, -1, -1,
+ 20, 21, 22, 23, -1, 25, -1, 27, 28, -1,
+ -1, -1, -1, -1, 60, -1, -1, 63, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 60, -1, -1, 63,
+ 60, -1, -1, 63, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, -1, 25, -1, 27, 28,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, -1, 25, -1, 27, 28, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
+ 23, -1, 25, -1, 27, 28, -1, -1, -1, -1,
+ -1, 60, -1, -1, 63, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 60, -1, -1,
- 63
+ 63, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, -1, -1, 60, -1, -1, 63
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/dcs/software/supported/encap/bison-1.28/share/bison.simple"
@@ -1401,7 +1415,7 @@ yyreduce:
switch (yyn) {
case 2:
-#line 482 "llvmAsmParser.y"
+#line 485 "llvmAsmParser.y"
{
if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX) // Outside of my range!
ThrowException("Value too large for type!");
@@ -1409,7 +1423,7 @@ case 2:
;
break;}
case 4:
-#line 490 "llvmAsmParser.y"
+#line 493 "llvmAsmParser.y"
{
if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX) // Outside of my range!
ThrowException("Value too large for type!");
@@ -1417,19 +1431,19 @@ case 4:
;
break;}
case 47:
-#line 523 "llvmAsmParser.y"
+#line 526 "llvmAsmParser.y"
{
yyval.StrVal = yyvsp[-1].StrVal;
;
break;}
case 48:
-#line 526 "llvmAsmParser.y"
+#line 529 "llvmAsmParser.y"
{
yyval.StrVal = 0;
;
break;}
case 49:
-#line 533 "llvmAsmParser.y"
+#line 536 "llvmAsmParser.y"
{ // integral constants
if (!ConstPoolSInt::isValueValidForType(yyvsp[-1].TypeVal, yyvsp[0].SInt64Val))
ThrowException("Constant value doesn't fit in type!");
@@ -1437,7 +1451,7 @@ case 49:
;
break;}
case 50:
-#line 538 "llvmAsmParser.y"
+#line 541 "llvmAsmParser.y"
{ // integral constants
if (!ConstPoolUInt::isValueValidForType(yyvsp[-1].TypeVal, yyvsp[0].UInt64Val))
ThrowException("Constant value doesn't fit in type!");
@@ -1445,25 +1459,25 @@ case 50:
;
break;}
case 51:
-#line 543 "llvmAsmParser.y"
+#line 546 "llvmAsmParser.y"
{ // Boolean constants
yyval.ConstVal = new ConstPoolBool(true);
;
break;}
case 52:
-#line 546 "llvmAsmParser.y"
+#line 549 "llvmAsmParser.y"
{ // Boolean constants
yyval.ConstVal = new ConstPoolBool(false);
;
break;}
case 53:
-#line 549 "llvmAsmParser.y"
+#line 552 "llvmAsmParser.y"
{ // Float & Double constants
yyval.ConstVal = new ConstPoolFP(yyvsp[-1].TypeVal, yyvsp[0].FPVal);
;
break;}
case 54:
-#line 552 "llvmAsmParser.y"
+#line 555 "llvmAsmParser.y"
{ // String constants
cerr << "FIXME: TODO: String constants [sbyte] not implemented yet!\n";
abort();
@@ -1472,13 +1486,13 @@ case 54:
;
break;}
case 55:
-#line 558 "llvmAsmParser.y"
+#line 561 "llvmAsmParser.y"
{ // Type constants
yyval.ConstVal = new ConstPoolType(yyvsp[0].TypeVal);
;
break;}
case 56:
-#line 561 "llvmAsmParser.y"
+#line 564 "llvmAsmParser.y"
{ // Nonempty array constant
// Verify all elements are correct type!
const ArrayType *AT = ArrayType::getArrayType(yyvsp[-4].TypeVal);
@@ -1494,14 +1508,14 @@ case 56:
;
break;}
case 57:
-#line 574 "llvmAsmParser.y"
+#line 577 "llvmAsmParser.y"
{ // Empty array constant
vector<ConstPoolVal*> Empty;
yyval.ConstVal = new ConstPoolArray(ArrayType::getArrayType(yyvsp[-3].TypeVal), Empty);
;
break;}
case 58:
-#line 578 "llvmAsmParser.y"
+#line 581 "llvmAsmParser.y"
{
// Verify all elements are correct type!
const ArrayType *AT = ArrayType::getArrayType(yyvsp[-4].TypeVal, (int)yyvsp[-6].UInt64Val);
@@ -1522,7 +1536,7 @@ case 58:
;
break;}
case 59:
-#line 596 "llvmAsmParser.y"
+#line 599 "llvmAsmParser.y"
{
if (yyvsp[-5].UInt64Val != 0)
ThrowException("Type mismatch: constant sized array initialized with 0"
@@ -1532,7 +1546,7 @@ case 59:
;
break;}
case 60:
-#line 603 "llvmAsmParser.y"
+#line 606 "llvmAsmParser.y"
{
StructType::ElementTypes Types(yyvsp[-4].TypeList->begin(), yyvsp[-4].TypeList->end());
delete yyvsp[-4].TypeList;
@@ -1543,7 +1557,7 @@ case 60:
;
break;}
case 61:
-#line 611 "llvmAsmParser.y"
+#line 614 "llvmAsmParser.y"
{
const StructType *St =
StructType::getStructType(StructType::ElementTypes());
@@ -1552,20 +1566,20 @@ case 61:
;
break;}
case 62:
-#line 625 "llvmAsmParser.y"
+#line 628 "llvmAsmParser.y"
{
(yyval.Cons