diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html index f095e36312d..405c57b3458 100644 --- a/docs/CodeGenerator.html +++ b/docs/CodeGenerator.html @@ -1636,11 +1636,31 @@ that people test.

  • i386-unknown-freebsd5.3 - FreeBSD 5.3
  • i686-pc-cygwin - Cygwin on Win32
  • i686-pc-mingw32 - MingW on Win32
  • +
  • i386-pc-mingw32msvc - MingW crosscompiler on Linux
  • i686-apple-darwin* - Apple Darwin on X86
  • + +
    + X86 Calling Conventions supported +
    + + +
    + +

    The folowing target-specific calling conventions are known to backend:

    + + + +
    +
    Representing X86 addressing modes in MachineInstrs diff --git a/include/llvm/CallingConv.h b/include/llvm/CallingConv.h index 2e3cceeb466..e6ffd281e68 100644 --- a/include/llvm/CallingConv.h +++ b/include/llvm/CallingConv.h @@ -24,10 +24,10 @@ namespace CallingConv { /// calling conventions. /// @brief LLVM Calling Convention Representation enum ID { - // C - The default llvm calling convention, compatible with C. This - // convention is the only calling convention that supports varargs calls. - // As with typical C calling conventions, the callee/caller have to tolerate - // certain amounts of prototype mismatch. + /// C - The default llvm calling convention, compatible with C. This + /// convention is the only calling convention that supports varargs calls. + /// As with typical C calling conventions, the callee/caller have to tolerate + /// certain amounts of prototype mismatch. C = 0, /// CSRet - C Struct Return calling convention. This convention requires @@ -42,8 +42,8 @@ namespace CallingConv { // support varargs calls, and all assume that the caller and callee // prototype exactly match. - // Fast - This calling convention attempts to make calls as fast as possible - // (e.g. by passing things in registers). + /// Fast - This calling convention attempts to make calls as fast as possible + /// (e.g. by passing things in registers). Fast = 8, // Cold - This calling convention attempts to make code in the caller as @@ -54,7 +54,18 @@ namespace CallingConv { // Target - This is the start of the target-specific calling conventions, // e.g. fastcall and thiscall on X86. - FirstTargetCC = 64 + FirstTargetCC = 64, + + /// X86_StdCall - stdcall is the calling conventions mostly used by the + /// Win32 API. It is basically the same as the C convention with the + /// difference in that the callee is responsible for popping the arguments + /// from the stack. + X86_StdCall = 64, + + /// X86_FastCall - 'fast' analog of X86_StdCall. Passes first two arguments + /// in ECX:EDX registers, others - via stack. Callee is responsible for + /// stack cleaning. + X86_FastCall = 65 }; } // End CallingConv namespace diff --git a/lib/AsmParser/Lexer.cpp.cvs b/lib/AsmParser/Lexer.cpp.cvs index 93748f9cf17..43b8d1098ed 100644 --- a/lib/AsmParser/Lexer.cpp.cvs +++ b/lib/AsmParser/Lexer.cpp.cvs @@ -380,8 +380,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 111 -#define YY_END_OF_BUFFER 112 +#define YY_NUM_RULES 113 +#define YY_END_OF_BUFFER 114 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -389,60 +389,63 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[479] = +static yyconst flex_int16_t yy_accept[501] = { 0, - 0, 0, 112, 110, 109, 109, 110, 110, 110, 110, - 110, 110, 102, 102, 1, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 0, 101, 0, 99, - 98, 98, 105, 0, 103, 0, 107, 102, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, + 0, 0, 114, 112, 111, 111, 112, 112, 112, 112, + 112, 112, 104, 104, 1, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 0, 103, 0, 101, + 100, 100, 107, 0, 105, 0, 109, 104, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 98, 98, 107, 20, 107, 0, 108, 60, - 0, 0, 65, 0, 38, 0, 33, 0, 0, 0, - 41, 0, 0, 0, 0, 0, 63, 0, 0, 3, + 0, 0, 103, 100, 100, 109, 20, 109, 0, 110, + 62, 0, 0, 67, 0, 38, 0, 33, 0, 0, + 0, 41, 0, 0, 0, 0, 0, 65, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 64, 25, 0, 0, 76, 0, 66, 85, 0, 0, + 0, 0, 0, 80, 0, 81, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 62, - 25, 0, 0, 74, 0, 64, 83, 0, 0, 0, - 0, 0, 78, 0, 79, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, - 0, 100, 107, 0, 0, 0, 107, 0, 0, 0, - 0, 46, 75, 76, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, - 53, 0, 0, 22, 0, 0, 104, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, - 0, 0, 4, 58, 0, 52, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 45, 0, 11, 0, 107, - 35, 0, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 0, 55, 0, - - 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, - 0, 0, 47, 0, 0, 69, 73, 71, 72, 70, - 68, 49, 0, 0, 93, 0, 0, 0, 48, 54, - 21, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 90, 0, 44, 0, 0, 0, 0, 0, 0, 56, - 30, 24, 0, 0, 43, 0, 7, 0, 0, 0, - 86, 0, 32, 89, 37, 59, 0, 0, 77, 0, - 0, 85, 27, 28, 0, 0, 87, 50, 82, 80, - 0, 0, 0, 0, 42, 6, 29, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, - - 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, - 17, 0, 0, 0, 0, 9, 10, 0, 0, 0, - 0, 0, 34, 0, 12, 14, 13, 0, 0, 0, + 0, 69, 0, 102, 109, 0, 0, 0, 109, 0, + 0, 0, 0, 48, 77, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 39, 0, 0, 0, 15, - 0, 0, 0, 0, 31, 0, 0, 88, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 96, - 97, 16, 0, 95, 18, 0, 19, 0 + 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 94, 55, 0, 0, 22, 0, 0, 106, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 0, 4, 60, 0, 54, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 0, 11, + 0, 0, 109, 35, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + + 0, 57, 0, 0, 0, 0, 0, 0, 59, 0, + 0, 0, 0, 0, 0, 49, 0, 0, 71, 75, + 73, 74, 72, 70, 51, 0, 0, 95, 0, 0, + 0, 50, 56, 21, 0, 0, 0, 0, 0, 83, + 0, 0, 0, 0, 0, 92, 0, 44, 0, 0, + 0, 0, 0, 0, 58, 30, 24, 0, 0, 43, + 0, 7, 0, 0, 0, 88, 0, 32, 91, 37, + 61, 0, 0, 79, 0, 0, 87, 27, 28, 0, + 0, 89, 52, 84, 82, 0, 0, 0, 0, 0, + 0, 42, 6, 29, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, 0, 0, 0, 17, + 0, 0, 0, 0, 9, 10, 0, 0, 0, 0, + 0, 34, 0, 0, 0, 12, 14, 13, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 0, 31, + 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 96, 0, 98, 99, + 16, 0, 45, 0, 97, 18, 46, 0, 19, 0 + } ; static yyconst flex_int32_t yy_ec[256] = @@ -452,15 +455,15 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 5, 6, 1, 1, 1, 1, 1, 7, 1, 8, 9, 1, 10, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 12, 13, 1, - 1, 1, 1, 1, 14, 14, 14, 14, 15, 14, + 11, 11, 11, 12, 11, 13, 11, 14, 15, 1, + 1, 1, 1, 1, 16, 16, 16, 16, 17, 16, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 1, 1, 1, 1, 16, 1, 17, 18, 19, 20, + 1, 1, 1, 1, 18, 1, 19, 20, 21, 22, - 21, 22, 23, 24, 25, 5, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 1, 1, 1, 1, 1, 1, 1, 1, + 23, 24, 25, 26, 27, 5, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -477,374 +480,402 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[42] = +static yyconst flex_int32_t yy_meta[44] = { 0, 1, 1, 2, 1, 3, 1, 1, 3, 3, 3, - 3, 4, 1, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3 + 3, 3, 3 } ; -static yyconst flex_int16_t yy_base[484] = +static yyconst flex_int16_t yy_base[506] = { 0, - 0, 0, 998, 999, 999, 999, 993, 984, 34, 36, - 38, 42, 46, 50, 0, 52, 57, 54, 68, 62, - 80, 82, 87, 93, 94, 40, 88, 84, 56, 121, - 108, 150, 105, 115, 114, 116, 991, 999, 982, 999, - 0, 139, 141, 144, 154, 120, 159, 176, 179, 0, - 55, 180, 92, 164, 155, 135, 149, 190, 981, 191, - 192, 194, 196, 197, 198, 200, 201, 161, 203, 205, - 212, 122, 214, 218, 202, 219, 222, 229, 233, 224, - 232, 234, 231, 243, 248, 980, 247, 251, 245, 235, - 255, 256, 257, 259, 266, 270, 269, 273, 979, 274, + 0, 0, 1090, 1091, 1091, 1091, 1085, 1074, 36, 40, + 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, + 90, 91, 76, 96, 108, 49, 97, 110, 68, 137, + 120, 168, 112, 115, 135, 127, 1083, 1091, 1072, 1091, + 0, 158, 173, 180, 196, 70, 201, 216, 221, 0, + 121, 152, 123, 139, 166, 140, 162, 184, 1071, 222, + 180, 31, 186, 232, 69, 144, 209, 234, 236, 225, + 188, 241, 119, 235, 189, 238, 246, 245, 249, 255, + 248, 257, 258, 264, 269, 1070, 265, 267, 271, 273, + 275, 276, 277, 282, 284, 304, 293, 296, 1069, 305, - 277, 265, 280, 285, 291, 41, 301, 295, 302, 288, - 290, 978, 0, 315, 317, 977, 324, 336, 0, 976, - 289, 319, 975, 321, 974, 325, 973, 328, 329, 339, - 972, 340, 341, 342, 345, 346, 971, 355, 347, 352, - 349, 350, 354, 356, 367, 357, 369, 374, 370, 373, - 375, 377, 381, 383, 386, 388, 387, 389, 391, 970, - 969, 392, 31, 968, 393, 967, 966, 418, 399, 406, - 394, 430, 965, 411, 964, 402, 405, 413, 963, 408, - 418, 435, 400, 440, 442, 436, 437, 438, 443, 444, - 448, 450, 453, 462, 454, 456, 458, 464, 468, 962, + 288, 285, 297, 308, 311, 315, 316, 323, 325, 147, + 322, 328, 1068, 0, 343, 348, 1067, 362, 379, 0, + 1066, 352, 335, 1065, 355, 1064, 354, 1063, 366, 368, + 289, 1062, 348, 369, 380, 370, 382, 1061, 386, 384, + 374, 392, 393, 388, 394, 398, 396, 400, 406, 404, + 407, 411, 408, 413, 415, 418, 423, 421, 424, 425, + 1060, 1059, 427, 428, 1058, 430, 1057, 1056, 454, 435, + 443, 436, 465, 1055, 433, 1054, 434, 437, 467, 1053, + 455, 468, 470, 331, 475, 477, 469, 471, 472, 487, + 473, 491, 485, 479, 499, 493, 501, 495, 502, 505, - 470, 999, 474, 491, 480, 493, 496, 480, 474, 484, - 485, 961, 960, 959, 498, 476, 500, 503, 504, 506, - 509, 507, 510, 511, 513, 514, 512, 520, 516, 958, - 526, 524, 528, 531, 532, 535, 536, 538, 540, 957, - 956, 542, 543, 955, 544, 546, 0, 545, 548, 550, - 547, 562, 563, 564, 559, 565, 570, 574, 577, 954, - 578, 566, 953, 952, 580, 951, 588, 590, 591, 592, - 576, 594, 595, 596, 598, 950, 601, 949, 605, 604, - 948, 606, 609, 947, 612, 608, 614, 610, 620, 622, - 623, 627, 628, 629, 630, 632, 946, 633, 945, 634, + 508, 1052, 506, 1091, 519, 533, 537, 541, 546, 547, + 513, 548, 549, 1051, 1050, 1049, 550, 551, 552, 553, + 554, 555, 509, 556, 563, 559, 560, 572, 561, 562, + 573, 1048, 576, 579, 580, 583, 585, 586, 587, 590, + 588, 1047, 1046, 592, 594, 1045, 593, 595, 0, 598, + 599, 613, 601, 605, 615, 616, 611, 511, 622, 623, + 619, 1044, 627, 629, 1043, 1042, 630, 1041, 635, 633, + 637, 640, 641, 642, 647, 648, 649, 1040, 651, 1039, + 655, 653, 673, 1038, 652, 654, 1037, 660, 656, 673, + 664, 675, 678, 679, 682, 683, 684, 686, 687, 1036, - 635, 637, 638, 646, 648, 944, 649, 651, 655, 656, - 658, 659, 943, 654, 664, 942, 941, 940, 939, 938, - 937, 936, 669, 670, 935, 671, 673, 676, 934, 933, - 932, 674, 675, 678, 677, 679, 931, 681, 688, 689, - 930, 692, 929, 691, 695, 694, 693, 698, 699, 928, - 927, 926, 707, 709, 925, 710, 924, 713, 714, 719, - 923, 718, 922, 921, 920, 919, 720, 721, 918, 727, - 729, 917, 916, 915, 730, 728, 914, 913, 912, 911, - 731, 734, 733, 735, 910, 907, 898, 742, 744, 745, - 737, 748, 751, 749, 753, 754, 755, 756, 896, 759, + 688, 1035, 690, 689, 692, 693, 696, 701, 1034, 702, + 705, 711, 706, 712, 717, 1033, 709, 720, 1032, 1031, + 1030, 1029, 1028, 1027, 1026, 722, 723, 1025, 724, 725, + 729, 1024, 1023, 1022, 728, 732, 734, 730, 735, 1021, + 731, 744, 740, 741, 749, 1020, 747, 1019, 750, 752, + 756, 755, 758, 761, 1018, 1017, 1016, 768, 762, 1015, + 770, 1014, 769, 771, 782, 1013, 774, 1012, 1011, 1010, + 1009, 763, 775, 1008, 788, 783, 1007, 1006, 1005, 789, + 791, 1004, 1003, 1002, 1001, 790, 794, 796, 795, 798, + 799, 1000, 999, 998, 800, 806, 807, 809, 801, 811, - 761, 762, 772, 773, 774, 775, 895, 776, 779, 780, - 894, 781, 783, 785, 792, 893, 891, 790, 795, 787, - 791, 805, 890, 807, 888, 887, 884, 788, 809, 798, - 810, 812, 813, 816, 814, 817, 819, 822, 824, 825, - 826, 829, 831, 835, 832, 882, 833, 839, 836, 881, - 847, 843, 846, 850, 880, 853, 849, 876, 857, 860, - 854, 861, 863, 864, 865, 868, 869, 644, 872, 518, - 401, 292, 874, 207, 170, 878, 166, 999, 911, 913, - 137, 917, 99 + 812, 813, 817, 814, 818, 995, 819, 825, 826, 830, + 836, 837, 839, 838, 841, 986, 842, 843, 847, 984, + 848, 850, 849, 853, 983, 982, 851, 859, 869, 855, + 871, 981, 873, 874, 875, 979, 978, 977, 878, 881, + 882, 884, 885, 857, 887, 891, 893, 892, 895, 896, + 897, 898, 899, 903, 904, 908, 909, 910, 975, 913, + 916, 919, 920, 921, 971, 923, 924, 926, 928, 969, + 930, 929, 968, 931, 937, 940, 941, 943, 949, 950, + 951, 952, 954, 955, 956, 957, 858, 959, 854, 597, + 523, 963, 440, 965, 438, 334, 286, 966, 205, 1091, + + 1001, 1003, 214, 1007, 83 } ; -static yyconst flex_int16_t yy_def[484] = +static yyconst flex_int16_t yy_def[506] = { 0, - 478, 1, 478, 478, 478, 478, 479, 480, 481, 478, - 480, 480, 480, 480, 482, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 479, 478, 480, 478, - 483, 483, 478, 478, 480, 480, 480, 480, 480, 482, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, + 500, 1, 500, 500, 500, 500, 501, 502, 503, 500, + 502, 502, 502, 502, 504, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 501, 500, 502, 500, + 505, 505, 500, 500, 502, 502, 502, 502, 502, 504, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 478, 483, 483, 478, 480, 480, 480, 49, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 49, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 500, 505, 505, 500, 502, 502, 502, 49, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 49, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 480, 478, 478, 478, 478, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 168, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 478, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, + 502, 502, 502, 500, 500, 500, 500, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 169, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 500, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, - 480, 480, 480, 480, 480, 480, 480, 0, 478, 478, - 478, 478, 478 + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 502, 502, 502, 0, + + 500, 500, 500, 500, 500 } ; -static yyconst flex_int16_t yy_nxt[1041] = +static yyconst flex_int16_t yy_nxt[1135] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 4, 15, 8, 8, 8, 16, 17, 18, 19, - 20, 21, 22, 8, 23, 8, 24, 25, 26, 27, - 28, 8, 29, 30, 31, 32, 33, 34, 35, 8, - 36, 42, 40, 43, 43, 44, 44, 45, 45, 40, - 46, 40, 40, 40, 47, 48, 48, 40, 47, 48, - 48, 40, 245, 40, 193, 40, 40, 40, 40, 83, - 60, 51, 61, 40, 120, 84, 89, 56, 52, 40, - 53, 57, 54, 62, 49, 55, 58, 63, 64, 59, - 68, 40, 65, 40, 66, 40, 70, 67, 40, 40, + 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, + 18, 19, 20, 21, 22, 8, 23, 8, 24, 25, + 26, 27, 28, 8, 29, 30, 31, 32, 33, 34, + 35, 8, 36, 42, 40, 43, 43, 43, 43, 44, + 44, 44, 44, 45, 45, 45, 45, 40, 46, 133, + 40, 134, 40, 40, 47, 48, 48, 48, 48, 40, + 47, 48, 48, 48, 48, 40, 40, 68, 117, 40, + 83, 40, 40, 40, 51, 114, 84, 69, 56, 40, + 89, 52, 57, 53, 40, 54, 49, 58, 55, 60, - 69, 113, 73, 40, 40, 40, 71, 87, 74, 77, - 80, 123, 72, 88, 75, 76, 40, 78, 85, 40, - 86, 107, 79, 81, 98, 40, 40, 40, 116, 82, - 90, 40, 40, 40, 108, 109, 111, 99, 91, 41, - 100, 92, 146, 110, 93, 94, 40, 101, 114, 114, - 43, 43, 115, 44, 44, 95, 96, 126, 97, 90, - 40, 40, 47, 45, 45, 40, 40, 102, 117, 117, - 40, 127, 40, 118, 103, 40, 104, 40, 105, 118, - 140, 40, 125, 106, 47, 48, 48, 40, 119, 119, - 40, 40, 119, 119, 124, 119, 119, 119, 119, 119, + 59, 61, 40, 40, 40, 75, 76, 138, 70, 40, + 40, 64, 62, 73, 77, 65, 63, 66, 71, 74, + 67, 40, 78, 40, 72, 40, 80, 79, 40, 85, + 107, 86, 40, 40, 40, 87, 40, 109, 98, 81, + 40, 88, 121, 108, 124, 82, 90, 110, 40, 112, + 40, 99, 40, 40, 100, 148, 91, 40, 201, 92, + 40, 101, 93, 94, 127, 40, 111, 115, 115, 115, + 115, 125, 139, 95, 96, 40, 97, 90, 122, 40, + 123, 40, 43, 43, 43, 43, 128, 102, 116, 44, + 44, 44, 44, 40, 103, 126, 104, 40, 105, 40, - 119, 40, 40, 40, 121, 40, 122, 40, 40, 40, - 131, 40, 40, 40, 40, 135, 40, 129, 40, 128, - 132, 141, 133, 40, 130, 40, 138, 136, 134, 40, - 40, 143, 149, 40, 137, 40, 139, 142, 144, 153, - 40, 145, 40, 40, 40, 40, 40, 148, 147, 156, - 158, 159, 150, 151, 40, 152, 40, 154, 40, 40, - 160, 157, 40, 155, 163, 161, 40, 40, 40, 162, - 40, 164, 166, 168, 170, 165, 40, 40, 177, 167, - 40, 40, 171, 173, 40, 40, 174, 179, 40, 175, - 172, 40, 176, 180, 169, 178, 40, 181, 183, 40, + 132, 40, 40, 106, 47, 45, 45, 45, 45, 40, + 118, 118, 118, 118, 40, 129, 41, 119, 40, 146, + 135, 150, 40, 119, 47, 48, 48, 48, 48, 40, + 120, 120, 120, 120, 40, 40, 120, 120, 40, 120, + 120, 120, 120, 120, 120, 40, 140, 40, 40, 40, + 130, 40, 136, 144, 40, 141, 142, 131, 40, 40, + 145, 40, 40, 147, 137, 154, 149, 157, 40, 160, + 40, 40, 143, 151, 152, 155, 153, 40, 40, 158, + 40, 156, 40, 159, 40, 161, 40, 164, 40, 40, + 40, 165, 163, 166, 162, 40, 171, 40, 40, 40, - 40, 40, 40, 40, 186, 182, 40, 185, 187, 184, - 189, 208, 40, 40, 188, 190, 194, 195, 199, 197, - 200, 198, 201, 191, 114, 114, 203, 203, 192, 196, - 40, 204, 40, 117, 117, 40, 40, 204, 118, 40, - 40, 210, 205, 206, 118, 207, 207, 40, 209, 211, - 40, 40, 40, 40, 212, 213, 40, 40, 40, 215, - 40, 40, 217, 40, 222, 40, 40, 40, 40, 224, - 225, 218, 219, 214, 216, 220, 223, 230, 40, 221, - 40, 40, 226, 229, 40, 40, 40, 227, 40, 231, - 228, 232, 40, 234, 40, 235, 233, 40, 40, 40, + 167, 40, 40, 178, 172, 174, 40, 168, 175, 40, + 40, 176, 173, 169, 177, 179, 170, 40, 40, 181, + 186, 40, 182, 180, 40, 216, 187, 188, 40, 40, + 183, 184, 190, 195, 196, 40, 40, 191, 40, 189, + 194, 40, 185, 200, 40, 192, 197, 40, 40, 198, + 193, 199, 115, 115, 115, 115, 202, 205, 205, 205, + 205, 40, 203, 264, 206, 40, 211, 40, 40, 217, + 206, 118, 118, 118, 118, 40, 210, 212, 119, 40, + 213, 40, 40, 40, 119, 207, 208, 40, 209, 209, + 209, 209, 40, 40, 214, 40, 215, 40, 220, 40, - 40, 237, 40, 40, 40, 40, 236, 240, 238, 241, - 40, 40, 40, 40, 250, 242, 40, 40, 244, 40, - 239, 246, 40, 256, 40, 257, 243, 247, 247, 40, - 262, 247, 247, 248, 247, 247, 247, 247, 247, 247, - 249, 40, 259, 255, 260, 258, 40, 40, 40, 40, - 251, 40, 252, 40, 40, 40, 253, 261, 254, 40, - 263, 40, 264, 268, 40, 40, 267, 40, 270, 40, - 265, 266, 269, 40, 271, 40, 275, 276, 273, 40, - 277, 40, 272, 203, 203, 40, 274, 40, 204, 280, - 280, 40, 282, 278, 204, 40, 40, 205, 205, 279, + 225, 40, 219, 224, 218, 40, 40, 40, 222, 40, + 221, 40, 223, 40, 226, 227, 231, 40, 232, 40, + 40, 40, 233, 229, 40, 234, 40, 228, 40, 236, + 230, 40, 235, 237, 40, 239, 40, 40, 40, 238, + 40, 40, 240, 40, 242, 243, 40, 40, 40, 40, + 40, 40, 244, 40, 241, 246, 40, 258, 252, 259, + 248, 247, 245, 249, 249, 249, 249, 257, 40, 249, + 249, 250, 249, 249, 249, 249, 249, 249, 40, 251, + 40, 40, 40, 40, 40, 40, 40, 253, 40, 254, + 40, 261, 40, 255, 263, 256, 262, 265, 40, 266, - 280, 280, 207, 207, 40, 207, 207, 40, 281, 40, - 286, 40, 283, 284, 40, 40, 285, 40, 40, 288, - 40, 40, 40, 40, 40, 40, 293, 40, 289, 40, - 296, 40, 297, 292, 287, 40, 291, 40, 298, 40, - 301, 294, 40, 40, 290, 295, 40, 40, 302, 40, - 299, 40, 300, 40, 40, 40, 40, 40, 40, 40, - 305, 40, 306, 303, 304, 313, 308, 307, 315, 310, - 40, 309, 314, 40, 40, 40, 40, 40, 316, 311, - 312, 40, 317, 319, 321, 40, 323, 40, 40, 40, - 324, 40, 328, 322, 325, 326, 318, 320, 327, 40, + 40, 260, 269, 271, 40, 267, 40, 268, 40, 270, + 274, 273, 40, 272, 40, 40, 278, 275, 40, 40, + 279, 40, 40, 277, 40, 281, 40, 276, 205, 205, + 205, 205, 280, 285, 326, 206, 40, 282, 294, 207, + 207, 206, 283, 283, 283, 283, 283, 283, 283, 283, + 209, 209, 209, 209, 40, 209, 209, 209, 209, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 288, 291, 40, 40, 40, 40, 40, 284, 286, 287, + 292, 296, 301, 300, 295, 40, 40, 289, 290, 40, + 299, 297, 40, 40, 298, 293, 40, 304, 40, 40, - 329, 40, 40, 40, 334, 40, 40, 40, 333, 40, - 330, 331, 40, 280, 280, 332, 40, 40, 337, 40, - 40, 40, 341, 40, 344, 40, 335, 336, 342, 340, - 343, 40, 345, 40, 40, 339, 338, 347, 40, 40, - 40, 40, 346, 40, 40, 40, 40, 350, 40, 40, - 354, 355, 348, 349, 356, 40, 351, 40, 353, 40, - 40, 357, 40, 352, 358, 40, 40, 40, 361, 40, - 40, 363, 359, 364, 360, 40, 365, 362, 366, 367, - 40, 40, 40, 368, 40, 40, 40, 40, 40, 40, - 40, 371, 40, 376, 372, 370, 374, 377, 369, 40, + 40, 40, 305, 40, 303, 40, 40, 40, 40, 302, + 40, 40, 40, 308, 40, 309, 311, 306, 40, 307, + 316, 310, 313, 312, 40, 317, 40, 320, 40, 40, + 314, 315, 40, 318, 319, 40, 40, 322, 324, 329, + 40, 321, 40, 40, 327, 328, 40, 325, 40, 330, + 40, 323, 332, 40, 40, 40, 334, 331, 336, 333, + 40, 40, 40, 335, 40, 40, 40, 40, 40, 40, + 346, 337, 340, 40, 349, 347, 338, 40, 343, 345, + 348, 339, 283, 283, 283, 283, 40, 342, 40, 341, + 344, 40, 40, 350, 352, 40, 40, 40, 351, 40, - 40, 379, 40, 40, 40, 40, 40, 373, 375, 40, - 40, 378, 381, 385, 386, 380, 383, 382, 40, 384, - 40, 40, 390, 391, 40, 40, 387, 388, 389, 40, - 40, 40, 40, 394, 395, 396, 397, 393, 40, 40, - 40, 40, 40, 392, 40, 40, 40, 400, 40, 399, - 401, 403, 398, 40, 402, 40, 40, 404, 405, 40, - 40, 406, 40, 411, 40, 40, 40, 40, 412, 407, - 40, 413, 40, 40, 408, 417, 409, 414, 421, 415, - 416, 420, 410, 40, 40, 40, 40, 40, 422, 418, - 40, 40, 40, 423, 40, 419, 40, 425, 40, 40, + 40, 40, 40, 40, 355, 40, 40, 359, 360, 40, + 353, 354, 361, 356, 40, 40, 358, 362, 40, 40, + 357, 363, 40, 366, 40, 40, 365, 368, 370, 364, + 40, 369, 367, 40, 371, 40, 40, 40, 40, 372, + 373, 40, 40, 40, 40, 40, 376, 40, 40, 377, + 375, 379, 381, 40, 40, 382, 374, 40, 387, 384, + 40, 378, 40, 40, 380, 40, 383, 385, 40, 40, + 386, 40, 392, 390, 40, 40, 40, 388, 393, 389, + 391, 40, 40, 40, 40, 397, 398, 40, 40, 395, + 394, 401, 396, 402, 404, 40, 40, 405, 399, 400, - 428, 40, 40, 40, 439, 435, 40, 429, 424, 40, - 426, 430, 432, 427, 433, 434, 40, 436, 40, 431, - 40, 40, 437, 40, 40, 40, 442, 40, 40, 440, - 40, 438, 441, 40, 445, 40, 40, 40, 449, 443, - 40, 447, 40, 40, 40, 448, 40, 40, 446, 450, - 40, 454, 451, 444, 40, 455, 452, 40, 40, 458, - 40, 40, 459, 453, 40, 40, 456, 460, 40, 465, - 462, 40, 40, 457, 40, 40, 40, 461, 463, 40, - 40, 466, 464, 40, 472, 40, 468, 40, 467, 40, - 469, 40, 40, 40, 476, 40, 471, 470, 40, 40, + 403, 40, 40, 40, 40, 406, 408, 40, 40, 40, + 407, 40, 40, 40, 40, 409, 410, 413, 411, 40, + 40, 414, 40, 421, 40, 40, 40, 40, 415, 412, + 40, 40, 40, 422, 417, 416, 426, 420, 40, 40, + 418, 424, 423, 40, 430, 425, 419, 429, 431, 40, + 40, 40, 40, 427, 40, 40, 40, 428, 432, 434, + 40, 40, 40, 40, 40, 436, 40, 40, 40, 439, + 40, 40, 40, 433, 435, 443, 440, 444, 437, 438, + 441, 445, 40, 447, 40, 442, 40, 40, 40, 446, + 448, 40, 450, 449, 40, 40, 452, 40, 40, 457, - 475, 40, 40, 474, 40, 40, 40, 40, 473, 40, - 477, 37, 37, 37, 37, 39, 39, 50, 40, 50, + 40, 451, 455, 453, 40, 40, 40, 458, 40, 40, + 40, 40, 40, 462, 456, 464, 40, 40, 454, 460, + 461, 40, 40, 40, 463, 465, 40, 459, 466, 40, + 469, 470, 40, 40, 40, 467, 40, 40, 473, 40, + 468, 40, 40, 40, 40, 477, 471, 474, 475, 476, + 40, 482, 479, 40, 40, 472, 40, 484, 480, 483, + 478, 481, 40, 40, 40, 40, 485, 40, 40, 40, + 40, 486, 40, 491, 492, 493, 40, 487, 40, 40, + 488, 40, 40, 497, 40, 490, 489, 498, 40, 496, + 40, 40, 40, 495, 40, 40, 40, 40, 494, 40, + + 499, 37, 37, 37, 37, 39, 39, 50, 40, 50, 50, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 202, - 40, 40, 40, 40, 112, 40, 38, 478, 3, 478, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 204, 40, 40, 40, 40, 113, 40, 38, 500, + 3, 500, 500, 500, 500, 500, 500, 500, 500, 500, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478 + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500 } ; -static yyconst flex_int16_t yy_chk[1041] = +static yyconst flex_int16_t yy_chk[1135] = { 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 9, 163, 9, 9, 10, 10, 11, 11, 11, - 12, 26, 106, 12, 13, 13, 13, 13, 14, 14, - 14, 14, 163, 16, 106, 18, 51, 29, 17, 26, - 18, 16, 18, 20, 51, 26, 29, 17, 16, 19, - 16, 17, 16, 18, 13, 16, 17, 18, 19, 17, - 20, 21, 19, 22, 19, 28, 21, 19, 23, 27, + 1, 1, 1, 9, 62, 9, 9, 9, 9, 10, + 10, 10, 10, 11, 11, 11, 11, 11, 12, 62, + 20, 62, 26, 12, 13, 13, 13, 13, 13, 13, + 14, 14, 14, 14, 14, 14, 16, 20, 46, 17, + 26, 29, 65, 46, 16, 505, 26, 20, 17, 23, + 29, 16, 17, 16, 18, 16, 13, 17, 16, 18, - 20, 483, 22, 53, 24, 25, 21, 28, 22, 24, - 25, 53, 21, 28, 23, 23, 33, 24, 27, 31, - 27, 33, 24, 25, 31, 35, 34, 36, 46, 25, - 30, 46, 30, 72, 33, 34, 36, 31, 30, 481, - 31, 30, 72, 35, 30, 30, 56, 31, 42, 42, - 43, 43, 44, 44, 44, 30, 30, 56, 30, 32, - 57, 32, 45, 45, 45, 45, 55, 32, 47, 47, - 47, 57, 68, 47, 32, 54, 32, 477, 32, 47, - 68, 475, 55, 32, 48, 48, 48, 48, 49, 49, - 49, 52, 49, 49, 54, 49, 49, 49, 49, 49, + 17, 18, 19, 21, 22, 23, 23, 65, 21, 24, + 27, 19, 18, 22, 24, 19, 18, 19, 21, 22, + 19, 25, 24, 28, 21, 33, 25, 24, 34, 27, + 33, 27, 73, 31, 51, 28, 53, 34, 31, 25, + 36, 28, 51, 33, 53, 25, 30, 35, 35, 36, + 30, 31, 54, 56, 31, 73, 30, 66, 110, 30, + 110, 31, 30, 30, 56, 52, 35, 42, 42, 42, + 42, 54, 66, 30, 30, 57, 30, 32, 52, 55, + 52, 32, 43, 43, 43, 43, 57, 32, 44, 44, + 44, 44, 44, 61, 32, 55, 32, 58, 32, 63, - 49, 58, 60, 61, 52, 62, 52, 63, 64, 65, - 61, 66, 67, 75, 69, 64, 70, 60, 474, 58, - 62, 69, 62, 71, 60, 73, 66, 64, 63, 74, - 76, 70, 75, 77, 65, 80, 67, 69, 70, 77, - 78, 71, 83, 81, 79, 82, 90, 74, 73, 79, - 80, 81, 76, 76, 84, 76, 89, 78, 87, 85, - 82, 79, 88, 78, 85, 83, 91, 92, 93, 84, - 94, 87, 89, 90, 92, 88, 102, 95, 94, 89, - 97, 96, 92, 93, 98, 100, 93, 96, 101, 93, - 92, 103, 93, 97, 91, 95, 104, 98, 100, 110, + 61, 71, 75, 32, 45, 45, 45, 45, 45, 45, + 47, 47, 47, 47, 47, 58, 503, 47, 499, 71, + 63, 75, 67, 47, 48, 48, 48, 48, 48, 48, + 49, 49, 49, 49, 49, 60, 49, 49, 70, 49, + 49, 49, 49, 49, 49, 64, 67, 68, 74, 69, + 60, 76, 64, 70, 72, 68, 69, 60, 78, 77, + 70, 81, 79, 72, 64, 77, 74, 79, 80, 81, + 82, 83, 69, 76, 76, 78, 76, 84, 87, 79, + 88, 78, 85, 80, 89, 82, 90, 85, 91, 92, + 93, 87, 84, 88, 83, 94, 92, 95, 102, 497, - 121, 111, 105, 472, 102, 98, 108, 101, 103, 100, - 105, 121, 107, 109, 104, 105, 107, 107, 109, 108, - 110, 108, 111, 105, 114, 114, 115, 115, 105, 107, - 122, 115, 124, 117, 117, 117, 126, 115, 117, 128, - 129, 124, 118, 118, 117, 118, 118, 118, 122, 126, - 130, 132, 133, 134, 128, 129, 135, 136, 139, 132, - 141, 142, 134, 140, 139, 143, 138, 144, 146, 141, - 142, 135, 136, 130, 133, 138, 140, 146, 145, 138, - 147, 149, 142, 145, 150, 148, 151, 143, 152, 147, - 144, 148, 153, 150, 154, 151, 149, 155, 157, 156, + 89, 101, 131, 94, 92, 93, 97, 89, 93, 98, + 103, 93, 92, 90, 93, 95, 91, 96, 100, 97, + 101, 104, 98, 96, 105, 131, 102, 103, 106, 107, + 98, 100, 105, 107, 107, 111, 108, 105, 109, 104, + 106, 112, 100, 109, 184, 105, 107, 496, 123, 108, + 105, 108, 115, 115, 115, 115, 111, 116, 116, 116, + 116, 133, 112, 184, 116, 122, 123, 127, 125, 133, + 116, 118, 118, 118, 118, 118, 122, 125, 118, 129, + 127, 130, 134, 136, 118, 119, 119, 141, 119, 119, + 119, 119, 119, 135, 129, 137, 130, 140, 136, 139, - 158, 153, 159, 162, 165, 171, 152, 156, 154, 157, - 169, 183, 471, 176, 171, 158, 177, 170, 162, 180, - 155, 165, 174, 176, 178, 177, 159, 168, 168, 181, - 183, 168, 168, 169, 168, 168, 168, 168, 168, 168, - 170, 172, 180, 174, 181, 178, 182, 186, 187, 188, - 172, 184, 172, 185, 189, 190, 172, 182, 172, 191, - 184, 192, 185, 189, 193, 195, 188, 196, 191, 197, - 186, 187, 190, 194, 192, 198, 196, 197, 194, 199, - 198, 201, 193, 203, 203, 209, 195, 216, 203, 205, - 205, 208, 209, 199, 203, 210, 211, 204, 204, 201, + 141, 144, 135, 140, 134, 142, 143, 145, 139, 147, + 137, 146, 139, 148, 142, 143, 146, 150, 147, 149, + 151, 153, 148, 144, 152, 149, 154, 143, 155, 151, + 145, 156, 150, 152, 158, 154, 157, 159, 160, 153, + 163, 164, 155, 166, 157, 158, 175, 177, 170, 172, + 178, 495, 159, 493, 156, 163, 171, 177, 172, 178, + 166, 164, 160, 169, 169, 169, 169, 175, 181, 169, + 169, 170, 169, 169, 169, 169, 169, 169, 173, 171, + 179, 182, 187, 183, 188, 189, 191, 173, 185, 173, + 186, 181, 194, 173, 183, 173, 182, 185, 193, 186, - 204, 204, 206, 206, 206, 207, 207, 207, 208, 215, - 216, 217, 210, 211, 218, 219, 215, 220, 222, 218, - 221, 223, 224, 227, 225, 226, 223, 229, 219, 470, - 226, 228, 227, 222, 217, 232, 221, 231, 228, 233, - 232, 224, 234, 235, 220, 225, 236, 237, 233, 238, - 229, 239, 231, 242, 243, 245, 248, 246, 251, 249, - 236, 250, 237, 234, 235, 248, 239, 238, 250, 243, - 255, 242, 249, 252, 253, 254, 256, 262, 251, 245, - 246, 257, 252, 253, 254, 258, 256, 271, 259, 261, - 257, 265, 262, 255, 258, 259, 252, 253, 261, 267, + 190, 179, 189, 191, 192, 187, 196, 188, 198, 190, + 194, 193, 195, 192, 197, 199, 198, 195, 200, 203, + 199, 201, 223, 197, 258, 201, 211, 196, 205, 205, + 205, 205, 200, 211, 258, 205, 491, 203, 223, 206, + 206, 205, 206, 206, 206, 206, 207, 207, 207, 207, + 208, 208, 208, 208, 208, 209, 209, 209, 209, 209, + 210, 212, 213, 217, 218, 219, 220, 221, 222, 224, + 217, 220, 226, 227, 229, 230, 225, 210, 212, 213, + 221, 225, 230, 229, 224, 228, 231, 218, 219, 233, + 228, 226, 234, 235, 227, 222, 236, 234, 237, 238, - 265, 268, 269, 270, 271, 272, 273, 274, 270, 275, - 267, 268, 277, 280, 280, 269, 279, 282, 274, 286, - 283, 288, 282, 285, 286, 287, 272, 273, 283, 279, - 285, 289, 287, 290, 291, 277, 275, 289, 292, 293, - 294, 295, 288, 296, 298, 300, 301, 292, 302, 303, - 296, 298, 290, 291, 300, 468, 293, 304, 295, 305, - 307, 301, 308, 294, 302, 314, 309, 310, 305, 311, - 312, 308, 303, 309, 304, 315, 310, 307, 311, 312, - 323, 324, 326, 314, 327, 332, 333, 328, 335, 334, - 336, 324, 338, 333, 326, 323, 328, 334, 315, 339, + 239, 241, 235, 240, 233, 244, 247, 245, 248, 231, + 490, 250, 251, 238, 253, 239, 241, 236, 254, 237, + 250, 240, 245, 244, 257, 251, 252, 254, 255, 256, + 247, 248, 261, 252, 253, 259, 260, 255, 256, 261, + 263, 254, 264, 267, 259, 260, 270, 257, 269, 263, + 271, 255, 267, 272, 273, 274, 270, 264, 272, 269, + 275, 276, 277, 271, 279, 285, 282, 286, 281, 289, + 285, 273, 276, 288, 289, 286, 274, 291, 281, 282, + 288, 275, 283, 283, 283, 283, 290, 279, 292, 277, + 281, 293, 294, 290, 292, 295, 296, 297, 291, 298, - 340, 336, 344, 342, 347, 346, 345, 327, 332, 348, - 349, 335, 339, 345, 346, 338, 342, 340, 353, 344, - 354, 356, 353, 353, 358, 359, 347, 348, 349, 362, - 360, 367, 368, 358, 359, 360, 362, 356, 370, 376, - 371, 375, 381, 354, 383, 382, 384, 370, 391, 368, - 371, 376, 367, 388, 375, 389, 390, 381, 382, 392, - 394, 383, 393, 391, 395, 396, 397, 398, 392, 384, - 400, 393, 401, 402, 388, 397, 389, 394, 402, 395, - 396, 401, 390, 403, 404, 405, 406, 408, 403, 398, - 409, 410, 412, 404, 413, 400, 414, 406, 420, 428, + 299, 301, 304, 303, 295, 305, 306, 299, 301, 307, + 293, 294, 303, 296, 308, 310, 298, 304, 311, 313, + 297, 305, 317, 308, 312, 314, 307, 311, 313, 306, + 315, 312, 310, 318, 314, 326, 327, 329, 330, 315, + 317, 335, 331, 338, 341, 336, 327, 337, 339, 329, + 326, 331, 336, 343, 344, 337, 318, 342, 343, 339, + 347, 330, 345, 349, 335, 350, 338, 341, 352, 351, + 342, 353, 350, 347, 354, 359, 372, 344, 351, 345, + 349, 358, 363, 361, 364, 358, 358, 367, 373, 353, + 352, 363, 354, 364, 367, 365, 376, 372, 359, 361, - 410, 418, 421, 415, 428, 420, 419, 412, 405, 430, - 408, 413, 415, 409, 418, 419, 422, 421, 424, 414, - 429, 431, 422, 432, 433, 435, 431, 434, 436, 429, - 437, 424, 430, 438, 434, 439, 440, 441, 438, 432, - 442, 436, 443, 445, 447, 437, 444, 449, 435, 439, - 448, 443, 440, 433, 452, 444, 441, 453, 451, 448, - 457, 454, 449, 442, 456, 461, 445, 451, 459, 457, - 453, 460, 462, 447, 463, 464, 465, 452, 454, 466, - 467, 459, 456, 469, 465, 473, 461, 458, 460, 476, - 462, 455, 450, 446, 473, 427, 464, 463, 426, 425, + 365, 375, 380, 386, 381, 373, 376, 387, 389, 388, + 375, 390, 391, 395, 399, 380, 381, 388, 386, 396, + 397, 389, 398, 399, 400, 401, 402, 404, 390, 387, + 403, 405, 407, 400, 395, 391, 404, 398, 408, 409, + 396, 402, 401, 410, 409, 403, 397, 408, 410, 411, + 412, 414, 413, 405, 415, 417, 418, 407, 411, 413, + 419, 421, 423, 422, 427, 415, 424, 489, 430, 419, + 444, 487, 428, 412, 414, 424, 421, 427, 417, 418, + 422, 428, 429, 430, 431, 423, 433, 434, 435, 429, + 431, 439, 434, 433, 440, 441, 439, 442, 443, 444, - 469, 423, 417, 467, 416, 411, 407, 399, 466, 387, - 476, 479, 479, 479, 479, 480, 480, 482, 386, 482, - 482, 385, 380, 379, 378, 377, 374, 373, 372, 369, - 366, 365, 364, 363, 361, 357, 355, 352, 351, 350, - 343, 341, 337, 331, 330, 329, 325, 322, 321, 320, - 319, 318, 317, 316, 313, 306, 299, 297, 284, 281, - 278, 276, 266, 264, 263, 260, 244, 241, 240, 230, - 214, 213, 212, 200, 179, 175, 173, 167, 166, 164, - 161, 160, 137, 131, 127, 125, 123, 120, 116, 112, - 99, 86, 59, 39, 37, 8, 7, 3, 478, 478, + 445, 435, 442, 440, 446, 448, 447, 445, 449, 450, + 451, 452, 453, 449, 443, 451, 454, 455, 441, 447, + 448, 456, 457, 458, 450, 452, 460, 446, 453, 461, + 456, 457, 462, 463, 464, 454, 466, 467, 461, 468, + 455, 469, 472, 471, 474, 466, 458, 462, 463, 464, + 475, 472, 468, 476, 477, 460, 478, 475, 469, 474, + 467, 471, 479, 480, 481, 482, 476, 483, 484, 485, + 486, 477, 488, 482, 483, 484, 492, 478, 494, 498, + 479, 473, 470, 492, 465, 481, 480, 494, 459, 488, + 438, 437, 436, 486, 432, 426, 425, 420, 485, 416, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478 + 498, 501, 501, 501, 501, 502, 502, 504, 406, 504, + 504, 394, 393, 392, 385, 384, 383, 382, 379, 378, + 377, 374, 371, 370, 369, 368, 366, 362, 360, 357, + 356, 355, 348, 346, 340, 334, 333, 332, 328, 325, + 324, 323, 322, 321, 320, 319, 316, 309, 302, 300, + 287, 284, 280, 278, 268, 266, 265, 262, 246, 243, + 242, 232, 216, 215, 214, 202, 180, 176, 174, 168, + 167, 165, 162, 161, 138, 132, 128, 126, 124, 121, + 117, 113, 99, 86, 59, 39, 37, 8, 7, 3, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[112] = +static yyconst flex_int32_t yy_rule_can_match_eol[114] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, }; + 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -999,7 +1030,7 @@ using namespace llvm; /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 1003 "Lexer.cpp" +#line 1034 "Lexer.cpp" #define INITIAL 0 @@ -1155,7 +1186,7 @@ YY_DECL #line 179 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -#line 1159 "Lexer.cpp" +#line 1190 "Lexer.cpp" if ( !(yy_init) ) { @@ -1208,13 +1239,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 479 ) + if ( yy_current_state >= 501 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 478 ); + while ( yy_current_state != 500 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1466,281 +1497,291 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; } +#line 227 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ return X86_STDCALLCC_TOK; } YY_BREAK case 46: YY_RULE_SETUP -#line 229 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; } +#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ return X86_FASTCALLCC_TOK; } YY_BREAK case 47: YY_RULE_SETUP #line 230 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; } +{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; } YY_BREAK case 48: YY_RULE_SETUP #line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; } +{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; } YY_BREAK case 49: YY_RULE_SETUP #line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; } +{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; } YY_BREAK case 50: YY_RULE_SETUP #line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; } +{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; } YY_BREAK case 51: YY_RULE_SETUP #line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::IntTy ; return INT; } +{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; } YY_BREAK case 52: YY_RULE_SETUP #line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; } +{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; } YY_BREAK case 53: YY_RULE_SETUP #line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; } +{ llvmAsmlval.PrimType = Type::IntTy ; return INT; } YY_BREAK case 54: YY_RULE_SETUP #line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; } +{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; } YY_BREAK case 55: YY_RULE_SETUP #line 238 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; } +{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; } YY_BREAK case 56: YY_RULE_SETUP #line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; } +{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; } YY_BREAK case 57: YY_RULE_SETUP #line 240 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; } +{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; } YY_BREAK case 58: YY_RULE_SETUP #line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ return TYPE; } +{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; } YY_BREAK case 59: YY_RULE_SETUP #line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ return OPAQUE; } +{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; } YY_BREAK case 60: YY_RULE_SETUP -#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Add, ADD); } +#line 243 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ return TYPE; } YY_BREAK case 61: YY_RULE_SETUP -#line 245 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Sub, SUB); } +#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ return OPAQUE; } YY_BREAK case 62: YY_RULE_SETUP #line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Mul, MUL); } +{ RET_TOK(BinaryOpVal, Add, ADD); } YY_BREAK case 63: YY_RULE_SETUP #line 247 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Div, DIV); } +{ RET_TOK(BinaryOpVal, Sub, SUB); } YY_BREAK case 64: YY_RULE_SETUP #line 248 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Rem, REM); } +{ RET_TOK(BinaryOpVal, Mul, MUL); } YY_BREAK case 65: YY_RULE_SETUP #line 249 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, And, AND); } +{ RET_TOK(BinaryOpVal, Div, DIV); } YY_BREAK case 66: YY_RULE_SETUP #line 250 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Or , OR ); } +{ RET_TOK(BinaryOpVal, Rem, REM); } YY_BREAK case 67: YY_RULE_SETUP #line 251 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Xor, XOR); } +{ RET_TOK(BinaryOpVal, And, AND); } YY_BREAK case 68: YY_RULE_SETUP #line 252 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetNE, SETNE); } +{ RET_TOK(BinaryOpVal, Or , OR ); } YY_BREAK case 69: YY_RULE_SETUP #line 253 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); } +{ RET_TOK(BinaryOpVal, Xor, XOR); } YY_BREAK case 70: YY_RULE_SETUP #line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetLT, SETLT); } +{ RET_TOK(BinaryOpVal, SetNE, SETNE); } YY_BREAK case 71: YY_RULE_SETUP #line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetGT, SETGT); } +{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); } YY_BREAK case 72: YY_RULE_SETUP #line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetLE, SETLE); } +{ RET_TOK(BinaryOpVal, SetLT, SETLT); } YY_BREAK case 73: YY_RULE_SETUP #line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetGE, SETGE); } +{ RET_TOK(BinaryOpVal, SetGT, SETGT); } YY_BREAK case 74: YY_RULE_SETUP -#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, PHI, PHI_TOK); } +#line 258 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetLE, SETLE); } YY_BREAK case 75: YY_RULE_SETUP -#line 260 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Call, CALL); } +#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetGE, SETGE); } YY_BREAK case 76: YY_RULE_SETUP #line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Cast, CAST); } +{ RET_TOK(OtherOpVal, PHI, PHI_TOK); } YY_BREAK case 77: YY_RULE_SETUP #line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Select, SELECT); } +{ RET_TOK(OtherOpVal, Call, CALL); } YY_BREAK case 78: YY_RULE_SETUP #line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Shl, SHL); } +{ RET_TOK(OtherOpVal, Cast, CAST); } YY_BREAK case 79: YY_RULE_SETUP #line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Shr, SHR); } +{ RET_TOK(OtherOpVal, Select, SELECT); } YY_BREAK case 80: YY_RULE_SETUP #line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ return VANEXT_old; } +{ RET_TOK(OtherOpVal, Shl, SHL); } YY_BREAK case 81: YY_RULE_SETUP #line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ return VAARG_old; } +{ RET_TOK(OtherOpVal, Shr, SHR); } YY_BREAK case 82: YY_RULE_SETUP #line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, VAArg , VAARG); } +{ return VANEXT_old; } YY_BREAK case 83: YY_RULE_SETUP #line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Ret, RET); } +{ return VAARG_old; } YY_BREAK case 84: YY_RULE_SETUP #line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Br, BR); } +{ RET_TOK(OtherOpVal, VAArg , VAARG); } YY_BREAK case 85: YY_RULE_SETUP #line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Switch, SWITCH); } +{ RET_TOK(TermOpVal, Ret, RET); } YY_BREAK case 86: YY_RULE_SETUP #line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Invoke, INVOKE); } +{ RET_TOK(TermOpVal, Br, BR); } YY_BREAK case 87: YY_RULE_SETUP #line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unwind, UNWIND); } +{ RET_TOK(TermOpVal, Switch, SWITCH); } YY_BREAK case 88: YY_RULE_SETUP #line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } +{ RET_TOK(TermOpVal, Invoke, INVOKE); } YY_BREAK case 89: YY_RULE_SETUP -#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Malloc, MALLOC); } +#line 274 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unwind, UNWIND); } YY_BREAK case 90: YY_RULE_SETUP -#line 276 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Alloca, ALLOCA); } +#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } YY_BREAK case 91: YY_RULE_SETUP #line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Free, FREE); } +{ RET_TOK(MemOpVal, Malloc, MALLOC); } YY_BREAK case 92: YY_RULE_SETUP #line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Load, LOAD); } +{ RET_TOK(MemOpVal, Alloca, ALLOCA); } YY_BREAK case 93: YY_RULE_SETUP #line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Store, STORE); } +{ RET_TOK(MemOpVal, Free, FREE); } YY_BREAK case 94: YY_RULE_SETUP #line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } +{ RET_TOK(MemOpVal, Load, LOAD); } YY_BREAK case 95: YY_RULE_SETUP -#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } +#line 281 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Store, STORE); } YY_BREAK case 96: YY_RULE_SETUP -#line 283 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } +#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } YY_BREAK case 97: YY_RULE_SETUP #line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); } +{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } YY_BREAK case 98: YY_RULE_SETUP -#line 287 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 285 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } + YY_BREAK +case 99: +YY_RULE_SETUP +#line 286 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); } + YY_BREAK +case 100: +YY_RULE_SETUP +#line 289 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { UnEscapeLexed(llvmAsmtext+1); llvmAsmlval.StrVal = strdup(llvmAsmtext+1); // Skip % return VAR_ID; } YY_BREAK -case 99: +case 101: YY_RULE_SETUP -#line 292 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 294 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { llvmAsmtext[strlen(llvmAsmtext)-1] = 0; // nuke colon UnEscapeLexed(llvmAsmtext); @@ -1748,10 +1789,10 @@ YY_RULE_SETUP return LABELSTR; } YY_BREAK -case 100: -/* rule 100 can match eol */ +case 102: +/* rule 102 can match eol */ YY_RULE_SETUP -#line 298 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 300 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { llvmAsmtext[strlen(llvmAsmtext)-2] = 0; // nuke colon, end quote UnEscapeLexed(llvmAsmtext+1); @@ -1759,10 +1800,10 @@ YY_RULE_SETUP return LABELSTR; } YY_BREAK -case 101: -/* rule 101 can match eol */ +case 103: +/* rule 103 can match eol */ YY_RULE_SETUP -#line 305 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 307 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { // Note that we cannot unescape a string constant here! The // string constant might contain a \00 which would not be // understood by the string stuff. It is valid to make a @@ -1773,14 +1814,14 @@ YY_RULE_SETUP return STRINGCONSTANT; } YY_BREAK -case 102: +case 104: YY_RULE_SETUP -#line 316 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 318 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; } YY_BREAK -case 103: +case 105: YY_RULE_SETUP -#line 317 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 319 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(llvmAsmtext+1); // +1: we have bigger negative range @@ -1790,17 +1831,17 @@ YY_RULE_SETUP return ESINT64VAL; } YY_BREAK -case 104: +case 106: YY_RULE_SETUP -#line 325 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 327 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3); return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL; } YY_BREAK -case 105: +case 107: YY_RULE_SETUP -#line 330 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 332 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(llvmAsmtext+1); if ((unsigned)Val != Val) @@ -1809,9 +1850,9 @@ YY_RULE_SETUP return UINTVAL; } YY_BREAK -case 106: +case 108: YY_RULE_SETUP -#line 337 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 339 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(llvmAsmtext+2); // +1: we have bigger negative range @@ -1821,18 +1862,18 @@ YY_RULE_SETUP return SINTVAL; } YY_BREAK -case 107: +case 109: YY_RULE_SETUP -#line 346 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 348 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; } YY_BREAK -case 108: +case 110: YY_RULE_SETUP -#line 347 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 351 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -1841,23 +1882,23 @@ case YY_STATE_EOF(INITIAL): return EOF; } YY_BREAK -case 109: -/* rule 109 can match eol */ +case 111: +/* rule 111 can match eol */ YY_RULE_SETUP -#line 357 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 359 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" { /* Ignore whitespace */ } YY_BREAK -case 110: -YY_RULE_SETUP -#line 358 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" -{ return llvmAsmtext[0]; } - YY_BREAK -case 111: +case 112: YY_RULE_SETUP #line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +{ return llvmAsmtext[0]; } + YY_BREAK +case 113: +YY_RULE_SETUP +#line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1861 "Lexer.cpp" +#line 1902 "Lexer.cpp" case YY_END_OF_BUFFER: { @@ -2140,7 +2181,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 479 ) + if ( yy_current_state >= 501 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2168,11 +2209,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 479 ) + if ( yy_current_state >= 501 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 478); + yy_is_jam = (yy_current_state == 500); return yy_is_jam ? 0 : yy_current_state; } @@ -2850,7 +2891,7 @@ void llvmAsmfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" +#line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l index 7c27f137bcb..635318c40ce 100644 --- a/lib/AsmParser/Lexer.l +++ b/lib/AsmParser/Lexer.l @@ -224,6 +224,8 @@ ccc { return CCC_TOK; } csretcc { return CSRETCC_TOK; } fastcc { return FASTCC_TOK; } coldcc { return COLDCC_TOK; } +x86_stdcallcc { return X86_STDCALLCC_TOK; } +x86_fastcallcc { return X86_FASTCALLCC_TOK; } void { llvmAsmlval.PrimType = Type::VoidTy ; return VOID; } bool { llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; } diff --git a/lib/AsmParser/Lexer.l.cvs b/lib/AsmParser/Lexer.l.cvs index 7c27f137bcb..635318c40ce 100644 --- a/lib/AsmParser/Lexer.l.cvs +++ b/lib/AsmParser/Lexer.l.cvs @@ -224,6 +224,8 @@ ccc { return CCC_TOK; } csretcc { return CSRETCC_TOK; } fastcc { return FASTCC_TOK; } coldcc { return COLDCC_TOK; } +x86_stdcallcc { return X86_STDCALLCC_TOK; } +x86_fastcallcc { return X86_FASTCALLCC_TOK; } void { llvmAsmlval.PrimType = Type::VoidTy ; return VOID; } bool { llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; } diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs index 8c264eacf5f..7e1eb7b1eef 100644 --- a/lib/AsmParser/llvmAsmParser.cpp.cvs +++ b/lib/AsmParser/llvmAsmParser.cpp.cvs @@ -140,43 +140,45 @@ CSRETCC_TOK = 321, FASTCC_TOK = 322, COLDCC_TOK = 323, - RET = 324, - BR = 325, - SWITCH = 326, - INVOKE = 327, - UNWIND = 328, - UNREACHABLE = 329, - ADD = 330, - SUB = 331, - MUL = 332, - DIV = 333, - REM = 334, - AND = 335, - OR = 336, - XOR = 337, - SETLE = 338, - SETGE = 339, - SETLT = 340, - SETGT = 341, - SETEQ = 342, - SETNE = 343, - MALLOC = 344, - ALLOCA = 345, - FREE = 346, - LOAD = 347, - STORE = 348, - GETELEMENTPTR = 349, - PHI_TOK = 350, - CAST = 351, - SELECT = 352, - SHL = 353, - SHR = 354, - VAARG = 355, - EXTRACTELEMENT = 356, - INSERTELEMENT = 357, - SHUFFLEVECTOR = 358, - VAARG_old = 359, - VANEXT_old = 360 + X86_STDCALLCC_TOK = 324, + X86_FASTCALLCC_TOK = 325, + RET = 326, + BR = 327, + SWITCH = 328, + INVOKE = 329, + UNWIND = 330, + UNREACHABLE = 331, + ADD = 332, + SUB = 333, + MUL = 334, + DIV = 335, + REM = 336, + AND = 337, + OR = 338, + XOR = 339, + SETLE = 340, + SETGE = 341, + SETLT = 342, + SETGT = 343, + SETEQ = 344, + SETNE = 345, + MALLOC = 346, + ALLOCA = 347, + FREE = 348, + LOAD = 349, + STORE = 350, + GETELEMENTPTR = 351, + PHI_TOK = 352, + CAST = 353, + SELECT = 354, + SHL = 355, + SHR = 356, + VAARG = 357, + EXTRACTELEMENT = 358, + INSERTELEMENT = 359, + SHUFFLEVECTOR = 360, + VAARG_old = 361, + VANEXT_old = 362 }; #endif /* Tokens. */ @@ -246,43 +248,45 @@ #define CSRETCC_TOK 321 #define FASTCC_TOK 322 #define COLDCC_TOK 323 -#define RET 324 -#define BR 325 -#define SWITCH 326 -#define INVOKE 327 -#define UNWIND 328 -#define UNREACHABLE 329 -#define ADD 330 -#define SUB 331 -#define MUL 332 -#define DIV 333 -#define REM 334 -#define AND 335 -#define OR 336 -#define XOR 337 -#define SETLE 338 -#define SETGE 339 -#define SETLT 340 -#define SETGT 341 -#define SETEQ 342 -#define SETNE 343 -#define MALLOC 344 -#define ALLOCA 345 -#define FREE 346 -#define LOAD 347 -#define STORE 348 -#define GETELEMENTPTR 349 -#define PHI_TOK 350 -#define CAST 351 -#define SELECT 352 -#define SHL 353 -#define SHR 354 -#define VAARG 355 -#define EXTRACTELEMENT 356 -#define INSERTELEMENT 357 -#define SHUFFLEVECTOR 358 -#define VAARG_old 359 -#define VANEXT_old 360 +#define X86_STDCALLCC_TOK 324 +#define X86_FASTCALLCC_TOK 325 +#define RET 326 +#define BR 327 +#define SWITCH 328 +#define INVOKE 329 +#define UNWIND 330 +#define UNREACHABLE 331 +#define ADD 332 +#define SUB 333 +#define MUL 334 +#define DIV 335 +#define REM 336 +#define AND 337 +#define OR 338 +#define XOR 339 +#define SETLE 340 +#define SETGE 341 +#define SETLT 342 +#define SETGT 343 +#define SETEQ 344 +#define SETNE 345 +#define MALLOC 346 +#define ALLOCA 347 +#define FREE 348 +#define LOAD 349 +#define STORE 350 +#define GETELEMENTPTR 351 +#define PHI_TOK 352 +#define CAST 353 +#define SELECT 354 +#define SHL 355 +#define SHR 356 +#define VAARG 357 +#define EXTRACTELEMENT 358 +#define INSERTELEMENT 359 +#define SHUFFLEVECTOR 360 +#define VAARG_old 361 +#define VANEXT_old 362 @@ -1249,7 +1253,7 @@ typedef union YYSTYPE llvm::Module::Endianness Endianness; } /* Line 193 of yacc.c. */ -#line 1253 "llvmAsmParser.tab.c" +#line 1257 "llvmAsmParser.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1262,7 +1266,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 1266 "llvmAsmParser.tab.c" +#line 1270 "llvmAsmParser.tab.c" #ifdef short # undef short @@ -1477,20 +1481,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1326 +#define YYLAST 1330 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 120 +#define YYNTOKENS 122 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 75 /* YYNRULES -- Number of rules. */ -#define YYNRULES 249 +#define YYNRULES 251 /* YYNRULES -- Number of states. */ -#define YYNSTATES 512 +#define YYNSTATES 514 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 360 +#define YYMAXUTOK 362 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1502,15 +1506,15 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 109, 110, 118, 2, 107, 2, 2, 2, 2, 2, + 111, 112, 120, 2, 109, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 114, 106, 115, 2, 2, 2, 2, 2, 2, 2, + 116, 108, 117, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 111, 108, 113, 2, 2, 2, 2, 2, 119, + 2, 113, 110, 115, 2, 2, 2, 2, 2, 121, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 112, 2, 2, 116, 2, 117, 2, 2, 2, 2, + 114, 2, 2, 118, 2, 119, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1534,7 +1538,7 @@ static const yytype_uint8 yytranslate[] = 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105 + 105, 106, 107 }; #if YYDEBUG @@ -1547,143 +1551,145 @@ static const yytype_uint16 yyprhs[] = 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 70, 71, 73, 75, 77, 79, 81, 83, 85, 86, 87, 89, 91, 93, 95, - 98, 99, 102, 103, 107, 110, 111, 113, 114, 118, - 120, 123, 125, 127, 129, 131, 133, 135, 137, 139, + 97, 99, 102, 103, 106, 107, 111, 114, 115, 117, + 118, 122, 124, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, - 161, 163, 165, 168, 173, 179, 185, 189, 192, 195, - 197, 201, 203, 207, 209, 210, 215, 219, 223, 228, - 233, 237, 240, 243, 246, 249, 252, 255, 258, 261, - 264, 267, 274, 280, 289, 296, 303, 310, 317, 324, - 333, 342, 346, 348, 350, 352, 354, 357, 360, 365, - 368, 370, 375, 378, 383, 384, 392, 393, 401, 402, - 410, 411, 419, 423, 428, 429, 431, 433, 435, 439, - 443, 447, 451, 455, 457, 458, 460, 462, 464, 465, - 468, 472, 474, 476, 480, 482, 483, 492, 494, 496, - 500, 502, 504, 507, 508, 510, 512, 513, 518, 519, - 521, 523, 525, 527, 529, 531, 533, 535, 537, 541, - 543, 549, 551, 553, 555, 557, 560, 563, 566, 570, - 573, 574, 576, 579, 582, 586, 596, 606, 615, 629, - 631, 633, 640, 646, 649, 656, 664, 666, 670, 672, - 673, 676, 678, 684, 690, 696, 699, 704, 709, 716, - 721, 726, 731, 736, 743, 750, 753, 761, 763, 766, - 767, 769, 770, 774, 781, 785, 792, 795, 800, 807 + 161, 163, 165, 167, 169, 172, 177, 183, 189, 193, + 196, 199, 201, 205, 207, 211, 213, 214, 219, 223, + 227, 232, 237, 241, 244, 247, 250, 253, 256, 259, + 262, 265, 268, 271, 278, 284, 293, 300, 307, 314, + 321, 328, 337, 346, 350, 352, 354, 356, 358, 361, + 364, 369, 372, 374, 379, 382, 387, 388, 396, 397, + 405, 406, 414, 415, 423, 427, 432, 433, 435, 437, + 439, 443, 447, 451, 455, 459, 461, 462, 464, 466, + 468, 469, 472, 476, 478, 480, 484, 486, 487, 496, + 498, 500, 504, 506, 508, 511, 512, 514, 516, 517, + 522, 523, 525, 527, 529, 531, 533, 535, 537, 539, + 541, 545, 547, 553, 555, 557, 559, 561, 564, 567, + 570, 574, 577, 578, 580, 583, 586, 590, 600, 610, + 619, 633, 635, 637, 644, 650, 653, 660, 668, 670, + 674, 676, 677, 680, 682, 688, 694, 700, 703, 708, + 713, 720, 725, 730, 735, 740, 747, 754, 757, 765, + 767, 770, 771, 773, 774, 778, 785, 789, 796, 799, + 804, 811 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 151, 0, -1, 5, -1, 6, -1, 3, -1, 4, - -1, 75, -1, 76, -1, 77, -1, 78, -1, 79, - -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, - -1, 85, -1, 86, -1, 87, -1, 88, -1, 98, - -1, 99, -1, 16, -1, 14, -1, 12, -1, 10, - -1, 17, -1, 15, -1, 13, -1, 11, -1, 127, - -1, 128, -1, 18, -1, 19, -1, 163, 106, -1, + 153, 0, -1, 5, -1, 6, -1, 3, -1, 4, + -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, + -1, 82, -1, 83, -1, 84, -1, 85, -1, 86, + -1, 87, -1, 88, -1, 89, -1, 90, -1, 100, + -1, 101, -1, 16, -1, 14, -1, 12, -1, 10, + -1, 17, -1, 15, -1, 13, -1, 11, -1, 129, + -1, 130, -1, 18, -1, 19, -1, 165, 108, -1, -1, 41, -1, 42, -1, 43, -1, 44, -1, 45, -1, 46, -1, 47, -1, -1, -1, 65, -1, 66, - -1, 67, -1, 68, -1, 64, 4, -1, -1, 57, - 4, -1, -1, 107, 57, 4, -1, 34, 24, -1, - -1, 136, -1, -1, 107, 139, 138, -1, 136, -1, - 57, 4, -1, 142, -1, 8, -1, 144, -1, 8, - -1, 144, -1, 9, -1, 10, -1, 11, -1, 12, - -1, 13, -1, 14, -1, 15, -1, 16, -1, 17, - -1, 18, -1, 19, -1, 20, -1, 21, -1, 48, - -1, 143, -1, 178, -1, 108, 4, -1, 141, 109, - 146, 110, -1, 111, 4, 112, 144, 113, -1, 114, - 4, 112, 144, 115, -1, 116, 145, 117, -1, 116, - 117, -1, 144, 118, -1, 144, -1, 145, 107, 144, - -1, 145, -1, 145, 107, 37, -1, 37, -1, -1, - 142, 111, 149, 113, -1, 142, 111, 113, -1, 142, - 119, 24, -1, 142, 114, 149, 115, -1, 142, 116, - 149, 117, -1, 142, 116, 117, -1, 142, 38, -1, - 142, 39, -1, 142, 178, -1, 142, 148, -1, 142, - 26, -1, 127, 122, -1, 128, 4, -1, 9, 27, - -1, 9, 28, -1, 130, 7, -1, 96, 109, 147, - 36, 142, 110, -1, 94, 109, 147, 192, 110, -1, - 97, 109, 147, 107, 147, 107, 147, 110, -1, 123, - 109, 147, 107, 147, 110, -1, 124, 109, 147, 107, - 147, 110, -1, 125, 109, 147, 107, 147, 110, -1, - 126, 109, 147, 107, 147, 110, -1, 101, 109, 147, - 107, 147, 110, -1, 102, 109, 147, 107, 147, 107, - 147, 110, -1, 103, 109, 147, 107, 147, 107, 147, - 110, -1, 149, 107, 147, -1, 147, -1, 32, -1, - 33, -1, 152, -1, 152, 172, -1, 152, 174, -1, - 152, 62, 61, 158, -1, 152, 25, -1, 153, -1, - 153, 131, 20, 140, -1, 153, 174, -1, 153, 62, - 61, 158, -1, -1, 153, 131, 132, 150, 147, 154, - 138, -1, -1, 153, 131, 50, 150, 142, 155, 138, - -1, -1, 153, 131, 45, 150, 142, 156, 138, -1, - -1, 153, 131, 47, 150, 142, 157, 138, -1, 153, - 51, 160, -1, 153, 58, 106, 161, -1, -1, 24, - -1, 56, -1, 55, -1, 53, 106, 159, -1, 54, - 106, 4, -1, 52, 106, 24, -1, 111, 162, 113, - -1, 162, 107, 24, -1, 24, -1, -1, 22, -1, - 24, -1, 163, -1, -1, 142, 164, -1, 166, 107, - 165, -1, 165, -1, 166, -1, 166, 107, 37, -1, - 37, -1, -1, 133, 140, 163, 109, 167, 110, 137, - 134, -1, 29, -1, 116, -1, 132, 168, 169, -1, - 30, -1, 117, -1, 181, 171, -1, -1, 45, -1, - 47, -1, -1, 31, 175, 173, 168, -1, -1, 63, - -1, 3, -1, 4, -1, 7, -1, 27, -1, 28, - -1, 38, -1, 39, -1, 26, -1, 114, 149, 115, - -1, 148, -1, 61, 176, 24, 107, 24, -1, 121, - -1, 163, -1, 178, -1, 177, -1, 142, 179, -1, - 181, 182, -1, 170, 182, -1, 183, 131, 184, -1, - 183, 186, -1, -1, 23, -1, 69, 180, -1, 69, - 8, -1, 70, 21, 179, -1, 70, 9, 179, 107, - 21, 179, 107, 21, 179, -1, 71, 129, 179, 107, - 21, 179, 111, 185, 113, -1, 71, 129, 179, 107, - 21, 179, 111, 113, -1, 72, 133, 140, 179, 109, - 189, 110, 36, 21, 179, 73, 21, 179, -1, 73, - -1, 74, -1, 185, 129, 177, 107, 21, 179, -1, - 129, 177, 107, 21, 179, -1, 131, 191, -1, 142, - 111, 179, 107, 179, 113, -1, 187, 107, 111, 179, - 107, 179, 113, -1, 180, -1, 188, 107, 180, -1, - 188, -1, -1, 60, 59, -1, 59, -1, 123, 142, - 179, 107, 179, -1, 124, 142, 179, 107, 179, -1, - 125, 142, 179, 107, 179, -1, 49, 180, -1, 126, - 180, 107, 180, -1, 96, 180, 36, 142, -1, 97, - 180, 107, 180, 107, 180, -1, 100, 180, 107, 142, - -1, 104, 180, 107, 142, -1, 105, 180, 107, 142, - -1, 101, 180, 107, 180, -1, 102, 180, 107, 180, - 107, 180, -1, 103, 180, 107, 180, 107, 180, -1, - 95, 187, -1, 190, 133, 140, 179, 109, 189, 110, - -1, 194, -1, 107, 188, -1, -1, 35, -1, -1, - 89, 142, 135, -1, 89, 142, 107, 15, 179, 135, - -1, 90, 142, 135, -1, 90, 142, 107, 15, 179, - 135, -1, 91, 180, -1, 193, 92, 142, 179, -1, - 193, 93, 180, 107, 142, 179, -1, 94, 142, 179, - 192, -1 + -1, 67, -1, 68, -1, 69, -1, 70, -1, 64, + 4, -1, -1, 57, 4, -1, -1, 109, 57, 4, + -1, 34, 24, -1, -1, 138, -1, -1, 109, 141, + 140, -1, 138, -1, 57, 4, -1, 144, -1, 8, + -1, 146, -1, 8, -1, 146, -1, 9, -1, 10, + -1, 11, -1, 12, -1, 13, -1, 14, -1, 15, + -1, 16, -1, 17, -1, 18, -1, 19, -1, 20, + -1, 21, -1, 48, -1, 145, -1, 180, -1, 110, + 4, -1, 143, 111, 148, 112, -1, 113, 4, 114, + 146, 115, -1, 116, 4, 114, 146, 117, -1, 118, + 147, 119, -1, 118, 119, -1, 146, 120, -1, 146, + -1, 147, 109, 146, -1, 147, -1, 147, 109, 37, + -1, 37, -1, -1, 144, 113, 151, 115, -1, 144, + 113, 115, -1, 144, 121, 24, -1, 144, 116, 151, + 117, -1, 144, 118, 151, 119, -1, 144, 118, 119, + -1, 144, 38, -1, 144, 39, -1, 144, 180, -1, + 144, 150, -1, 144, 26, -1, 129, 124, -1, 130, + 4, -1, 9, 27, -1, 9, 28, -1, 132, 7, + -1, 98, 111, 149, 36, 144, 112, -1, 96, 111, + 149, 194, 112, -1, 99, 111, 149, 109, 149, 109, + 149, 112, -1, 125, 111, 149, 109, 149, 112, -1, + 126, 111, 149, 109, 149, 112, -1, 127, 111, 149, + 109, 149, 112, -1, 128, 111, 149, 109, 149, 112, + -1, 103, 111, 149, 109, 149, 112, -1, 104, 111, + 149, 109, 149, 109, 149, 112, -1, 105, 111, 149, + 109, 149, 109, 149, 112, -1, 151, 109, 149, -1, + 149, -1, 32, -1, 33, -1, 154, -1, 154, 174, + -1, 154, 176, -1, 154, 62, 61, 160, -1, 154, + 25, -1, 155, -1, 155, 133, 20, 142, -1, 155, + 176, -1, 155, 62, 61, 160, -1, -1, 155, 133, + 134, 152, 149, 156, 140, -1, -1, 155, 133, 50, + 152, 144, 157, 140, -1, -1, 155, 133, 45, 152, + 144, 158, 140, -1, -1, 155, 133, 47, 152, 144, + 159, 140, -1, 155, 51, 162, -1, 155, 58, 108, + 163, -1, -1, 24, -1, 56, -1, 55, -1, 53, + 108, 161, -1, 54, 108, 4, -1, 52, 108, 24, + -1, 113, 164, 115, -1, 164, 109, 24, -1, 24, + -1, -1, 22, -1, 24, -1, 165, -1, -1, 144, + 166, -1, 168, 109, 167, -1, 167, -1, 168, -1, + 168, 109, 37, -1, 37, -1, -1, 135, 142, 165, + 111, 169, 112, 139, 136, -1, 29, -1, 118, -1, + 134, 170, 171, -1, 30, -1, 119, -1, 183, 173, + -1, -1, 45, -1, 47, -1, -1, 31, 177, 175, + 170, -1, -1, 63, -1, 3, -1, 4, -1, 7, + -1, 27, -1, 28, -1, 38, -1, 39, -1, 26, + -1, 116, 151, 117, -1, 150, -1, 61, 178, 24, + 109, 24, -1, 123, -1, 165, -1, 180, -1, 179, + -1, 144, 181, -1, 183, 184, -1, 172, 184, -1, + 185, 133, 186, -1, 185, 188, -1, -1, 23, -1, + 71, 182, -1, 71, 8, -1, 72, 21, 181, -1, + 72, 9, 181, 109, 21, 181, 109, 21, 181, -1, + 73, 131, 181, 109, 21, 181, 113, 187, 115, -1, + 73, 131, 181, 109, 21, 181, 113, 115, -1, 74, + 135, 142, 181, 111, 191, 112, 36, 21, 181, 75, + 21, 181, -1, 75, -1, 76, -1, 187, 131, 179, + 109, 21, 181, -1, 131, 179, 109, 21, 181, -1, + 133, 193, -1, 144, 113, 181, 109, 181, 115, -1, + 189, 109, 113, 181, 109, 181, 115, -1, 182, -1, + 190, 109, 182, -1, 190, -1, -1, 60, 59, -1, + 59, -1, 125, 144, 181, 109, 181, -1, 126, 144, + 181, 109, 181, -1, 127, 144, 181, 109, 181, -1, + 49, 182, -1, 128, 182, 109, 182, -1, 98, 182, + 36, 144, -1, 99, 182, 109, 182, 109, 182, -1, + 102, 182, 109, 144, -1, 106, 182, 109, 144, -1, + 107, 182, 109, 144, -1, 103, 182, 109, 182, -1, + 104, 182, 109, 182, 109, 182, -1, 105, 182, 109, + 182, 109, 182, -1, 97, 189, -1, 192, 135, 142, + 181, 111, 191, 112, -1, 196, -1, 109, 190, -1, + -1, 35, -1, -1, 91, 144, 137, -1, 91, 144, + 109, 15, 181, 137, -1, 92, 144, 137, -1, 92, + 144, 109, 15, 181, 137, -1, 93, 182, -1, 195, + 94, 144, 181, -1, 195, 95, 182, 109, 144, 181, + -1, 96, 144, 181, 194, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1034, 1034, 1035, 1043, 1044, 1054, 1054, 1054, 1054, - 1054, 1055, 1055, 1055, 1056, 1056, 1056, 1056, 1056, 1056, - 1058, 1058, 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063, - 1064, 1064, 1065, 1065, 1068, 1072, 1077, 1078, 1079, 1080, - 1081, 1082, 1083, 1084, 1086, 1087, 1088, 1089, 1090, 1091, - 1100, 1101, 1107, 1108, 1116, 1124, 1125, 1130, 1131, 1132, - 1137, 1151, 1151, 1152, 1152, 1154, 1164, 1164, 1164, 1164, - 1164, 1164, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1166, - 1170, 1174, 1181, 1189, 1202, 1207, 1219, 1229, 1233, 1242, - 1247, 1253, 1254, 1258, 1262, 1273, 1299, 1313, 1343, 1369, - 1390, 1403, 1413, 1418, 1478, 1485, 1494, 1500, 1506, 1510, - 1514, 1522, 1533, 1565, 1573, 1595, 1606, 1612, 1620, 1626, - 1632, 1641, 1645, 1653, 1653, 1663, 1671, 1676, 1680, 1684, - 1688, 1703, 1724, 1727, 1730, 1730, 1737, 1737, 1745, 1745, - 1753, 1753, 1761, 1764, 1767, 1771, 1784, 1785, 1787, 1791, - 1800, 1806, 1808, 1813, 1818, 1827, 1827, 1828, 1828, 1830, - 1837, 1843, 1850, 1854, 1860, 1865, 1870, 1964, 1964, 1966, - 1974, 1974, 1976, 1981, 1982, 1983, 1985, 1985, 1995, 1999, - 2004, 2008, 2012, 2016, 2020, 2024, 2028, 2032, 2036, 2061, - 2065, 2079, 2083, 2089, 2089, 2095, 2100, 2104, 2113, 2123, - 2128, 2139, 2151, 2155, 2159, 2163, 2167, 2182, 2187, 2241, - 2245, 2252, 2261, 2272, 2280, 2286, 2294, 2299, 2306, 2306, - 2308, 2312, 2319, 2332, 2344, 2355, 2368, 2376, 2384, 2392, - 2398, 2418, 2441, 2447, 2453, 2459, 2474, 2532, 2539, 2542, - 2547, 2551, 2558, 2563, 2568, 2573, 2578, 2586, 2597, 2611 + 0, 1035, 1035, 1036, 1044, 1045, 1055, 1055, 1055, 1055, + 1055, 1056, 1056, 1056, 1057, 1057, 1057, 1057, 1057, 1057, + 1059, 1059, 1063, 1063, 1063, 1063, 1064, 1064, 1064, 1064, + 1065, 1065, 1066, 1066, 1069, 1073, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1087, 1088, 1089, 1090, 1091, 1092, + 1093, 1094, 1103, 1104, 1110, 1111, 1119, 1127, 1128, 1133, + 1134, 1135, 1140, 1154, 1154, 1155, 1155, 1157, 1167, 1167, + 1167, 1167, 1167, 1167, 1167, 1168, 1168, 1168, 1168, 1168, + 1168, 1169, 1173, 1177, 1184, 1192, 1205, 1210, 1222, 1232, + 1236, 1245, 1250, 1256, 1257, 1261, 1265, 1276, 1302, 1316, + 1346, 1372, 1393, 1406, 1416, 1421, 1481, 1488, 1497, 1503, + 1509, 1513, 1517, 1525, 1536, 1568, 1576, 1598, 1609, 1615, + 1623, 1629, 1635, 1644, 1648, 1656, 1656, 1666, 1674, 1679, + 1683, 1687, 1691, 1706, 1727, 1730, 1733, 1733, 1740, 1740, + 1748, 1748, 1756, 1756, 1764, 1767, 1770, 1774, 1787, 1788, + 1790, 1794, 1803, 1809, 1811, 1816, 1821, 1830, 1830, 1831, + 1831, 1833, 1840, 1846, 1853, 1857, 1863, 1868, 1873, 1967, + 1967, 1969, 1977, 1977, 1979, 1984, 1985, 1986, 1988, 1988, + 1998, 2002, 2007, 2011, 2015, 2019, 2023, 2027, 2031, 2035, + 2039, 2064, 2068, 2082, 2086, 2092, 2092, 2098, 2103, 2107, + 2116, 2126, 2131, 2142, 2154, 2158, 2162, 2166, 2170, 2185, + 2190, 2244, 2248, 2255, 2264, 2275, 2283, 2289, 2297, 2302, + 2309, 2309, 2311, 2315, 2322, 2335, 2347, 2358, 2371, 2379, + 2387, 2395, 2401, 2421, 2444, 2450, 2456, 2462, 2477, 2535, + 2542, 2545, 2550, 2554, 2561, 2566, 2571, 2576, 2581, 2589, + 2600, 2614 }; #endif @@ -1703,16 +1709,17 @@ static const char *const yytname[] = "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", - "COLDCC_TOK", "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", - "ADD", "SUB", "MUL", "DIV", "REM", "AND", "OR", "XOR", "SETLE", "SETGE", - "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE", "LOAD", - "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST", "SELECT", "SHL", "SHR", - "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old", - "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", - "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "INTVAL", - "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps", "ShiftOps", - "SIntType", "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage", - "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection", + "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "RET", "BR", + "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "DIV", + "REM", "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", + "SETNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", + "PHI_TOK", "CAST", "SELECT", "SHL", "SHR", "VAARG", "EXTRACTELEMENT", + "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old", "VANEXT_old", "'='", + "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", + "'}'", "'*'", "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps", + "LogicalOps", "SetCondOps", "ShiftOps", "SIntType", "UIntType", + "IntType", "FPType", "OptAssign", "OptLinkage", "OptCallingConv", + "OptAlign", "OptCAlign", "SectionString", "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", "Module", "FunctionList", @@ -1743,39 +1750,41 @@ static const yytype_uint16 yytoknum[] = 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 61, 44, 92, 40, - 41, 91, 120, 93, 60, 62, 123, 125, 42, 99 + 355, 356, 357, 358, 359, 360, 361, 362, 61, 44, + 92, 40, 41, 91, 120, 93, 60, 62, 123, 125, + 42, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 120, 121, 121, 122, 122, 123, 123, 123, 123, - 123, 124, 124, 124, 125, 125, 125, 125, 125, 125, - 126, 126, 127, 127, 127, 127, 128, 128, 128, 128, - 129, 129, 130, 130, 131, 131, 132, 132, 132, 132, - 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, - 134, 134, 135, 135, 136, 137, 137, 138, 138, 139, - 139, 140, 140, 141, 141, 142, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 144, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 145, - 145, 146, 146, 146, 146, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 149, 149, 150, 150, 151, 152, 152, 152, 152, - 152, 153, 153, 153, 154, 153, 155, 153, 156, 153, - 157, 153, 153, 153, 153, 158, 159, 159, 160, 160, - 160, 161, 162, 162, 162, 163, 163, 164, 164, 165, - 166, 166, 167, 167, 167, 167, 168, 169, 169, 170, - 171, 171, 172, 173, 173, 173, 175, 174, 176, 176, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 178, 178, 179, 179, 180, 181, 181, 182, 183, - 183, 183, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 185, 185, 186, 187, 187, 188, 188, 189, 189, - 190, 190, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 192, 192, - 193, 193, 194, 194, 194, 194, 194, 194, 194, 194 + 0, 122, 123, 123, 124, 124, 125, 125, 125, 125, + 125, 126, 126, 126, 127, 127, 127, 127, 127, 127, + 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, + 131, 131, 132, 132, 133, 133, 134, 134, 134, 134, + 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, + 135, 135, 136, 136, 137, 137, 138, 139, 139, 140, + 140, 141, 141, 142, 142, 143, 143, 144, 145, 145, + 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 145, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 147, 147, 148, 148, 148, 148, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 151, 151, 152, 152, 153, 154, 154, + 154, 154, 154, 155, 155, 155, 156, 155, 157, 155, + 158, 155, 159, 155, 155, 155, 155, 160, 161, 161, + 162, 162, 162, 163, 164, 164, 164, 165, 165, 166, + 166, 167, 168, 168, 169, 169, 169, 169, 170, 171, + 171, 172, 173, 173, 174, 175, 175, 175, 177, 176, + 178, 178, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 180, 180, 181, 181, 182, 183, 183, + 184, 185, 185, 185, 186, 186, 186, 186, 186, 186, + 186, 186, 186, 187, 187, 188, 189, 189, 190, 190, + 191, 191, 192, 192, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 194, 194, 195, 195, 196, 196, 196, 196, 196, 196, + 196, 196 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1785,27 +1794,28 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 1, 1, 1, 2, - 0, 2, 0, 3, 2, 0, 1, 0, 3, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, + 1, 2, 0, 2, 0, 3, 2, 0, 1, 0, + 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 4, 5, 5, 3, 2, 2, 1, - 3, 1, 3, 1, 0, 4, 3, 3, 4, 4, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 6, 5, 8, 6, 6, 6, 6, 6, 8, - 8, 3, 1, 1, 1, 1, 2, 2, 4, 2, - 1, 4, 2, 4, 0, 7, 0, 7, 0, 7, - 0, 7, 3, 4, 0, 1, 1, 1, 3, 3, - 3, 3, 3, 1, 0, 1, 1, 1, 0, 2, - 3, 1, 1, 3, 1, 0, 8, 1, 1, 3, - 1, 1, 2, 0, 1, 1, 0, 4, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 5, 1, 1, 1, 1, 2, 2, 2, 3, 2, - 0, 1, 2, 2, 3, 9, 9, 8, 13, 1, - 1, 6, 5, 2, 6, 7, 1, 3, 1, 0, - 2, 1, 5, 5, 5, 2, 4, 4, 6, 4, - 4, 4, 4, 6, 6, 2, 7, 1, 2, 0, - 1, 0, 3, 6, 3, 6, 2, 4, 6, 4 + 1, 1, 1, 1, 2, 4, 5, 5, 3, 2, + 2, 1, 3, 1, 3, 1, 0, 4, 3, 3, + 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 6, 5, 8, 6, 6, 6, 6, + 6, 8, 8, 3, 1, 1, 1, 1, 2, 2, + 4, 2, 1, 4, 2, 4, 0, 7, 0, 7, + 0, 7, 0, 7, 3, 4, 0, 1, 1, 1, + 3, 3, 3, 3, 3, 1, 0, 1, 1, 1, + 0, 2, 3, 1, 1, 3, 1, 0, 8, 1, + 1, 3, 1, 1, 2, 0, 1, 1, 0, 4, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 5, 1, 1, 1, 1, 2, 2, 2, + 3, 2, 0, 1, 2, 2, 3, 9, 9, 8, + 13, 1, 1, 6, 5, 2, 6, 7, 1, 3, + 1, 0, 2, 1, 5, 5, 5, 2, 4, 4, + 6, 4, 4, 4, 4, 6, 6, 2, 7, 1, + 2, 0, 1, 0, 3, 6, 3, 6, 2, 4, + 6, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1813,347 +1823,348 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 144, 0, 43, 130, 1, 129, 176, 36, 37, 38, - 39, 40, 41, 42, 0, 44, 200, 126, 127, 200, - 155, 156, 0, 0, 0, 43, 0, 132, 173, 0, - 0, 45, 46, 47, 48, 0, 0, 201, 197, 35, - 170, 171, 172, 196, 0, 0, 0, 142, 0, 0, - 0, 0, 0, 0, 0, 34, 174, 175, 44, 145, - 128, 49, 2, 3, 62, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 0, - 0, 0, 0, 191, 0, 0, 61, 80, 65, 192, - 81, 167, 168, 169, 241, 199, 0, 0, 0, 154, - 143, 133, 131, 123, 124, 0, 0, 0, 0, 177, - 82, 0, 0, 64, 87, 89, 0, 0, 94, 88, - 240, 0, 221, 0, 0, 0, 0, 44, 209, 210, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 0, 0, 0, 0, 0, 0, - 0, 20, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 44, 213, 0, 237, 150, 147, - 146, 148, 149, 153, 0, 138, 140, 136, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, - 0, 0, 0, 134, 0, 0, 0, 86, 165, 93, - 91, 0, 0, 225, 220, 203, 202, 0, 0, 25, - 29, 24, 28, 23, 27, 22, 26, 30, 31, 0, - 0, 52, 52, 246, 0, 0, 235, 0, 0, 0, + 146, 0, 43, 132, 1, 131, 178, 36, 37, 38, + 39, 40, 41, 42, 0, 44, 202, 128, 129, 202, + 157, 158, 0, 0, 0, 43, 0, 134, 175, 0, + 0, 45, 46, 47, 48, 49, 50, 0, 0, 203, + 199, 35, 172, 173, 174, 198, 0, 0, 0, 144, + 0, 0, 0, 0, 0, 0, 0, 34, 176, 177, + 44, 147, 130, 51, 2, 3, 64, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 0, 0, 0, 0, 193, 0, 0, 63, 82, + 67, 194, 83, 169, 170, 171, 243, 201, 0, 0, + 0, 156, 145, 135, 133, 125, 126, 0, 0, 0, + 0, 179, 84, 0, 0, 66, 89, 91, 0, 0, + 96, 90, 242, 0, 223, 0, 0, 0, 0, 44, + 211, 212, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, + 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 200, 44, 215, 0, 239, + 152, 149, 148, 150, 151, 155, 0, 140, 142, 138, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 0, 0, 0, 0, 136, 0, 0, 0, 88, + 167, 95, 93, 0, 0, 227, 222, 205, 204, 0, + 0, 25, 29, 24, 28, 23, 27, 22, 26, 30, + 31, 0, 0, 54, 54, 248, 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 151, 57, 57, 57, 108, 109, 4, - 5, 106, 107, 110, 105, 101, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 153, 59, 59, 59, 110, + 111, 4, 5, 108, 109, 112, 107, 103, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 104, 103, 57, 63, 63, 90, 164, 158, 161, - 162, 0, 0, 83, 180, 181, 182, 187, 183, 184, - 185, 186, 178, 0, 189, 194, 193, 195, 0, 204, - 0, 0, 0, 242, 0, 244, 239, 0, 0, 0, + 0, 0, 0, 106, 105, 59, 65, 65, 92, 166, + 160, 163, 164, 0, 0, 85, 182, 183, 184, 189, + 185, 186, 187, 188, 180, 0, 191, 196, 195, 197, + 0, 206, 0, 0, 0, 244, 0, 246, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 152, 0, 139, 141, 137, 0, - 0, 0, 0, 0, 0, 96, 122, 0, 0, 100, - 0, 97, 0, 0, 0, 0, 135, 84, 85, 157, - 159, 0, 55, 92, 179, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 249, 0, 0, 227, 0, 229, - 232, 0, 0, 230, 231, 0, 0, 0, 226, 0, - 247, 0, 0, 0, 59, 57, 239, 0, 0, 0, - 0, 0, 0, 95, 98, 99, 0, 0, 0, 0, - 163, 160, 56, 50, 0, 188, 0, 0, 219, 52, - 53, 52, 216, 238, 0, 0, 0, 0, 0, 222, - 223, 224, 219, 0, 54, 60, 58, 0, 0, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 0, 166, - 0, 0, 0, 218, 0, 0, 243, 245, 0, 0, - 0, 228, 233, 234, 0, 248, 112, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 190, 0, 0, - 0, 217, 214, 0, 236, 111, 0, 118, 0, 0, - 114, 115, 116, 117, 0, 207, 0, 0, 0, 215, - 0, 0, 0, 205, 0, 206, 0, 0, 113, 119, - 120, 0, 0, 0, 0, 0, 0, 212, 0, 0, - 211, 208 + 0, 0, 0, 0, 0, 0, 154, 0, 141, 143, + 139, 0, 0, 0, 0, 0, 0, 98, 124, 0, + 0, 102, 0, 99, 0, 0, 0, 0, 137, 86, + 87, 159, 161, 0, 57, 94, 181, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 251, 0, 0, 229, + 0, 231, 234, 0, 0, 232, 233, 0, 0, 0, + 228, 0, 249, 0, 0, 0, 61, 59, 241, 0, + 0, 0, 0, 0, 0, 97, 100, 101, 0, 0, + 0, 0, 165, 162, 58, 52, 0, 190, 0, 0, + 221, 54, 55, 54, 218, 240, 0, 0, 0, 0, + 0, 224, 225, 226, 221, 0, 56, 62, 60, 0, + 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, + 0, 168, 0, 0, 0, 220, 0, 0, 245, 247, + 0, 0, 0, 230, 235, 236, 0, 250, 114, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 192, + 0, 0, 0, 219, 216, 0, 238, 113, 0, 120, + 0, 0, 116, 117, 118, 119, 0, 209, 0, 0, + 0, 217, 0, 0, 0, 207, 0, 208, 0, 0, + 115, 121, 122, 0, 0, 0, 0, 0, 0, 214, + 0, 0, 213, 210 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 83, 251, 267, 268, 269, 270, 189, 190, 219, - 191, 25, 15, 35, 439, 303, 384, 403, 326, 385, - 84, 85, 192, 87, 88, 116, 201, 336, 294, 337, - 105, 1, 2, 3, 273, 246, 244, 245, 60, 171, - 47, 100, 174, 89, 350, 279, 280, 281, 36, 93, - 16, 42, 17, 58, 18, 28, 355, 295, 90, 297, - 412, 19, 38, 39, 163, 487, 95, 226, 443, 444, - 164, 165, 364, 166, 167 + -1, 85, 253, 269, 270, 271, 272, 191, 192, 221, + 193, 25, 15, 37, 441, 305, 386, 405, 328, 387, + 86, 87, 194, 89, 90, 118, 203, 338, 296, 339, + 107, 1, 2, 3, 275, 248, 246, 247, 62, 173, + 49, 102, 176, 91, 352, 281, 282, 283, 38, 95, + 16, 44, 17, 60, 18, 28, 357, 297, 92, 299, + 414, 19, 40, 41, 165, 489, 97, 228, 445, 446, + 166, 167, 366, 168, 169 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -457 +#define YYPACT_NINF -428 static const yytype_int16 yypact[] = { - -457, 69, 194, 602, -457, -457, -457, -457, -457, -457, - -457, -457, -457, -457, 26, 183, 71, -457, -457, -13, - -457, -457, 13, -3, 47, 115, 30, -457, 52, 117, - 142, -457, -457, -457, -457, 1048, -20, -457, -457, 78, - -457, -457, -457, -457, 44, 45, 48, -457, 55, 117, - 1048, 12, 12, 12, 12, -457, -457, -457, 183, -457, - -457, -457, -457, -457, 46, -457, -457, -457, -457, -457, - -457, -457, -457, -457, -457, -457, -457, -457, -457, 163, - 164, 166, 569, -457, 78, 62, -457, -457, -88, -457, - -457, -457, -457, -457, 1221, -457, 148, -27, 169, 151, - -457, -457, -457, -457, -457, 1089, 1089, 1089, 1130, -457, - -457, 65, 66, -457, -457, -88, -83, 70, 843, -457, - -457, 1089, -457, 124, 1171, 5, 185, 183, -457, -457, - -457, -457, -457, -457, -457, -457, -457, -457, -457, -457, - -457, -457, -457, -457, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, -457, -457, 1089, 1089, 1089, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, -457, 183, -457, -9, -457, -457, -457, - -457, -457, -457, -457, -45, -457, -457, -457, 89, 128, - 180, 130, 182, 136, 184, 140, 187, 196, 200, 145, - 204, 202, 422, -457, 1089, 1089, 1089, -457, 884, -457, - 80, 79, 635, -457, -457, 46, -457, 635, 635, -457, - -457, -457, -457, -457, -457, -457, -457, -457, -457, 635, - 1048, 103, 105, -457, 635, 106, 111, 186, 113, 116, - 119, 120, 121, 146, 147, 635, 635, 635, 150, 1048, - 1089, 1089, 231, -457, 152, 152, 152, -457, -457, -457, - -457, -457, -457, -457, -457, -457, -457, 149, 153, 154, - 155, 156, 159, 925, 1130, 589, 236, 160, 161, 175, - 177, -457, -457, 152, -86, -54, -88, -457, 78, -457, - 188, 114, 966, -457, -457, -457, -457, -457, -457, -457, - -457, -457, 198, 1130, -457, -457, -457, -457, 189, -457, - 190, 635, -4, -457, 3, -457, 191, 635, 162, 1089, - 1089, 1089, 1089, 1089, 1089, 1089, 1089, 195, 197, 199, - 1089, 635, 635, 201, -457, -11, -457, -457, -457, 1130, - 1130, 1130, 1130, 1130, 1130, -457, -457, -12, -22, -457, - -26, -457, 1130, 1130, 1130, 1130, -457, -457, -457, -457, - -457, 1007, 253, -457, -457, 265, -17, 269, 270, 203, - 635, 289, 635, 1089, -457, 206, 635, -457, 207, -457, - -457, 208, 216, -457, -457, 635, 635, 635, -457, 215, - -457, 1089, 279, 290, -457, 152, 191, 273, 218, 219, - 220, 226, 1130, -457, -457, -457, 232, 233, 234, 235, - -457, -457, -457, 281, 240, -457, 635, 635, 1089, 241, - -457, 241, -457, 243, 635, 246, 1089, 1089, 1089, -457, - -457, -457, 1089, 635, -457, -457, -457, 244, 1089, 1130, - 1130, 1130, 1130, -457, 1130, 1130, 1130, 1130, 306, -457, - 319, 248, 245, 243, 247, 301, -457, -457, 1089, 251, - 635, -457, -457, -457, 250, -457, -457, 256, 254, 257, - 262, 263, 264, 267, 274, 278, -457, -457, 351, 25, - 339, -457, -457, 276, -457, -457, 1130, -457, 1130, 1130, - -457, -457, -457, -457, 635, -457, 736, 63, 359, -457, - 280, 282, 284, -457, 291, -457, 736, 635, -457, -457, - -457, 370, 292, 323, 635, 376, 379, -457, 635, 635, - -457, -457 + -428, 45, 194, 602, -428, -428, -428, -428, -428, -428, + -428, -428, -428, -428, 26, 14, 85, -428, -428, -13, + -428, -428, 91, 28, 90, 49, 33, -428, 21, 155, + 158, -428, -428, -428, -428, -428, -428, 1052, -20, -428, + -428, 80, -428, -428, -428, -428, 75, 76, 79, -428, + 73, 155, 1052, 84, 84, 84, 84, -428, -428, -428, + 14, -428, -428, -428, -428, -428, 77, -428, -428, -428, + -428, -428, -428, -428, -428, -428, -428, -428, -428, -428, + -428, 185, 187, 191, 569, -428, 80, 86, -428, -428, + -44, -428, -428, -428, -428, -428, 1223, -428, 175, 78, + 192, 176, -428, -428, -428, -428, -428, 1093, 1093, 1093, + 1134, -428, -428, 87, 88, -428, -428, -44, -95, 92, + 847, -428, -428, 1093, -428, 139, 1175, 52, 144, 14, + -428, -428, -428, -428, -428, -428, -428, -428, -428, -428, + -428, -428, -428, -428, -428, -428, 1093, 1093, 1093, 1093, + 1093, 1093, 1093, -428, -428, 1093, 1093, 1093, 1093, 1093, + 1093, 1093, 1093, 1093, 1093, -428, 14, -428, 44, -428, + -428, -428, -428, -428, -428, -428, -12, -428, -428, -428, + 138, 164, 203, 167, 204, 169, 205, 172, 206, 210, + 211, 174, 208, 213, 412, -428, 1093, 1093, 1093, -428, + 888, -428, 113, 111, 635, -428, -428, 77, -428, 635, + 635, -428, -428, -428, -428, -428, -428, -428, -428, -428, + -428, 635, 1052, 115, 117, -428, 635, 114, 119, 212, + 140, 141, 142, 145, 146, 148, 149, 635, 635, 635, + 150, 1052, 1093, 1093, 223, -428, 151, 151, 151, -428, + -428, -428, -428, -428, -428, -428, -428, -428, -428, 152, + 153, 154, 157, 159, 162, 929, 1134, 589, 229, 173, + 178, 179, 180, -428, -428, 151, -15, 15, -44, -428, + 80, -428, 160, 181, 970, -428, -428, -428, -428, -428, + -428, -428, -428, -428, 198, 1134, -428, -428, -428, -428, + 177, -428, 186, 635, -4, -428, 3, -428, 188, 635, + 183, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 189, + 193, 195, 1093, 635, 635, 197, -428, -11, -428, -428, + -428, 1134, 1134, 1134, 1134, 1134, 1134, -428, -428, -8, + -96, -428, -45, -428, 1134, 1134, 1134, 1134, -428, -428, + -428, -428, -428, 1011, 228, -428, -428, 263, -32, 273, + 282, 199, 635, 304, 635, 1093, -428, 200, 635, -428, + 214, -428, -428, 215, 216, -428, -428, 635, 635, 635, + -428, 201, -428, 1093, 289, 310, -428, 151, 188, 279, + 217, 218, 224, 230, 1134, -428, -428, -428, 231, 232, + 233, 234, -428, -428, -428, 281, 238, -428, 635, 635, + 1093, 239, -428, 239, -428, 241, 635, 244, 1093, 1093, + 1093, -428, -428, -428, 1093, 635, -428, -428, -428, 242, + 1093, 1134, 1134, 1134, 1134, -428, 1134, 1134, 1134, 1134, + 351, -428, 332, 248, 245, 241, 249, 303, -428, -428, + 1093, 251, 635, -428, -428, -428, 252, -428, -428, 255, + 260, 258, 265, 266, 268, 272, 276, 277, -428, -428, + 356, 16, 336, -428, -428, 275, -428, -428, 1134, -428, + 1134, 1134, -428, -428, -428, -428, 635, -428, 738, 25, + 370, -428, 280, 284, 285, -428, 290, -428, 738, 635, + -428, -428, -428, 373, 291, 323, 635, 380, 381, -428, + 635, 635, -428, -428 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -457, -457, -457, 307, 308, 309, 310, -125, -124, -456, - -457, 366, 381, -115, -457, -219, 56, -457, -240, -457, - -46, -457, -35, -457, -66, 293, -457, -100, 217, -245, - 53, -457, -457, -457, -457, -457, -457, -457, 358, -457, - -457, -457, -457, 4, -457, 59, -457, -457, 354, -457, - -457, -457, -457, -457, 411, -457, -457, -404, -55, 64, - -99, -457, 396, -457, -457, -457, -457, -457, 54, -6, - -457, -457, 32, -457, -457 + -428, -428, -428, 307, 308, 309, 311, -127, -126, -427, + -428, 365, 383, -117, -428, -221, 55, -428, -241, -428, + -48, -428, -37, -428, -68, 292, -428, -102, 220, -247, + 94, -428, -428, -428, -428, -428, -428, -428, 359, -428, + -428, -428, -428, 2, -428, 58, -428, -428, 355, -428, + -428, -428, -428, -428, 413, -428, -428, -423, -57, 62, + -101, -428, 400, -428, -428, -428, -428, -428, 56, -2, + -428, -428, 32, -428, -428 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -126 +#define YYTABLE_NINF -128 static const yytype_int16 yytable[] = { - 86, 217, 218, 305, 102, 327, 328, 26, 193, 91, - 37, 360, 220, 486, 207, 86, 115, 40, 362, 338, - 340, -63, 203, 382, 196, 206, 208, 347, 169, 170, - 119, 496, 119, 346, 197, 209, 210, 211, 212, 213, - 214, 215, 216, 26, 103, 104, 383, 223, 356, 239, - 227, 228, 115, 361, 229, 230, 231, 232, 233, 234, - 361, 348, 242, 238, 119, 44, 45, 46, 243, 4, - 175, 176, 177, 209, 210, 211, 212, 213, 214, 215, - 216, 392, 494, 240, 241, 392, 202, 29, 117, 202, - 392, 395, 502, 394, 37, 392, 92, 56, 405, 57, - 20, 393, 21, 48, 41, 106, 107, 108, 49, 221, - 222, 202, 224, 225, 202, 202, 247, 248, 202, 202, - 202, 202, 202, 202, 235, 236, 237, 202, 274, 275, - 276, -25, -25, -24, -24, 50, 55, 272, 485, -23, - -23, 59, 323, -22, -22, 426, 61, 296, 249, 250, - 96, 97, 296, 296, 98, -64, 7, 8, 9, 10, - 51, 12, 52, 278, 296, 53, 99, 110, 111, 296, - 112, 118, 168, 172, 301, 173, 495, 194, 195, 198, - 296, 296, 296, 204, -29, 86, -28, 282, -27, 283, - 446, -26, 447, 321, -125, 209, 210, 211, 212, 213, - 214, 215, 216, -32, 86, 322, 202, -33, 252, 253, - 302, 368, 304, 370, 371, 372, 276, 307, 308, 5, - 310, 378, 309, 311, 352, 6, 312, 313, 314, 386, - 387, 388, 389, 390, 391, 7, 8, 9, 10, 11, - 12, 13, 396, 397, 398, 399, 296, 30, 31, 32, - 33, 34, 296, 315, 316, 324, 14, 320, 329, 325, - 341, 354, 330, 331, 332, 333, 296, 296, 334, 342, - 343, 298, 299, 366, 367, 202, 369, 202, 202, 202, - 373, 374, 349, 300, 344, 202, 345, 382, 306, 404, - 406, 407, 433, 410, 425, 351, 357, 358, 363, 317, - 318, 319, 375, 424, 376, 296, 377, 296, 381, 428, - 466, 296, 408, 414, 416, 417, 278, 451, 452, 453, - 296, 296, 296, 418, 422, 429, 430, 431, 202, 458, - 459, 460, 461, 432, 462, 463, 464, 465, 438, 434, - 435, 436, 437, 467, 217, 218, 423, 440, 445, 471, - 448, 296, 296, 450, 456, 468, 469, 470, 361, 296, - 474, 476, 217, 218, 472, 359, 475, 477, 296, 478, - 479, 365, 484, 202, 480, 488, 490, 481, 491, 492, - 497, 202, 202, 202, 482, 379, 380, 202, 483, 489, - 498, 504, 499, 457, 500, 296, 506, 508, 501, 505, - 509, 159, 160, 161, 162, 94, 54, 101, 402, 271, - 401, 200, 109, 202, 27, 43, 454, 413, 427, 0, - 0, 0, 0, 0, 409, 0, 411, 62, 63, 296, - 415, 0, 0, 0, 0, 0, 0, 0, 0, 419, - 420, 421, 296, 0, 20, 0, 21, 0, 254, 296, - 0, 0, 0, 296, 296, 0, 0, 0, 0, 0, - 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 441, 442, 0, 0, 0, 0, 0, 0, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 130, 131, 132, + 88, 219, 220, 307, 104, 26, 329, 330, 195, 93, + 39, 362, 222, 394, 198, 88, 117, 42, 364, 340, + 342, 396, 205, 384, 199, 208, 211, 212, 213, 214, + 215, 216, 217, 218, 348, 211, 212, 213, 214, 215, + 216, 217, 218, 26, 488, 4, 385, 225, 358, 241, + 229, 230, 117, 363, 231, 232, 233, 234, 235, 236, + 363, 209, 498, 240, 394, 496, 58, -65, 59, 52, + 177, 178, 179, 210, 397, 504, 121, 394, 30, 31, + 32, 33, 34, 35, 36, 407, 204, 29, 119, 204, + 7, 8, 9, 10, 53, 12, 54, 244, 94, 55, + 349, 394, 20, 245, 21, 121, 43, 395, 39, 223, + 224, 204, 226, 227, 204, 204, 105, 106, 204, 204, + 204, 204, 204, 204, 237, 238, 239, 204, 276, 277, + 278, 487, 350, 171, 172, 121, 50, 274, 242, 243, + 497, 57, 325, 46, 47, 48, 428, 298, 108, 109, + 110, 51, 298, 298, 211, 212, 213, 214, 215, 216, + 217, 218, 63, 280, 298, 249, 250, -25, -25, 298, + -24, -24, -23, -23, 303, -22, -22, 251, 252, 61, + 298, 298, 298, 98, 99, 88, 101, 100, -66, 112, + 448, 113, 449, 323, -127, 114, 174, 120, 206, 170, + 175, 196, 197, 200, 88, 324, 204, -29, -28, -27, + -26, 370, 254, 372, 373, 374, 278, -32, -33, 5, + 255, 380, 284, 285, 304, 6, 306, 309, 310, 388, + 389, 390, 391, 392, 393, 7, 8, 9, 10, 11, + 12, 13, 398, 399, 400, 401, 298, 326, 311, 312, + 313, 314, 298, 343, 315, 316, 14, 317, 318, 322, + 327, 356, 384, 331, 332, 333, 298, 298, 334, 353, + 335, 300, 301, 336, 369, 204, 371, 204, 204, 204, + 375, 376, 351, 302, 344, 204, 359, 406, 308, 345, + 346, 347, 435, 354, 408, 360, 368, 365, 377, 319, + 320, 321, 378, 409, 379, 298, 383, 298, 412, 416, + 410, 298, 424, 426, 427, 430, 280, 453, 454, 455, + 298, 298, 298, 418, 419, 420, 431, 432, 204, 460, + 461, 462, 463, 433, 464, 465, 466, 467, 440, 434, + 436, 437, 438, 439, 219, 220, 425, 442, 447, 473, + 450, 298, 298, 452, 458, 468, 469, 470, 471, 298, + 363, 472, 219, 220, 476, 361, 474, 477, 298, 478, + 479, 367, 490, 204, 480, 481, 492, 486, 493, 494, + 482, 204, 204, 204, 483, 381, 382, 204, 484, 485, + 491, 499, 500, 459, 506, 298, 501, 502, 508, 503, + 507, 510, 511, 161, 162, 163, 96, 164, 56, 404, + 103, 403, 202, 204, 273, 111, 27, 64, 65, 45, + 429, 415, 456, 0, 411, 0, 413, 0, 0, 298, + 417, 0, 0, 0, 20, 0, 21, 0, 256, 421, + 422, 423, 298, 0, 0, 0, 0, 0, 0, 298, + 257, 258, 0, 298, 298, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 443, 444, 0, 0, 0, 0, 0, 0, 451, 0, + 0, 0, 0, 0, 0, 0, 0, 457, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 0, 0, 0, 473, 0, 257, 0, 258, 259, - 151, 152, 0, 260, 261, 262, 0, 0, 0, 0, - 0, 0, 0, 263, 0, 0, 264, 0, 265, 0, - 0, 266, 0, 0, 0, 0, 0, 0, 493, 0, + 143, 144, 145, 0, 0, 0, 0, 0, 259, 0, + 260, 261, 153, 154, 475, 262, 263, 264, 0, 0, + 0, 0, 0, 0, 0, 265, 0, 0, 266, 0, + 267, 0, 0, 268, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 503, 0, 0, 0, 0, 0, 0, 507, 0, - 0, 0, 510, 511, 62, 63, 0, 113, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 20, 0, 21, 62, 63, 0, 113, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 76, - 77, 20, 0, 21, 0, 0, 0, 78, 0, 0, + 0, 505, 0, 0, 0, 0, 0, 0, 509, 0, + 0, 0, 512, 513, 64, 65, 0, 115, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 20, 0, 21, 64, 65, 0, 115, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 78, + 79, 20, 0, 21, 0, 0, 0, 80, 0, 0, 0, 0, -35, 0, 20, 0, 21, 0, 0, 0, - 0, 0, 0, 6, -35, -35, 0, 78, 284, 285, - 62, 63, 286, -35, -35, -35, -35, -35, -35, -35, + 0, 0, 0, 6, -35, -35, 0, 80, 286, 287, + 64, 65, 288, -35, -35, -35, -35, -35, -35, -35, 0, 0, -35, 22, 0, 0, 0, 20, 0, 21, - 23, 287, 288, 289, 24, 0, 0, 0, 0, 0, - 0, 0, 0, 290, 291, 0, 0, 79, 0, 0, - 80, 0, 0, 81, 0, 82, 114, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 292, 79, 0, 0, - 80, 0, 0, 81, 0, 82, 339, 0, 0, 0, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 0, 0, 0, 0, 0, 257, - 0, 258, 259, 151, 152, 0, 260, 261, 262, 284, - 285, 0, 0, 286, 0, 0, 0, 0, 0, 293, + 23, 289, 290, 291, 24, 0, 0, 0, 0, 0, + 0, 0, 0, 292, 293, 0, 0, 0, 0, 81, + 0, 0, 82, 0, 0, 83, 0, 84, 116, 0, + 0, 0, 0, 0, 0, 0, 294, 0, 0, 81, + 0, 0, 82, 0, 0, 83, 0, 84, 341, 0, + 0, 0, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 0, 0, 0, 0, + 0, 259, 0, 260, 261, 153, 154, 0, 262, 263, + 264, 286, 287, 0, 0, 288, 0, 0, 0, 0, + 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 289, 290, 291, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 288, 289, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 290, 291, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 292, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 0, 0, 0, 0, 0, - 257, 0, 258, 259, 151, 152, 0, 260, 261, 262, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 63, - 293, 113, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 20, 0, 21, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 0, 0, 0, 0, 0, 0, 0, 0, 62, - 63, 78, 113, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 20, 0, 21, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 63, 78, 113, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 76, 77, 20, 0, 21, - 0, 79, 0, 0, 80, 0, 0, 81, 0, 82, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 62, 63, 78, 113, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 20, 0, - 21, 0, 79, 0, 0, 80, 0, 0, 81, 0, - 82, 0, 0, 353, 0, 0, 0, 0, 0, 0, - 0, 0, 62, 63, 78, 113, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 20, - 0, 21, 0, 79, 0, 0, 80, 0, 335, 81, - 0, 82, 0, 0, 400, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 63, 78, 64, 65, 66, 67, + 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, + 0, 0, 0, 0, 259, 0, 260, 261, 153, 154, + 0, 262, 263, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 64, 65, 295, 115, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 20, + 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 201, 0, 0, 0, 0, 0, + 0, 0, 0, 64, 65, 80, 115, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, + 0, 0, 0, 0, 64, 65, 80, 115, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 78, + 79, 20, 0, 21, 0, 0, 0, 81, 0, 0, + 82, 0, 0, 83, 0, 84, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64, 65, 80, 115, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 20, 0, 21, 0, 79, 0, 0, 80, 0, 0, - 81, 0, 82, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 63, 78, 113, 65, 66, + 78, 79, 20, 0, 21, 0, 0, 0, 81, 0, + 0, 82, 0, 0, 83, 0, 84, 355, 0, 0, + 0, 0, 0, 0, 0, 0, 64, 65, 80, 115, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 20, 0, 21, 0, 79, 0, 0, 80, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 62, 63, 78, 113, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 76, 77, 20, 0, 21, 0, 79, 0, 0, 80, - 0, 0, 81, 0, 82, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 62, 63, 78, 205, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 20, 0, 21, 0, 79, 0, 0, - 80, 0, 0, 81, 0, 82, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, + 77, 78, 79, 20, 0, 21, 0, 0, 0, 81, + 0, 0, 82, 0, 337, 83, 0, 84, 402, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 65, 80, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 20, 0, 21, 0, 0, 0, + 81, 0, 0, 82, 0, 0, 83, 0, 84, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, + 80, 115, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 20, 0, 21, 0, 0, + 0, 81, 0, 0, 82, 0, 0, 83, 0, 84, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, + 65, 80, 115, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 78, 79, 20, 0, 21, 0, + 0, 0, 81, 0, 0, 82, 0, 0, 83, 0, + 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 64, 65, 80, 207, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 20, 0, 21, + 0, 0, 0, 81, 0, 0, 82, 0, 0, 83, + 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, - 0, 80, 0, 0, 81, 0, 82, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 82, 0, 0, + 83, 0, 84, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 79, - 122, 123, 80, 0, 0, 81, 0, 82, 0, 0, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 0, 0, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158 + 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 124, 125, 0, 81, 0, 0, 82, 0, + 0, 83, 0, 84, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 0, 0, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160 }; static const yytype_int16 yycheck[] = { - 35, 126, 126, 222, 50, 245, 246, 3, 108, 29, - 23, 15, 127, 469, 9, 50, 82, 30, 15, 264, - 265, 109, 121, 34, 107, 124, 21, 113, 55, 56, - 118, 487, 118, 273, 117, 10, 11, 12, 13, 14, - 15, 16, 17, 39, 32, 33, 57, 146, 293, 164, - 149, 150, 118, 57, 153, 154, 155, 156, 157, 158, - 57, 115, 107, 162, 118, 52, 53, 54, 113, 0, - 105, 106, 107, 10, 11, 12, 13, 14, 15, 16, - 17, 107, 486, 92, 93, 107, 121, 61, 84, 124, - 107, 117, 496, 115, 23, 107, 116, 45, 115, 47, - 22, 113, 24, 106, 117, 52, 53, 54, 61, 144, - 145, 146, 147, 148, 149, 150, 27, 28, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 194, 195, - 196, 3, 4, 3, 4, 20, 106, 192, 113, 3, - 4, 24, 241, 3, 4, 385, 4, 202, 3, 4, - 106, 106, 207, 208, 106, 109, 41, 42, 43, 44, - 45, 46, 47, 198, 219, 50, 111, 4, 4, 224, - 4, 109, 24, 4, 220, 24, 113, 112, 112, 109, - 235, 236, 237, 59, 4, 220, 4, 107, 4, 110, - 409, 4, 411, 239, 0, 10, 11, 12, 13, 14, - 15, 16, 17, 7, 239, 240, 241, 7, 4, 7, - 107, 310, 107, 312, 313, 314, 282, 111, 107, 25, - 107, 320, 36, 107, 110, 31, 107, 107, 107, 329, - 330, 331, 332, 333, 334, 41, 42, 43, 44, 45, - 46, 47, 342, 343, 344, 345, 301, 64, 65, 66, - 67, 68, 307, 107, 107, 24, 62, 107, 109, 107, - 24, 63, 109, 109, 109, 109, 321, 322, 109, 109, - 109, 207, 208, 111, 309, 310, 311, 312, 313, 314, - 315, 316, 278, 219, 109, 320, 109, 34, 224, 24, - 21, 21, 392, 4, 4, 107, 107, 107, 107, 235, - 236, 237, 107, 24, 107, 360, 107, 362, 107, 36, - 4, 366, 109, 107, 107, 107, 351, 416, 417, 418, - 375, 376, 377, 107, 109, 107, 107, 107, 363, 429, - 430, 431, 432, 107, 434, 435, 436, 437, 57, 107, - 107, 107, 107, 24, 469, 469, 381, 107, 107, 448, - 107, 406, 407, 107, 110, 107, 111, 110, 57, 414, - 110, 107, 487, 487, 113, 301, 110, 110, 423, 107, - 107, 307, 21, 408, 110, 36, 476, 110, 478, 479, - 21, 416, 417, 418, 110, 321, 322, 422, 110, 113, - 110, 21, 110, 428, 110, 450, 73, 21, 107, 107, - 21, 94, 94, 94, 94, 39, 25, 49, 352, 192, - 351, 118, 58, 448, 3, 19, 422, 363, 386, -1, - -1, -1, -1, -1, 360, -1, 362, 5, 6, 484, - 366, -1, -1, -1, -1, -1, -1, -1, -1, 375, - 376, 377, 497, -1, 22, -1, 24, -1, 26, 504, - -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, - 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, - 406, 407, -1, -1, -1, -1, -1, -1, 414, -1, - -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, -1, -1, -1, 450, -1, 94, -1, 96, 97, - 98, 99, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, -1, -1, 114, -1, 116, -1, - -1, 119, -1, -1, -1, -1, -1, -1, 484, -1, + 37, 128, 128, 224, 52, 3, 247, 248, 110, 29, + 23, 15, 129, 109, 109, 52, 84, 30, 15, 266, + 267, 117, 123, 34, 119, 126, 10, 11, 12, 13, + 14, 15, 16, 17, 275, 10, 11, 12, 13, 14, + 15, 16, 17, 41, 471, 0, 57, 148, 295, 166, + 151, 152, 120, 57, 155, 156, 157, 158, 159, 160, + 57, 9, 489, 164, 109, 488, 45, 111, 47, 20, + 107, 108, 109, 21, 119, 498, 120, 109, 64, 65, + 66, 67, 68, 69, 70, 117, 123, 61, 86, 126, + 41, 42, 43, 44, 45, 46, 47, 109, 118, 50, + 115, 109, 22, 115, 24, 120, 119, 115, 23, 146, + 147, 148, 149, 150, 151, 152, 32, 33, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 196, 197, + 198, 115, 117, 55, 56, 120, 108, 194, 94, 95, + 115, 108, 243, 52, 53, 54, 387, 204, 54, 55, + 56, 61, 209, 210, 10, 11, 12, 13, 14, 15, + 16, 17, 4, 200, 221, 27, 28, 3, 4, 226, + 3, 4, 3, 4, 222, 3, 4, 3, 4, 24, + 237, 238, 239, 108, 108, 222, 113, 108, 111, 4, + 411, 4, 413, 241, 0, 4, 4, 111, 59, 24, + 24, 114, 114, 111, 241, 242, 243, 4, 4, 4, + 4, 312, 4, 314, 315, 316, 284, 7, 7, 25, + 7, 322, 109, 112, 109, 31, 109, 113, 109, 331, + 332, 333, 334, 335, 336, 41, 42, 43, 44, 45, + 46, 47, 344, 345, 346, 347, 303, 24, 36, 109, + 109, 109, 309, 24, 109, 109, 62, 109, 109, 109, + 109, 63, 34, 111, 111, 111, 323, 324, 111, 109, + 111, 209, 210, 111, 311, 312, 313, 314, 315, 316, + 317, 318, 280, 221, 111, 322, 109, 24, 226, 111, + 111, 111, 394, 112, 21, 109, 113, 109, 109, 237, + 238, 239, 109, 21, 109, 362, 109, 364, 4, 109, + 111, 368, 111, 24, 4, 36, 353, 418, 419, 420, + 377, 378, 379, 109, 109, 109, 109, 109, 365, 431, + 432, 433, 434, 109, 436, 437, 438, 439, 57, 109, + 109, 109, 109, 109, 471, 471, 383, 109, 109, 450, + 109, 408, 409, 109, 112, 4, 24, 109, 113, 416, + 57, 112, 489, 489, 112, 303, 115, 112, 425, 109, + 112, 309, 36, 410, 109, 109, 478, 21, 480, 481, + 112, 418, 419, 420, 112, 323, 324, 424, 112, 112, + 115, 21, 112, 430, 21, 452, 112, 112, 75, 109, + 109, 21, 21, 96, 96, 96, 41, 96, 25, 354, + 51, 353, 120, 450, 194, 60, 3, 5, 6, 19, + 388, 365, 424, -1, 362, -1, 364, -1, -1, 486, + 368, -1, -1, -1, 22, -1, 24, -1, 26, 377, + 378, 379, 499, -1, -1, -1, -1, -1, -1, 506, + 38, 39, -1, 510, 511, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 497, -1, -1, -1, -1, -1, -1, 504, -1, - -1, -1, 508, 509, 5, 6, -1, 8, 9, 10, + 408, 409, -1, -1, -1, -1, -1, -1, 416, -1, + -1, -1, -1, -1, -1, -1, -1, 425, -1, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, -1, -1, -1, -1, -1, 96, -1, + 98, 99, 100, 101, 452, 103, 104, 105, -1, -1, + -1, -1, -1, -1, -1, 113, -1, -1, 116, -1, + 118, -1, -1, 121, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 486, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 499, -1, -1, -1, -1, -1, -1, 506, -1, + -1, -1, 510, 511, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, @@ -2163,130 +2174,131 @@ static const yytype_int16 yycheck[] = 5, 6, 7, 41, 42, 43, 44, 45, 46, 47, -1, -1, 50, 51, -1, -1, -1, 22, -1, 24, 58, 26, 27, 28, 62, -1, -1, -1, -1, -1, - -1, -1, -1, 38, 39, -1, -1, 108, -1, -1, - 111, -1, -1, 114, -1, 116, 117, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 108, -1, -1, - 111, -1, -1, 114, -1, 116, 117, -1, -1, -1, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, -1, -1, -1, -1, -1, 94, - -1, 96, 97, 98, 99, -1, 101, 102, 103, 3, - 4, -1, -1, 7, -1, -1, -1, -1, -1, 114, + -1, -1, -1, 38, 39, -1, -1, -1, -1, 110, + -1, -1, 113, -1, -1, 116, -1, 118, 119, -1, + -1, -1, -1, -1, -1, -1, 61, -1, -1, 110, + -1, -1, 113, -1, -1, 116, -1, 118, 119, -1, + -1, -1, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, + -1, 96, -1, 98, 99, 100, 101, -1, 103, 104, + 105, 3, 4, -1, -1, 7, -1, -1, -1, -1, + -1, 116, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, - 94, -1, 96, 97, 98, 99, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, - 114, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, -1, -1, -1, -1, 5, - 6, 48, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, - 5, 6, 48, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, - -1, 108, -1, -1, 111, -1, -1, 114, -1, 116, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5, 6, 48, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, - 24, -1, 108, -1, -1, 111, -1, -1, 114, -1, - 116, -1, -1, 37, -1, -1, -1, -1, -1, -1, - -1, -1, 5, 6, 48, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, + -1, -1, -1, -1, 96, -1, 98, 99, 100, 101, + -1, 103, 104, 105, -1, -1, -1, -1, -1, -1, + -1, -1, 5, 6, 116, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - -1, 24, -1, 108, -1, -1, 111, -1, 113, 114, - -1, 116, -1, -1, 37, -1, -1, -1, -1, -1, + -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 48, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, 108, -1, -1, 111, -1, -1, - 114, -1, 116, -1, -1, -1, -1, -1, -1, -1, + 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 48, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, -1, 24, -1, 108, -1, -1, 111, -1, - -1, 114, -1, 116, -1, -1, -1, -1, -1, -1, + 21, 22, -1, 24, -1, -1, -1, 110, -1, -1, + 113, -1, -1, 116, -1, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 48, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, -1, 24, -1, 108, -1, -1, 111, - -1, -1, 114, -1, 116, -1, -1, -1, -1, -1, + 20, 21, 22, -1, 24, -1, -1, -1, 110, -1, + -1, 113, -1, -1, 116, -1, 118, 37, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 48, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, -1, 24, -1, 108, -1, -1, - 111, -1, -1, 114, -1, 116, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 19, 20, 21, 22, -1, 24, -1, -1, -1, 110, + -1, -1, 113, -1, 115, 116, -1, 118, 37, -1, + -1, -1, -1, -1, -1, -1, -1, 5, 6, 48, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, -1, 24, -1, -1, -1, + 110, -1, -1, 113, -1, -1, 116, -1, 118, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, + 48, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, -1, 24, -1, -1, + -1, 110, -1, -1, 113, -1, -1, 116, -1, 118, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, + 6, 48, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, + -1, -1, 110, -1, -1, 113, -1, -1, 116, -1, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 6, 48, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, + -1, -1, -1, 110, -1, -1, 113, -1, -1, 116, + -1, 118, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 108, -1, - -1, 111, -1, -1, 114, -1, 116, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, + -1, -1, -1, -1, 110, -1, -1, 113, -1, -1, + 116, -1, 118, -1, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 49, -1, -1, -1, -1, -1, -1, -1, -1, 108, - 59, 60, 111, -1, -1, 114, -1, 116, -1, -1, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, -1, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105 + -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 60, -1, 110, -1, -1, 113, -1, + -1, 116, -1, 118, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, -1, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 151, 152, 153, 0, 25, 31, 41, 42, 43, - 44, 45, 46, 47, 62, 132, 170, 172, 174, 181, - 22, 24, 51, 58, 62, 131, 163, 174, 175, 61, - 64, 65, 66, 67, 68, 133, 168, 23, 182, 183, - 30, 117, 171, 182, 52, 53, 54, 160, 106, 61, - 20, 45, 47, 50, 132, 106, 45, 47, 173, 24, - 158, 4, 5, 6, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 48, 108, - 111, 114, 116, 121, 140, 141, 142, 143, 144, 163, - 178, 29, 116, 169, 131, 186, 106, 106, 106, 111, - 161, 158, 140, 32, 33, 150, 150, 150, 150, 168, - 4, 4, 4, 8, 117, 144, 145, 163, 109, 118, - 35, 49, 59, 60, 69, 70, 71, 72, 73, 74, + 0, 153, 154, 155, 0, 25, 31, 41, 42, 43, + 44, 45, 46, 47, 62, 134, 172, 174, 176, 183, + 22, 24, 51, 58, 62, 133, 165, 176, 177, 61, + 64, 65, 66, 67, 68, 69, 70, 135, 170, 23, + 184, 185, 30, 119, 173, 184, 52, 53, 54, 162, + 108, 61, 20, 45, 47, 50, 134, 108, 45, 47, + 175, 24, 160, 4, 5, 6, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 48, 110, 113, 116, 118, 123, 142, 143, 144, 145, + 146, 165, 180, 29, 118, 171, 133, 188, 108, 108, + 108, 113, 163, 160, 142, 32, 33, 152, 152, 152, + 152, 170, 4, 4, 4, 8, 119, 146, 147, 165, + 111, 120, 35, 49, 59, 60, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 123, - 124, 125, 126, 184, 190, 191, 193, 194, 24, 55, - 56, 159, 4, 24, 162, 142, 142, 142, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 127, - 128, 130, 142, 147, 112, 112, 107, 117, 109, 37, - 145, 146, 142, 180, 59, 8, 180, 9, 21, 10, - 11, 12, 13, 14, 15, 16, 17, 127, 128, 129, - 133, 142, 142, 180, 142, 142, 187, 180, 180, 180, - 180, 180, 180, 180, 180, 142, 142, 142, 180, 133, - 92, 93, 107, 113, 156, 157, 155, 27, 28, 3, - 4, 122, 4, 7, 26, 38, 39, 94, 96, 97, - 101, 102, 103, 111, 114, 116, 119, 123, 124, 125, - 126, 148, 178, 154, 144, 144, 144, 37, 142, 165, - 166, 167, 107, 110, 3, 4, 7, 26, 27, 28, - 38, 39, 61, 114, 148, 177, 178, 179, 179, 179, - 179, 140, 107, 135, 107, 135, 179, 111, 107, 36, - 107, 107, 107, 107, 107, 107, 107, 179, 179, 179, - 107, 140, 142, 180, 24, 107, 138, 138, 138, 109, - 109, 109, 109, 109, 109, 113, 147, 149, 149, 117, - 149, 24, 109, 109, 109, 109, 138, 113, 115, 163, - 164, 107, 110, 37, 63, 176, 149, 107, 107, 179, - 15, 57, 15, 107, 192, 179, 111, 142, 180, 142, - 180, 180, 180, 142, 142, 107, 107, 107, 180, 179, - 179, 107, 34, 57, 136, 139, 147, 147, 147, 147, - 147, 147, 107, 113, 115, 117, 147, 147, 147, 147, - 37, 165, 136, 137, 24, 115, 21, 21, 109, 179, - 4, 179, 180, 188, 107, 179, 107, 107, 107, 179, - 179, 179, 109, 142, 24, 4, 138, 192, 36, 107, - 107, 107, 107, 147, 107, 107, 107, 107, 57, 134, - 107, 179, 179, 188, 189, 107, 135, 135, 107, 179, - 107, 180, 180, 180, 189, 179, 110, 142, 147, 147, - 147, 147, 147, 147, 147, 147, 4, 24, 107, 111, - 110, 180, 113, 179, 110, 110, 107, 110, 107, 107, - 110, 110, 110, 110, 21, 113, 129, 185, 36, 113, - 147, 147, 147, 179, 177, 113, 129, 21, 110, 110, - 110, 107, 177, 179, 21, 107, 73, 179, 21, 21, - 179, 179 + 85, 86, 87, 88, 89, 90, 91, 92, 93, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 125, 126, 127, 128, 186, 192, 193, 195, 196, + 24, 55, 56, 161, 4, 24, 164, 144, 144, 144, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 129, 130, 132, 144, 149, 114, 114, 109, 119, + 111, 37, 147, 148, 144, 182, 59, 8, 182, 9, + 21, 10, 11, 12, 13, 14, 15, 16, 17, 129, + 130, 131, 135, 144, 144, 182, 144, 144, 189, 182, + 182, 182, 182, 182, 182, 182, 182, 144, 144, 144, + 182, 135, 94, 95, 109, 115, 158, 159, 157, 27, + 28, 3, 4, 124, 4, 7, 26, 38, 39, 96, + 98, 99, 103, 104, 105, 113, 116, 118, 121, 125, + 126, 127, 128, 150, 180, 156, 146, 146, 146, 37, + 144, 167, 168, 169, 109, 112, 3, 4, 7, 26, + 27, 28, 38, 39, 61, 116, 150, 179, 180, 181, + 181, 181, 181, 142, 109, 137, 109, 137, 181, 113, + 109, 36, 109, 109, 109, 109, 109, 109, 109, 181, + 181, 181, 109, 142, 144, 182, 24, 109, 140, 140, + 140, 111, 111, 111, 111, 111, 111, 115, 149, 151, + 151, 119, 151, 24, 111, 111, 111, 111, 140, 115, + 117, 165, 166, 109, 112, 37, 63, 178, 151, 109, + 109, 181, 15, 57, 15, 109, 194, 181, 113, 144, + 182, 144, 182, 182, 182, 144, 144, 109, 109, 109, + 182, 181, 181, 109, 34, 57, 138, 141, 149, 149, + 149, 149, 149, 149, 109, 115, 117, 119, 149, 149, + 149, 149, 37, 167, 138, 139, 24, 117, 21, 21, + 111, 181, 4, 181, 182, 190, 109, 181, 109, 109, + 109, 181, 181, 181, 111, 144, 24, 4, 140, 194, + 36, 109, 109, 109, 109, 149, 109, 109, 109, 109, + 57, 136, 109, 181, 181, 190, 191, 109, 137, 137, + 109, 181, 109, 182, 182, 182, 191, 181, 112, 144, + 149, 149, 149, 149, 149, 149, 149, 149, 4, 24, + 109, 113, 112, 182, 115, 181, 112, 112, 109, 112, + 109, 109, 112, 112, 112, 112, 21, 115, 131, 187, + 36, 115, 149, 149, 149, 181, 179, 115, 131, 21, + 112, 112, 112, 109, 179, 181, 21, 109, 75, 181, + 21, 21, 181, 181 }; #define yyerrok (yyerrstatus = 0) @@ -3104,7 +3116,7 @@ yyreduce: switch (yyn) { case 3: -#line 1035 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1036 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(1) - (1)].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range! GEN_ERROR("Value too large for type!"); @@ -3114,7 +3126,7 @@ yyreduce: break; case 5: -#line 1044 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1045 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(1) - (1)].UInt64Val) > (uint64_t)INT64_MAX) // Outside of my range! GEN_ERROR("Value too large for type!"); @@ -3124,7 +3136,7 @@ yyreduce: break; case 34: -#line 1068 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1069 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal); CHECK_FOR_ERROR @@ -3132,7 +3144,7 @@ yyreduce: break; case 35: -#line 1072 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1073 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3140,72 +3152,82 @@ yyreduce: break; case 36: -#line 1077 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1078 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 37: -#line 1078 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1079 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 38: -#line 1079 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1080 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 39: -#line 1080 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1081 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 40: -#line 1081 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1082 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 41: -#line 1082 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 42: -#line 1083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1084 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 43: -#line 1084 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1085 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 44: -#line 1086 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::C; ;} - break; - - case 45: #line 1087 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::C; ;} break; - case 46: + case 45: #line 1088 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::C; ;} + break; + + case 46: +#line 1089 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::CSRet; ;} break; case 47: -#line 1089 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1090 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Fast; ;} break; case 48: -#line 1090 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1091 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Cold; ;} break; case 49: -#line 1091 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1092 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} + break; + + case 50: +#line 1093 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} + break; + + case 51: +#line 1094 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) GEN_ERROR("Calling conv too large!"); @@ -3214,13 +3236,13 @@ yyreduce: ;} break; - case 50: -#line 1100 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 52: +#line 1103 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 51: -#line 1101 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 53: +#line 1104 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3229,13 +3251,13 @@ yyreduce: ;} break; - case 52: -#line 1107 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 54: +#line 1110 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 53: -#line 1108 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 55: +#line 1111 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3244,8 +3266,8 @@ yyreduce: ;} break; - case 54: -#line 1116 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 56: +#line 1119 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { for (unsigned i = 0, e = strlen((yyvsp[(2) - (2)].StrVal)); i != e; ++i) if ((yyvsp[(2) - (2)].StrVal)[i] == '"' || (yyvsp[(2) - (2)].StrVal)[i] == '\\') @@ -3255,28 +3277,28 @@ yyreduce: ;} break; - case 55: -#line 1124 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 57: +#line 1127 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 56: -#line 1125 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 58: +#line 1128 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;} break; - case 57: -#line 1130 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - {;} - break; - - case 58: -#line 1131 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - {;} - break; - case 59: -#line 1132 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1133 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + {;} + break; + + case 60: +#line 1134 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + {;} + break; + + case 61: +#line 1135 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurGV->setSection((yyvsp[(1) - (1)].StrVal)); free((yyvsp[(1) - (1)].StrVal)); @@ -3284,8 +3306,8 @@ yyreduce: ;} break; - case 60: -#line 1137 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 62: +#line 1140 "/home/asl/proj/llvm/src/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!"); @@ -3294,18 +3316,18 @@ yyreduce: ;} break; - case 62: -#line 1151 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); ;} - break; - case 64: -#line 1152 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1154 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); ;} break; - case 65: -#line 1154 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 66: +#line 1155 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); ;} + break; + + case 67: +#line 1157 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription()); @@ -3314,32 +3336,32 @@ yyreduce: ;} break; - case 79: -#line 1166 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 81: +#line 1169 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR ;} break; - case 80: -#line 1170 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 82: +#line 1173 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); CHECK_FOR_ERROR ;} break; - case 81: -#line 1174 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 83: +#line 1177 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... (yyval.TypeVal) = new PATypeHolder(getTypeVal((yyvsp[(1) - (1)].ValIDVal))); CHECK_FOR_ERROR ;} break; - case 82: -#line 1181 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 84: +#line 1184 "/home/asl/proj/llvm/src/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 @@ -3350,8 +3372,8 @@ yyreduce: ;} break; - case 83: -#line 1189 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 85: +#line 1192 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Function derived type? std::vector Params; for (std::list::iterator I = (yyvsp[(3) - (4)].TypeList)->begin(), @@ -3367,8 +3389,8 @@ yyreduce: ;} break; - case 84: -#line 1202 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 86: +#line 1205 "/home/asl/proj/llvm/src/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); @@ -3376,8 +3398,8 @@ yyreduce: ;} break; - case 85: -#line 1207 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 87: +#line 1210 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Packed array type? const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get(); if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val)) @@ -3392,8 +3414,8 @@ yyreduce: ;} break; - case 86: -#line 1219 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 88: +#line 1222 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(), @@ -3406,16 +3428,16 @@ yyreduce: ;} break; - case 87: -#line 1229 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 89: +#line 1232 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector())); CHECK_FOR_ERROR ;} break; - case 88: -#line 1233 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 90: +#line 1236 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Pointer type? (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[(1) - (2)].TypeVal)))); delete (yyvsp[(1) - (2)].TypeVal); @@ -3423,8 +3445,8 @@ yyreduce: ;} break; - case 89: -#line 1242 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 91: +#line 1245 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); delete (yyvsp[(1) - (1)].TypeVal); @@ -3432,40 +3454,40 @@ yyreduce: ;} break; - case 90: -#line 1247 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 92: +#line 1250 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal); CHECK_FOR_ERROR ;} break; - case 92: -#line 1254 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 94: +#line 1257 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(Type::VoidTy); CHECK_FOR_ERROR ;} break; - case 93: -#line 1258 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 95: +#line 1261 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList) = new std::list())->push_back(Type::VoidTy); CHECK_FOR_ERROR ;} break; - case 94: -#line 1262 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 96: +#line 1265 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); CHECK_FOR_ERROR ;} break; - case 95: -#line 1273 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 97: +#line 1276 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const ArrayType *ATy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get()); if (ATy == 0) @@ -3494,8 +3516,8 @@ yyreduce: ;} break; - case 96: -#line 1299 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 98: +#line 1302 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast((yyvsp[(1) - (3)].TypeVal)->get()); if (ATy == 0) @@ -3512,8 +3534,8 @@ yyreduce: ;} break; - case 97: -#line 1313 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 99: +#line 1316 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast((yyvsp[(1) - (3)].TypeVal)->get()); if (ATy == 0) @@ -3546,8 +3568,8 @@ yyreduce: ;} break; - case 98: -#line 1343 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 100: +#line 1346 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const PackedType *PTy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get()); if (PTy == 0) @@ -3576,8 +3598,8 @@ yyreduce: ;} break; - case 99: -#line 1369 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 101: +#line 1372 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get()); if (STy == 0) @@ -3601,8 +3623,8 @@ yyreduce: ;} break; - case 100: -#line 1390 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 102: +#line 1393 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (3)].TypeVal)->get()); if (STy == 0) @@ -3618,8 +3640,8 @@ yyreduce: ;} break; - case 101: -#line 1403 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 103: +#line 1406 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const PointerType *PTy = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get()); if (PTy == 0) @@ -3632,8 +3654,8 @@ yyreduce: ;} break; - case 102: -#line 1413 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 104: +#line 1416 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVal) = UndefValue::get((yyvsp[(1) - (2)].TypeVal)->get()); delete (yyvsp[(1) - (2)].TypeVal); @@ -3641,8 +3663,8 @@ yyreduce: ;} break; - case 103: -#line 1418 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 105: +#line 1421 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const PointerType *Ty = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get()); if (Ty == 0) @@ -3705,8 +3727,8 @@ yyreduce: ;} break; - case 104: -#line 1478 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 106: +#line 1481 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(1) - (2)].TypeVal)->get() != (yyvsp[(2) - (2)].ConstVal)->getType()) GEN_ERROR("Mismatched types for constant expression!"); @@ -3716,8 +3738,8 @@ yyreduce: ;} break; - case 105: -#line 1485 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 107: +#line 1488 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[(1) - (2)].TypeVal)->get(); if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) @@ -3728,8 +3750,8 @@ yyreduce: ;} break; - case 106: -#line 1494 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 108: +#line 1497 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantSInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3738,8 +3760,8 @@ yyreduce: ;} break; - case 107: -#line 1500 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 109: +#line 1503 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantUInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3748,24 +3770,24 @@ yyreduce: ;} break; - case 108: -#line 1506 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 110: +#line 1509 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Boolean constants (yyval.ConstVal) = ConstantBool::True; CHECK_FOR_ERROR ;} break; - case 109: -#line 1510 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 111: +#line 1513 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Boolean constants (yyval.ConstVal) = ConstantBool::False; CHECK_FOR_ERROR ;} break; - case 110: -#line 1514 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 112: +#line 1517 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Float & Double constants if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].FPVal))) GEN_ERROR("Floating point constant invalid for type!!"); @@ -3774,8 +3796,8 @@ yyreduce: ;} break; - case 111: -#line 1522 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 113: +#line 1525 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!(yyvsp[(3) - (6)].ConstVal)->getType()->isFirstClassType()) GEN_ERROR("cast constant expression from a non-primitive type: '" + @@ -3789,8 +3811,8 @@ yyreduce: ;} break; - case 112: -#line 1533 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 114: +#line 1536 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("GetElementPtr requires a pointer operand!"); @@ -3825,8 +3847,8 @@ yyreduce: ;} break; - case 113: -#line 1565 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 115: +#line 1568 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::BoolTy) GEN_ERROR("Select condition must be of boolean type!"); @@ -3837,8 +3859,8 @@ yyreduce: ;} break; - case 114: -#line 1573 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 116: +#line 1576 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Binary operator types must match!"); @@ -3863,8 +3885,8 @@ yyreduce: ;} break; - case 115: -#line 1595 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 117: +#line 1598 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Logical operator types must match!"); @@ -3878,8 +3900,8 @@ yyreduce: ;} break; - case 116: -#line 1606 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 118: +#line 1609 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("setcc operand types must match!"); @@ -3888,8 +3910,8 @@ yyreduce: ;} break; - case 117: -#line 1612 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 119: +#line 1615 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(5) - (6)].ConstVal)->getType() != Type::UByteTy) GEN_ERROR("Shift count for shift constant must be unsigned byte!"); @@ -3900,8 +3922,8 @@ yyreduce: ;} break; - case 118: -#line 1620 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 120: +#line 1623 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal))) GEN_ERROR("Invalid extractelement operands!"); @@ -3910,8 +3932,8 @@ yyreduce: ;} break; - case 119: -#line 1626 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 121: +#line 1629 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid insertelement operands!"); @@ -3920,8 +3942,8 @@ yyreduce: ;} break; - case 120: -#line 1632 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 122: +#line 1635 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid shufflevector operands!"); @@ -3930,16 +3952,16 @@ yyreduce: ;} break; - case 121: -#line 1641 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 123: +#line 1644 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 122: -#line 1645 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 124: +#line 1648 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector) = new std::vector(); (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal)); @@ -3947,18 +3969,18 @@ yyreduce: ;} break; - case 123: -#line 1653 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 125: +#line 1656 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 124: -#line 1653 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 126: +#line 1656 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 125: -#line 1663 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 127: +#line 1666 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = (yyvsp[(1) - (1)].ModuleVal); CurModule.ModuleDone(); @@ -3966,8 +3988,8 @@ yyreduce: ;} break; - case 126: -#line 1671 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 128: +#line 1674 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = (yyvsp[(1) - (2)].ModuleVal); CurFun.FunctionDone(); @@ -3975,24 +3997,8 @@ yyreduce: ;} break; - case 127: -#line 1676 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { - (yyval.ModuleVal) = (yyvsp[(1) - (2)].ModuleVal); - CHECK_FOR_ERROR - ;} - break; - - case 128: -#line 1680 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { - (yyval.ModuleVal) = (yyvsp[(1) - (4)].ModuleVal); - CHECK_FOR_ERROR - ;} - break; - case 129: -#line 1684 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1679 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = (yyvsp[(1) - (2)].ModuleVal); CHECK_FOR_ERROR @@ -4000,7 +4006,23 @@ yyreduce: break; case 130: -#line 1688 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1683 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { + (yyval.ModuleVal) = (yyvsp[(1) - (4)].ModuleVal); + CHECK_FOR_ERROR + ;} + break; + + case 131: +#line 1687 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { + (yyval.ModuleVal) = (yyvsp[(1) - (2)].ModuleVal); + CHECK_FOR_ERROR + ;} + break; + + case 132: +#line 1691 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = CurModule.CurrentModule; // Emit an error if there are any unresolved types left. @@ -4016,8 +4038,8 @@ yyreduce: ;} break; - case 131: -#line 1703 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 133: +#line 1706 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: @@ -4041,47 +4063,30 @@ yyreduce: ;} break; - case 132: -#line 1724 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 134: +#line 1727 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Function prototypes can be in const pool CHECK_FOR_ERROR ;} break; - case 133: -#line 1727 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 135: +#line 1730 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Asm blocks can be in the const pool CHECK_FOR_ERROR ;} break; - case 134: -#line 1730 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 136: +#line 1733 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(5) - (5)].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant!"); CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal), (yyvsp[(3) - (5)].Linkage), (yyvsp[(4) - (5)].BoolVal), (yyvsp[(5) - (5)].ConstVal)->getType(), (yyvsp[(5) - (5)].ConstVal)); ;} break; - case 135: -#line 1733 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { - CurGV = 0; - CHECK_FOR_ERROR - ;} - break; - - case 136: -#line 1737 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { - CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal), - GlobalValue::ExternalLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0); - delete (yyvsp[(5) - (5)].TypeVal); - ;} - break; - case 137: -#line 1741 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1736 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR @@ -4089,16 +4094,16 @@ yyreduce: break; case 138: -#line 1745 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1740 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal), - GlobalValue::DLLImportLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0); + GlobalValue::ExternalLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0); delete (yyvsp[(5) - (5)].TypeVal); ;} break; case 139: -#line 1749 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1744 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR @@ -4106,16 +4111,16 @@ yyreduce: break; case 140: -#line 1753 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1748 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal), - GlobalValue::ExternalWeakLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0); + GlobalValue::DLLImportLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0); delete (yyvsp[(5) - (5)].TypeVal); ;} break; case 141: -#line 1757 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1752 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR @@ -4123,27 +4128,44 @@ yyreduce: break; case 142: -#line 1761 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { - CHECK_FOR_ERROR - ;} +#line 1756 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { + CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal), + GlobalValue::ExternalWeakLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0); + delete (yyvsp[(5) - (5)].TypeVal); + ;} break; case 143: -#line 1764 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1760 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { + CurGV = 0; CHECK_FOR_ERROR ;} break; case 144: -#line 1767 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1764 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { + CHECK_FOR_ERROR ;} break; case 145: -#line 1771 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1767 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { + CHECK_FOR_ERROR + ;} + break; + + case 146: +#line 1770 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { + ;} + break; + + case 147: +#line 1774 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm(); char *EndStr = UnEscapeLexed((yyvsp[(1) - (1)].StrVal), true); @@ -4158,26 +4180,26 @@ yyreduce: ;} break; - case 146: -#line 1784 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 148: +#line 1787 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Endianness) = Module::BigEndian; ;} break; - case 147: -#line 1785 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 149: +#line 1788 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.Endianness) = Module::LittleEndian; ;} break; - case 148: -#line 1787 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 150: +#line 1790 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setEndianness((yyvsp[(3) - (3)].Endianness)); CHECK_FOR_ERROR ;} break; - case 149: -#line 1791 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 151: +#line 1794 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (3)].UInt64Val) == 32) CurModule.CurrentModule->setPointerSize(Module::Pointer32); @@ -4189,8 +4211,8 @@ yyreduce: ;} break; - case 150: -#line 1800 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 152: +#line 1803 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple((yyvsp[(3) - (3)].StrVal)); free((yyvsp[(3) - (3)].StrVal)); @@ -4198,8 +4220,8 @@ yyreduce: ;} break; - case 152: -#line 1808 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 154: +#line 1811 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary((yyvsp[(3) - (3)].StrVal)); free((yyvsp[(3) - (3)].StrVal)); @@ -4207,8 +4229,8 @@ yyreduce: ;} break; - case 153: -#line 1813 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 155: +#line 1816 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary((yyvsp[(1) - (1)].StrVal)); free((yyvsp[(1) - (1)].StrVal)); @@ -4216,20 +4238,20 @@ yyreduce: ;} break; - case 154: -#line 1818 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 156: +#line 1821 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 158: -#line 1828 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 160: +#line 1831 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 159: -#line 1830 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 161: +#line 1833 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (*(yyvsp[(1) - (2)].TypeVal) == Type::VoidTy) GEN_ERROR("void typed arguments are invalid!"); @@ -4238,8 +4260,8 @@ yyreduce: ;} break; - case 160: -#line 1837 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 162: +#line 1840 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList); (yyvsp[(1) - (3)].ArgList)->push_back(*(yyvsp[(3) - (3)].ArgVal)); @@ -4248,8 +4270,8 @@ yyreduce: ;} break; - case 161: -#line 1843 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 163: +#line 1846 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = new std::vector >(); (yyval.ArgList)->push_back(*(yyvsp[(1) - (1)].ArgVal)); @@ -4258,16 +4280,16 @@ yyreduce: ;} break; - case 162: -#line 1850 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 164: +#line 1853 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList); CHECK_FOR_ERROR ;} break; - case 163: -#line 1854 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 165: +#line 1857 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList); (yyval.ArgList)->push_back(std::pair >(); (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); @@ -4285,16 +4307,16 @@ yyreduce: ;} break; - case 165: -#line 1865 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 167: +#line 1868 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = 0; CHECK_FOR_ERROR ;} break; - case 166: -#line 1871 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 168: +#line 1874 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { UnEscapeLexed((yyvsp[(3) - (8)].StrVal)); std::string FunctionName((yyvsp[(3) - (8)].StrVal)); @@ -4389,8 +4411,8 @@ yyreduce: ;} break; - case 169: -#line 1966 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 171: +#line 1969 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -4400,31 +4422,31 @@ yyreduce: ;} break; - case 172: -#line 1976 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 174: +#line 1979 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 174: -#line 1982 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { CurFun.Linkage = GlobalValue::DLLImportLinkage ;} - break; - - case 175: -#line 1983 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { CurFun.Linkage = GlobalValue::DLLImportLinkage ;} - break; - case 176: #line 1985 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" - { CurFun.isDeclare = true; ;} + { CurFun.Linkage = GlobalValue::DLLImportLinkage ;} break; case 177: -#line 1985 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 1986 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { CurFun.Linkage = GlobalValue::DLLImportLinkage ;} + break; + + case 178: +#line 1988 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + { CurFun.isDeclare = true; ;} + break; + + case 179: +#line 1988 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; CurFun.FunctionDone(); @@ -4432,88 +4454,88 @@ yyreduce: ;} break; - case 178: -#line 1995 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 180: +#line 1998 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 179: -#line 1999 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 181: +#line 2002 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 180: -#line 2004 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 182: +#line 2007 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val)); CHECK_FOR_ERROR ;} break; - case 181: -#line 2008 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 183: +#line 2011 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val)); CHECK_FOR_ERROR ;} break; - case 182: -#line 2012 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 184: +#line 2015 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal)); CHECK_FOR_ERROR ;} break; - case 183: -#line 2016 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 185: +#line 2019 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantBool::True); CHECK_FOR_ERROR ;} break; - case 184: -#line 2020 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 186: +#line 2023 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantBool::False); CHECK_FOR_ERROR ;} break; - case 185: -#line 2024 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 187: +#line 2027 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createNull(); CHECK_FOR_ERROR ;} break; - case 186: -#line 2028 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 188: +#line 2031 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createUndef(); CHECK_FOR_ERROR ;} break; - case 187: -#line 2032 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 189: +#line 2035 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // A vector zero constant. (yyval.ValIDVal) = ValID::createZeroInit(); CHECK_FOR_ERROR ;} break; - case 188: -#line 2036 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 190: +#line 2039 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); int NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -4541,16 +4563,16 @@ yyreduce: ;} break; - case 189: -#line 2061 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 191: +#line 2064 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 190: -#line 2065 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 192: +#line 2068 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { char *End = UnEscapeLexed((yyvsp[(3) - (5)].StrVal), true); std::string AsmStr = std::string((yyvsp[(3) - (5)].StrVal), End); @@ -4563,48 +4585,48 @@ yyreduce: ;} break; - case 191: -#line 2079 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 193: +#line 2082 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SIntVal)); CHECK_FOR_ERROR ;} break; - case 192: -#line 2083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 194: +#line 2086 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].StrVal)); CHECK_FOR_ERROR ;} break; - case 195: -#line 2095 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 197: +#line 2098 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueVal) = getVal(*(yyvsp[(1) - (2)].TypeVal), (yyvsp[(2) - (2)].ValIDVal)); delete (yyvsp[(1) - (2)].TypeVal); CHECK_FOR_ERROR ;} break; - case 196: -#line 2100 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 198: +#line 2103 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 197: -#line 2104 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 199: +#line 2107 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 198: -#line 2113 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 200: +#line 2116 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal)); InsertValue((yyvsp[(3) - (3)].TermInstVal)); @@ -4616,8 +4638,8 @@ yyreduce: ;} break; - case 199: -#line 2123 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 201: +#line 2126 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyvsp[(1) - (2)].BasicBlockVal)->getInstList().push_back((yyvsp[(2) - (2)].InstVal)); (yyval.BasicBlockVal) = (yyvsp[(1) - (2)].BasicBlockVal); @@ -4625,8 +4647,8 @@ yyreduce: ;} break; - case 200: -#line 2128 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 202: +#line 2131 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true); @@ -4640,8 +4662,8 @@ yyreduce: ;} break; - case 201: -#line 2139 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 203: +#line 2142 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[(1) - (1)].StrVal)), true); @@ -4655,40 +4677,40 @@ yyreduce: ;} break; - case 202: -#line 2151 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 204: +#line 2154 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Return with a result... (yyval.TermInstVal) = new ReturnInst((yyvsp[(2) - (2)].ValueVal)); CHECK_FOR_ERROR ;} break; - case 203: -#line 2155 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 205: +#line 2158 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Return with no result... (yyval.TermInstVal) = new ReturnInst(); CHECK_FOR_ERROR ;} break; - case 204: -#line 2159 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 206: +#line 2162 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... (yyval.TermInstVal) = new BranchInst(getBBVal((yyvsp[(3) - (3)].ValIDVal))); CHECK_FOR_ERROR ;} break; - case 205: -#line 2163 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 207: +#line 2166 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new BranchInst(getBBVal((yyvsp[(6) - (9)].ValIDVal)), getBBVal((yyvsp[(9) - (9)].ValIDVal)), getVal(Type::BoolTy, (yyvsp[(3) - (9)].ValIDVal))); CHECK_FOR_ERROR ;} break; - case 206: -#line 2167 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 208: +#line 2170 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { SwitchInst *S = new SwitchInst(getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal)), getBBVal((yyvsp[(6) - (9)].ValIDVal)), (yyvsp[(8) - (9)].JumpTable)->size()); (yyval.TermInstVal) = S; @@ -4706,8 +4728,8 @@ yyreduce: ;} break; - case 207: -#line 2182 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 209: +#line 2185 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { SwitchInst *S = new SwitchInst(getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal)), getBBVal((yyvsp[(6) - (8)].ValIDVal)), 0); (yyval.TermInstVal) = S; @@ -4715,8 +4737,8 @@ yyreduce: ;} break; - case 208: -#line 2188 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 210: +#line 2191 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -4772,24 +4794,24 @@ yyreduce: ;} break; - case 209: -#line 2241 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 211: +#line 2244 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnwindInst(); CHECK_FOR_ERROR ;} break; - case 210: -#line 2245 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 212: +#line 2248 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnreachableInst(); CHECK_FOR_ERROR ;} break; - case 211: -#line 2252 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 213: +#line 2255 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable); Constant *V = cast(getValNonImprovising((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal))); @@ -4801,8 +4823,8 @@ yyreduce: ;} break; - case 212: -#line 2261 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 214: +#line 2264 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = new std::vector >(); Constant *V = cast(getValNonImprovising((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal))); @@ -4815,8 +4837,8 @@ yyreduce: ;} break; - case 213: -#line 2272 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 215: +#line 2275 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal)); @@ -4826,8 +4848,8 @@ yyreduce: ;} break; - case 214: -#line 2280 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 216: +#line 2283 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes (yyval.PHIList) = new std::list >(); (yyval.PHIList)->push_back(std::make_pair(getVal(*(yyvsp[(1) - (6)].TypeVal), (yyvsp[(3) - (6)].ValIDVal)), getBBVal((yyvsp[(5) - (6)].ValIDVal)))); @@ -4836,8 +4858,8 @@ yyreduce: ;} break; - case 215: -#line 2286 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 217: +#line 2289 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList); (yyvsp[(1) - (7)].PHIList)->push_back(std::make_pair(getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal)), @@ -4846,8 +4868,8 @@ yyreduce: ;} break; - case 216: -#line 2294 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 218: +#line 2297 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { // Used for call statements, and memory insts... (yyval.ValueList) = new std::vector(); (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal)); @@ -4855,8 +4877,8 @@ yyreduce: ;} break; - case 217: -#line 2299 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 219: +#line 2302 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList); (yyvsp[(1) - (3)].ValueList)->push_back((yyvsp[(3) - (3)].ValueVal)); @@ -4864,29 +4886,29 @@ yyreduce: ;} break; - case 219: -#line 2306 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 221: +#line 2309 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = 0; ;} break; - case 220: -#line 2308 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 222: +#line 2311 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 221: -#line 2312 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 223: +#line 2315 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 222: -#line 2319 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 224: +#line 2322 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!(*(yyvsp[(2) - (5)].TypeVal))->isInteger() && !(*(yyvsp[(2) - (5)].TypeVal))->isFloatingPoint() && !isa((*(yyvsp[(2) - (5)].TypeVal)).get())) @@ -4902,8 +4924,8 @@ yyreduce: ;} break; - case 223: -#line 2332 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 225: +#line 2335 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!(*(yyvsp[(2) - (5)].TypeVal))->isIntegral()) { if (!isa((yyvsp[(2) - (5)].TypeVal)->get()) || @@ -4918,8 +4940,8 @@ yyreduce: ;} break; - case 224: -#line 2344 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 226: +#line 2347 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if(isa((*(yyvsp[(2) - (5)].TypeVal)).get())) { GEN_ERROR( @@ -4933,8 +4955,8 @@ yyreduce: ;} break; - case 225: -#line 2355 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 227: +#line 2358 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { std::cerr << "WARNING: Use of eliminated 'not' instruction:" << " Replacing with 'xor'.\n"; @@ -4950,8 +4972,8 @@ yyreduce: ;} break; - case 226: -#line 2368 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 228: +#line 2371 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (4)].ValueVal)->getType() != Type::UByteTy) GEN_ERROR("Shift amount must be ubyte!"); @@ -4962,8 +4984,8 @@ yyreduce: ;} break; - case 227: -#line 2376 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 229: +#line 2379 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!(yyvsp[(4) - (4)].TypeVal)->get()->isFirstClassType()) GEN_ERROR("cast instruction to a non-primitive type: '" + @@ -4974,8 +4996,8 @@ yyreduce: ;} break; - case 228: -#line 2384 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 230: +#line 2387 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::BoolTy) GEN_ERROR("select condition must be boolean!"); @@ -4986,8 +5008,8 @@ yyreduce: ;} break; - case 229: -#line 2392 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 231: +#line 2395 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { NewVarArgs = true; (yyval.InstVal) = new VAArgInst((yyvsp[(2) - (4)].ValueVal), *(yyvsp[(4) - (4)].TypeVal)); @@ -4996,8 +5018,8 @@ yyreduce: ;} break; - case 230: -#line 2398 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 232: +#line 2401 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { ObsoleteVarArgs = true; const Type* ArgTy = (yyvsp[(2) - (4)].ValueVal)->getType(); @@ -5020,8 +5042,8 @@ yyreduce: ;} break; - case 231: -#line 2418 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 233: +#line 2421 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { ObsoleteVarArgs = true; const Type* ArgTy = (yyvsp[(2) - (4)].ValueVal)->getType(); @@ -5047,8 +5069,8 @@ yyreduce: ;} break; - case 232: -#line 2441 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 234: +#line 2444 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal))) GEN_ERROR("Invalid extractelement operands!"); @@ -5057,8 +5079,8 @@ yyreduce: ;} break; - case 233: -#line 2447 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 235: +#line 2450 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid insertelement operands!"); @@ -5067,8 +5089,8 @@ yyreduce: ;} break; - case 234: -#line 2453 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 236: +#line 2456 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid shufflevector operands!"); @@ -5077,8 +5099,8 @@ yyreduce: ;} break; - case 235: -#line 2459 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 237: +#line 2462 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType(); if (!Ty->isFirstClassType()) @@ -5096,8 +5118,8 @@ yyreduce: ;} break; - case 236: -#line 2474 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 238: +#line 2477 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -5158,48 +5180,48 @@ yyreduce: ;} break; - case 237: -#line 2532 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 239: +#line 2535 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal); CHECK_FOR_ERROR ;} break; - case 238: -#line 2539 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 240: +#line 2542 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[(2) - (2)].ValueList); CHECK_FOR_ERROR ;} break; - case 239: -#line 2542 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 241: +#line 2545 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); CHECK_FOR_ERROR ;} break; - case 240: -#line 2547 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 242: +#line 2550 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 241: -#line 2551 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 243: +#line 2554 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 242: -#line 2558 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 244: +#line 2561 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = new MallocInst(*(yyvsp[(2) - (3)].TypeVal), 0, (yyvsp[(3) - (3)].UIntVal)); delete (yyvsp[(2) - (3)].TypeVal); @@ -5207,8 +5229,8 @@ yyreduce: ;} break; - case 243: -#line 2563 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 245: +#line 2566 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = new MallocInst(*(yyvsp[(2) - (6)].TypeVal), getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal)), (yyvsp[(6) - (6)].UIntVal)); delete (yyvsp[(2) - (6)].TypeVal); @@ -5216,8 +5238,8 @@ yyreduce: ;} break; - case 244: -#line 2568 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 246: +#line 2571 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = new AllocaInst(*(yyvsp[(2) - (3)].TypeVal), 0, (yyvsp[(3) - (3)].UIntVal)); delete (yyvsp[(2) - (3)].TypeVal); @@ -5225,8 +5247,8 @@ yyreduce: ;} break; - case 245: -#line 2573 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 247: +#line 2576 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = new AllocaInst(*(yyvsp[(2) - (6)].TypeVal), getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal)), (yyvsp[(6) - (6)].UIntVal)); delete (yyvsp[(2) - (6)].TypeVal); @@ -5234,8 +5256,8 @@ yyreduce: ;} break; - case 246: -#line 2578 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 248: +#line 2581 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(2) - (2)].ValueVal)->getType())) GEN_ERROR("Trying to free nonpointer type " + @@ -5245,8 +5267,8 @@ yyreduce: ;} break; - case 247: -#line 2586 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 249: +#line 2589 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (4)].TypeVal)->get())) GEN_ERROR("Can't load from nonpointer type: " + @@ -5260,8 +5282,8 @@ yyreduce: ;} break; - case 248: -#line 2597 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 250: +#line 2600 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { const PointerType *PT = dyn_cast((yyvsp[(5) - (6)].TypeVal)->get()); if (!PT) @@ -5278,8 +5300,8 @@ yyreduce: ;} break; - case 249: -#line 2611 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" + case 251: +#line 2614 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(2) - (4)].TypeVal)->get())) GEN_ERROR("getelementptr insn requires pointer operand!"); @@ -5306,7 +5328,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 5310 "llvmAsmParser.tab.c" +#line 5332 "llvmAsmParser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -5519,7 +5541,7 @@ yyreturn: } -#line 2635 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +#line 2638 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" void llvm::GenerateError(const std::string &message, int LineNo) { diff --git a/lib/AsmParser/llvmAsmParser.h.cvs b/lib/AsmParser/llvmAsmParser.h.cvs index a7d291a77f6..7b41b5cd852 100644 --- a/lib/AsmParser/llvmAsmParser.h.cvs +++ b/lib/AsmParser/llvmAsmParser.h.cvs @@ -105,43 +105,45 @@ CSRETCC_TOK = 321, FASTCC_TOK = 322, COLDCC_TOK = 323, - RET = 324, - BR = 325, - SWITCH = 326, - INVOKE = 327, - UNWIND = 328, - UNREACHABLE = 329, - ADD = 330, - SUB = 331, - MUL = 332, - DIV = 333, - REM = 334, - AND = 335, - OR = 336, - XOR = 337, - SETLE = 338, - SETGE = 339, - SETLT = 340, - SETGT = 341, - SETEQ = 342, - SETNE = 343, - MALLOC = 344, - ALLOCA = 345, - FREE = 346, - LOAD = 347, - STORE = 348, - GETELEMENTPTR = 349, - PHI_TOK = 350, - CAST = 351, - SELECT = 352, - SHL = 353, - SHR = 354, - VAARG = 355, - EXTRACTELEMENT = 356, - INSERTELEMENT = 357, - SHUFFLEVECTOR = 358, - VAARG_old = 359, - VANEXT_old = 360 + X86_STDCALLCC_TOK = 324, + X86_FASTCALLCC_TOK = 325, + RET = 326, + BR = 327, + SWITCH = 328, + INVOKE = 329, + UNWIND = 330, + UNREACHABLE = 331, + ADD = 332, + SUB = 333, + MUL = 334, + DIV = 335, + REM = 336, + AND = 337, + OR = 338, + XOR = 339, + SETLE = 340, + SETGE = 341, + SETLT = 342, + SETGT = 343, + SETEQ = 344, + SETNE = 345, + MALLOC = 346, + ALLOCA = 347, + FREE = 348, + LOAD = 349, + STORE = 350, + GETELEMENTPTR = 351, + PHI_TOK = 352, + CAST = 353, + SELECT = 354, + SHL = 355, + SHR = 356, + VAARG = 357, + EXTRACTELEMENT = 358, + INSERTELEMENT = 359, + SHUFFLEVECTOR = 360, + VAARG_old = 361, + VANEXT_old = 362 }; #endif /* Tokens. */ @@ -211,43 +213,45 @@ #define CSRETCC_TOK 321 #define FASTCC_TOK 322 #define COLDCC_TOK 323 -#define RET 324 -#define BR 325 -#define SWITCH 326 -#define INVOKE 327 -#define UNWIND 328 -#define UNREACHABLE 329 -#define ADD 330 -#define SUB 331 -#define MUL 332 -#define DIV 333 -#define REM 334 -#define AND 335 -#define OR 336 -#define XOR 337 -#define SETLE 338 -#define SETGE 339 -#define SETLT 340 -#define SETGT 341 -#define SETEQ 342 -#define SETNE 343 -#define MALLOC 344 -#define ALLOCA 345 -#define FREE 346 -#define LOAD 347 -#define STORE 348 -#define GETELEMENTPTR 349 -#define PHI_TOK 350 -#define CAST 351 -#define SELECT 352 -#define SHL 353 -#define SHR 354 -#define VAARG 355 -#define EXTRACTELEMENT 356 -#define INSERTELEMENT 357 -#define SHUFFLEVECTOR 358 -#define VAARG_old 359 -#define VANEXT_old 360 +#define X86_STDCALLCC_TOK 324 +#define X86_FASTCALLCC_TOK 325 +#define RET 326 +#define BR 327 +#define SWITCH 328 +#define INVOKE 329 +#define UNWIND 330 +#define UNREACHABLE 331 +#define ADD 332 +#define SUB 333 +#define MUL 334 +#define DIV 335 +#define REM 336 +#define AND 337 +#define OR 338 +#define XOR 339 +#define SETLE 340 +#define SETGE 341 +#define SETLT 342 +#define SETGT 343 +#define SETEQ 344 +#define SETNE 345 +#define MALLOC 346 +#define ALLOCA 347 +#define FREE 348 +#define LOAD 349 +#define STORE 350 +#define GETELEMENTPTR 351 +#define PHI_TOK 352 +#define CAST 353 +#define SELECT 354 +#define SHL 355 +#define SHR 356 +#define VAARG 357 +#define EXTRACTELEMENT 358 +#define INSERTELEMENT 359 +#define SHUFFLEVECTOR 360 +#define VAARG_old 361 +#define VANEXT_old 362 @@ -295,7 +299,7 @@ typedef union YYSTYPE llvm::Module::Endianness Endianness; } /* Line 1528 of yacc.c. */ -#line 299 "llvmAsmParser.tab.h" +#line 303 "llvmAsmParser.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index bdfa07af437..a3ff24346ba 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1006,6 +1006,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT %token CC_TOK CCC_TOK CSRETCC_TOK FASTCC_TOK COLDCC_TOK +%token X86_STDCALLCC_TOK X86_FASTCALLCC_TOK %type OptCallingConv // Basic Block Terminating Operators @@ -1083,12 +1084,14 @@ OptLinkage : INTERNAL { $$ = GlobalValue::InternalLinkage; } | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } | /*empty*/ { $$ = GlobalValue::ExternalLinkage; }; -OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | - CCC_TOK { $$ = CallingConv::C; } | - CSRETCC_TOK { $$ = CallingConv::CSRet; } | - FASTCC_TOK { $$ = CallingConv::Fast; } | - COLDCC_TOK { $$ = CallingConv::Cold; } | - CC_TOK EUINT64VAL { +OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | + CCC_TOK { $$ = CallingConv::C; } | + CSRETCC_TOK { $$ = CallingConv::CSRet; } | + FASTCC_TOK { $$ = CallingConv::Fast; } | + COLDCC_TOK { $$ = CallingConv::Cold; } | + X86_STDCALLCC_TOK { $$ = CallingConv::X86_StdCall; } | + X86_FASTCALLCC_TOK { $$ = CallingConv::X86_FastCall; } | + CC_TOK EUINT64VAL { if ((unsigned)$2 != $2) GEN_ERROR("Calling conv too large!"); $$ = $2; diff --git a/lib/AsmParser/llvmAsmParser.y.cvs b/lib/AsmParser/llvmAsmParser.y.cvs index bdfa07af437..a3ff24346ba 100644 --- a/lib/AsmParser/llvmAsmParser.y.cvs +++ b/lib/AsmParser/llvmAsmParser.y.cvs @@ -1006,6 +1006,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT %token CC_TOK CCC_TOK CSRETCC_TOK FASTCC_TOK COLDCC_TOK +%token X86_STDCALLCC_TOK X86_FASTCALLCC_TOK %type OptCallingConv // Basic Block Terminating Operators @@ -1083,12 +1084,14 @@ OptLinkage : INTERNAL { $$ = GlobalValue::InternalLinkage; } | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } | /*empty*/ { $$ = GlobalValue::ExternalLinkage; }; -OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | - CCC_TOK { $$ = CallingConv::C; } | - CSRETCC_TOK { $$ = CallingConv::CSRet; } | - FASTCC_TOK { $$ = CallingConv::Fast; } | - COLDCC_TOK { $$ = CallingConv::Cold; } | - CC_TOK EUINT64VAL { +OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | + CCC_TOK { $$ = CallingConv::C; } | + CSRETCC_TOK { $$ = CallingConv::CSRet; } | + FASTCC_TOK { $$ = CallingConv::Fast; } | + COLDCC_TOK { $$ = CallingConv::Cold; } | + X86_STDCALLCC_TOK { $$ = CallingConv::X86_StdCall; } | + X86_FASTCALLCC_TOK { $$ = CallingConv::X86_FastCall; } | + CC_TOK EUINT64VAL { if ((unsigned)$2 != $2) GEN_ERROR("Calling conv too large!"); $$ = $2; diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 2aa36270bf2..23bd41d8dd0 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -1278,7 +1278,15 @@ void CWriter::printFunctionSignature(const Function *F, bool Prototype) { if (F->hasInternalLinkage()) Out << "static "; if (F->hasDLLImportLinkage()) Out << "__declspec(dllimport) "; if (F->hasDLLExportLinkage()) Out << "__declspec(dllexport) "; - + switch (F->getCallingConv()) { + case CallingConv::X86_StdCall: + Out << "__stdcall "; + break; + case CallingConv::X86_FastCall: + Out << "__fastcall "; + break; + } + // Loop over the arguments, printing them... const FunctionType *FT = cast(F->getFunctionType()); diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index 2aa36270bf2..23bd41d8dd0 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -1278,7 +1278,15 @@ void CWriter::printFunctionSignature(const Function *F, bool Prototype) { if (F->hasInternalLinkage()) Out << "static "; if (F->hasDLLImportLinkage()) Out << "__declspec(dllimport) "; if (F->hasDLLExportLinkage()) Out << "__declspec(dllexport) "; - + switch (F->getCallingConv()) { + case CallingConv::X86_StdCall: + Out << "__stdcall "; + break; + case CallingConv::X86_FastCall: + Out << "__fastcall "; + break; + } + // Loop over the arguments, printing them... const FunctionType *FT = cast(F->getFunctionType()); diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index b6add7a494d..62c8ab1dcc0 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -707,3 +707,29 @@ etc. //===---------------------------------------------------------------------===// +Currently we don't have elimination of redundant stack manipulations. Consider +the code: + +int %main() { +entry: + call fastcc void %test1( ) + call fastcc void %test2( sbyte* cast (void ()* %test1 to sbyte*) ) + ret int 0 +} + +declare fastcc void %test1() + +declare fastcc void %test2(sbyte*) + + +This currently compiles to: + + subl $16, %esp + call _test5 + addl $12, %esp + subl $16, %esp + movl $_test5, (%esp) + call _test6 + addl $12, %esp + +The add\sub pair is really unneeded here. diff --git a/lib/Target/X86/X86ATTAsmPrinter.cpp b/lib/Target/X86/X86ATTAsmPrinter.cpp index 1ce24fda0cf..52d551894a2 100755 --- a/lib/Target/X86/X86ATTAsmPrinter.cpp +++ b/lib/Target/X86/X86ATTAsmPrinter.cpp @@ -63,7 +63,7 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) { ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", F); O << "\t.globl\t" << CurrentFnName << "\n"; O << "\t.weak_definition\t" << CurrentFnName << "\n"; - } else if (Subtarget->TargetType == X86Subtarget::isCygwin) { + } else if (Subtarget->isTargetCygwin()) { EmitAlignment(4, F); // FIXME: This should be parameterized somewhere. O << "\t.section\t.llvm.linkonce.t." << CurrentFnName << ",\"ax\"\n"; diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp index 08dc7b26502..d7dc70c567a 100644 --- a/lib/Target/X86/X86AsmPrinter.cpp +++ b/lib/Target/X86/X86AsmPrinter.cpp @@ -83,7 +83,7 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) { } else O << TAI->getCOMMDirective() << name << "," << Size; } else { - if (Subtarget->TargetType != X86Subtarget::isCygwin) { + if (!Subtarget->isTargetCygwin()) { if (I->hasInternalLinkage()) O << "\t.local\t" << name << "\n"; } @@ -101,7 +101,7 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) { O << "\t.globl " << name << "\n" << "\t.weak_definition " << name << "\n"; SwitchToDataSection(".section __DATA,__const_coal,coalesced", I); - } else if (Subtarget->TargetType == X86Subtarget::isCygwin) { + } else if (Subtarget->isTargetCygwin()) { O << "\t.section\t.llvm.linkonce.d." << name << ",\"aw\"\n" << "\t.weak " << name << "\n"; } else { diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp index 144776e68c1..af54b7b6aaa 100644 --- a/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -468,7 +468,7 @@ void X86DAGToDAGISel::InstructionSelectBasicBlock(SelectionDAG &DAG) { /// the main function. void X86DAGToDAGISel::EmitSpecialCodeForMain(MachineBasicBlock *BB, MachineFrameInfo *MFI) { - if (Subtarget->TargetType == X86Subtarget::isCygwin) + if (Subtarget->isTargetCygwin()) BuildMI(BB, X86::CALLpcrel32, 1).addExternalSymbol("__main"); // Switch the FPU to 64-bit precision mode for better compatibility and speed. diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index c86d1711979..3baff5cd93f 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -3907,7 +3907,7 @@ X86TargetLowering::LowerFORMAL_ARGUMENTS(SDOperand Op, SelectionDAG &DAG) { MachineFunction &MF = DAG.getMachineFunction(); const Function* Fn = MF.getFunction(); if (Fn->hasExternalLinkage() && - Subtarget->TargetType == X86Subtarget::isCygwin && + Subtarget->isTargetCygwin() && Fn->getName() == "main") MF.getInfo()->setForceFramePointer(true); diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index 40d7a6c3834..bfc99233e25 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -993,7 +993,7 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const { MFI->setStackSize(NumBytes); if (NumBytes) { // adjust stack pointer: ESP -= numbytes - if (NumBytes >= 4096 && Subtarget->TargetType == X86Subtarget::isCygwin) { + if (NumBytes >= 4096 && Subtarget->isTargetCygwin()) { // Function prologue calls _alloca to probe the stack when allocating // more than 4k bytes in one go. Touching the stack at 4K increments is // necessary to ensure that the guard pages used by the OS virtual memory @@ -1035,7 +1035,7 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const { // If it's main() on Cygwin\Mingw32 we should align stack as well if (Fn->hasExternalLinkage() && Fn->getName() == "main" && - Subtarget->TargetType == X86Subtarget::isCygwin) { + Subtarget->isTargetCygwin()) { MI = BuildMI(X86::AND32ri, 2, X86::ESP).addReg(X86::ESP).addImm(-Align); MBB.insert(MBBI, MI); diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index cbef68b7dc3..57c09bb8c41 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -332,6 +332,7 @@ void Verifier::visitFunction(Function &F) { break; case CallingConv::Fast: case CallingConv::Cold: + case CallingConv::X86_FastCall: Assert1(!F.isVarArg(), "Varargs functions must have C calling conventions!", &F); break;