From e869eef7d360cdd21787cb54134057c5a4b798a3 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 12 Nov 2005 00:11:49 +0000 Subject: [PATCH] regenerate git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24316 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AsmParser/Lexer.cpp | 910 ++++++++-------- lib/AsmParser/llvmAsmParser.cpp | 1797 ++++++++++++++++--------------- lib/AsmParser/llvmAsmParser.h | 123 +-- 3 files changed, 1450 insertions(+), 1380 deletions(-) diff --git a/lib/AsmParser/Lexer.cpp b/lib/AsmParser/Lexer.cpp index 77d0d9fa2c9..9b01224829c 100644 --- a/lib/AsmParser/Lexer.cpp +++ b/lib/AsmParser/Lexer.cpp @@ -308,32 +308,32 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 100 -#define YY_END_OF_BUFFER 101 -static yyconst short int yy_acclist[178] = +#define YY_NUM_RULES 101 +#define YY_END_OF_BUFFER 102 +static yyconst short int yy_acclist[179] = { 0, - 101, 99, 100, 98, 99, 100, 98, 100, 99, 100, - 99, 100, 99, 100, 99, 100, 99, 100, 99, 100, - 91, 99, 100, 91, 99, 100, 1, 99, 100, 99, - 100, 99, 100, 99, 100, 99, 100, 99, 100, 99, - 100, 99, 100, 99, 100, 99, 100, 99, 100, 99, - 100, 99, 100, 99, 100, 99, 100, 99, 100, 99, - 100, 99, 100, 99, 100, 99, 100, 99, 100, 99, - 100, 90, 88, 87, 87, 94, 92, 96, 91, 1, - 76, 32, 58, 20, 90, 87, 87, 95, 96, 17, - 96, 97, 52, 57, 30, 33, 55, 3, 42, 54, - - 22, 66, 56, 75, 70, 71, 53, 59, 89, 96, - 96, 37, 67, 68, 83, 84, 44, 19, 93, 23, - 4, 49, 43, 36, 11, 96, 51, 2, 5, 46, - 48, 38, 61, 65, 63, 64, 62, 60, 40, 85, - 39, 45, 18, 73, 82, 35, 47, 27, 21, 34, - 7, 78, 29, 81, 50, 69, 77, 24, 25, 79, - 41, 74, 72, 6, 26, 8, 14, 9, 10, 31, - 12, 28, 80, 86, 13, 15, 16 + 102, 100, 101, 99, 100, 101, 99, 101, 100, 101, + 100, 101, 100, 101, 100, 101, 100, 101, 100, 101, + 92, 100, 101, 92, 100, 101, 1, 100, 101, 100, + 101, 100, 101, 100, 101, 100, 101, 100, 101, 100, + 101, 100, 101, 100, 101, 100, 101, 100, 101, 100, + 101, 100, 101, 100, 101, 100, 101, 100, 101, 100, + 101, 100, 101, 100, 101, 100, 101, 100, 101, 100, + 101, 91, 89, 88, 88, 95, 93, 97, 92, 1, + 77, 34, 59, 20, 91, 88, 88, 96, 97, 17, + 97, 98, 53, 58, 30, 35, 56, 3, 44, 55, + + 22, 67, 57, 76, 71, 72, 54, 60, 90, 97, + 97, 39, 68, 69, 84, 85, 46, 19, 94, 23, + 4, 51, 45, 38, 11, 97, 32, 2, 5, 48, + 50, 40, 62, 66, 64, 65, 63, 61, 42, 86, + 41, 47, 18, 74, 83, 37, 49, 27, 21, 36, + 7, 79, 29, 82, 52, 70, 78, 24, 25, 80, + 43, 75, 73, 6, 26, 33, 8, 14, 9, 10, + 31, 12, 28, 81, 87, 13, 15, 16 } ; -static yyconst short int yy_accept[401] = +static yyconst short int yy_accept[406] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -352,33 +352,34 @@ static yyconst short int yy_accept[401] = 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 101, 102, 102, 102, 103, 103, 104, 105, 105, 105, - 105, 105, 106, 106, 107, 107, 108, 108, 108, 108, + 105, 105, 105, 106, 106, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 109, 109, 110, - 111, 111, 111, 111, 112, 112, 112, 112, 112, 113, - - 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 117, 118, 118, 119, 119, 119, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, - 121, 122, 123, 123, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 125, 125, 126, 126, 127, 128, - 128, 128, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 130, 130, 131, 131, 131, 131, 131, 131, 132, - 132, 132, 132, 132, 132, 133, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 141, 141, 141, 142, 143, - - 144, 144, 144, 144, 144, 144, 145, 145, 145, 145, - 146, 146, 147, 147, 147, 147, 148, 149, 150, 150, - 151, 151, 152, 152, 152, 153, 153, 154, 155, 156, - 156, 157, 158, 159, 160, 160, 160, 161, 162, 163, - 164, 164, 164, 164, 164, 165, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 167, 168, - 168, 168, 169, 170, 170, 170, 170, 171, 171, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 173, 173, 174, 174, 174, 174, - 174, 174, 175, 175, 176, 176, 177, 177, 178, 178 - + 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, + 110, 111, 111, 111, 111, 112, 112, 112, 112, 112, + + 113, 114, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 117, 118, 118, 119, 119, 119, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 121, 121, 121, 122, 123, 123, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 125, 125, 126, 126, + 127, 128, 128, 128, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 130, 130, 131, 131, 131, 131, 131, + 131, 132, 132, 132, 132, 132, 132, 133, 133, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 141, 141, + + 141, 142, 143, 144, 144, 144, 144, 144, 144, 145, + 145, 145, 145, 146, 146, 147, 147, 147, 147, 148, + 149, 150, 150, 151, 151, 152, 152, 152, 153, 153, + 154, 155, 156, 156, 156, 157, 158, 159, 160, 160, + 160, 161, 162, 163, 164, 164, 164, 164, 164, 165, + 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, + 167, 167, 167, 168, 169, 169, 169, 170, 171, 171, + 171, 171, 172, 172, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 174, + 174, 175, 175, 175, 175, 175, 175, 176, 176, 177, + + 177, 178, 178, 179, 179 } ; static yyconst int yy_ec[256] = @@ -422,105 +423,105 @@ static yyconst int yy_meta[42] = 3 } ; -static yyconst short int yy_base[405] = +static yyconst short int yy_base[410] = { 0, - 0, 0, 840, 841, 841, 841, 835, 826, 34, 36, + 0, 0, 850, 851, 851, 851, 845, 836, 34, 36, 38, 42, 46, 50, 0, 51, 54, 53, 56, 61, 76, 77, 79, 80, 82, 83, 84, 90, 31, 111, - 94, 140, 113, 55, 110, 116, 833, 841, 824, 841, + 94, 140, 113, 55, 110, 116, 843, 851, 834, 851, 0, 128, 131, 144, 150, 124, 160, 167, 172, 0, - 136, 139, 168, 100, 41, 145, 114, 823, 173, 183, + 136, 139, 168, 100, 41, 145, 114, 833, 173, 183, 184, 185, 161, 187, 189, 191, 193, 133, 194, 196, 200, 202, 205, 206, 209, 217, 89, 210, 213, 216, - 57, 822, 207, 224, 223, 227, 229, 233, 240, 235, - 238, 247, 249, 821, 250, 245, 241, 242, 265, 267, - - 266, 268, 271, 276, 277, 279, 820, 0, 253, 292, - 819, 304, 310, 0, 818, 311, 294, 817, 287, 314, - 816, 282, 315, 316, 815, 317, 299, 318, 319, 814, - 320, 323, 328, 329, 324, 331, 335, 332, 342, 343, - 344, 347, 345, 348, 350, 352, 353, 355, 358, 813, - 812, 362, 360, 811, 365, 810, 809, 385, 374, 367, - 389, 808, 378, 807, 381, 806, 385, 371, 368, 396, - 401, 403, 405, 407, 409, 411, 414, 413, 416, 417, - 418, 419, 424, 434, 427, 425, 805, 436, 841, 446, - 452, 371, 458, 461, 421, 446, 452, 462, 804, 803, - - 802, 463, 441, 466, 465, 467, 468, 472, 474, 475, - 476, 477, 801, 481, 480, 488, 486, 487, 489, 490, - 494, 800, 799, 492, 798, 493, 498, 0, 502, 499, - 503, 505, 513, 515, 512, 516, 519, 797, 518, 529, - 796, 795, 530, 794, 520, 532, 533, 538, 534, 537, - 540, 541, 545, 793, 547, 792, 549, 555, 791, 550, - 548, 790, 557, 560, 559, 437, 566, 567, 563, 568, - 789, 569, 788, 573, 574, 571, 577, 579, 787, 578, - 581, 591, 583, 593, 786, 596, 785, 784, 783, 782, - 781, 780, 779, 778, 597, 599, 601, 777, 776, 775, - - 600, 604, 605, 603, 606, 774, 607, 608, 612, 773, - 614, 772, 615, 616, 618, 771, 770, 769, 628, 768, - 620, 767, 634, 637, 766, 624, 765, 764, 763, 635, - 762, 761, 760, 759, 638, 641, 758, 755, 746, 744, - 639, 644, 645, 646, 743, 742, 648, 649, 647, 650, - 652, 655, 666, 667, 659, 660, 670, 741, 740, 673, - 674, 738, 737, 675, 676, 678, 736, 679, 735, 680, - 682, 685, 686, 689, 693, 694, 695, 696, 700, 701, - 702, 707, 706, 732, 711, 731, 708, 712, 709, 715, - 716, 728, 722, 724, 725, 372, 726, 292, 841, 759, - - 761, 298, 765, 252 + 57, 832, 207, 224, 223, 227, 229, 233, 243, 235, + 238, 242, 247, 831, 249, 250, 251, 259, 245, 267, + + 265, 266, 272, 281, 274, 278, 830, 0, 291, 293, + 829, 305, 311, 0, 828, 241, 282, 827, 312, 284, + 826, 298, 301, 294, 825, 315, 318, 319, 320, 824, + 322, 324, 327, 329, 325, 326, 339, 332, 333, 345, + 331, 343, 330, 350, 353, 354, 355, 357, 356, 823, + 822, 358, 360, 821, 361, 820, 819, 383, 364, 372, + 365, 394, 818, 362, 817, 375, 816, 376, 369, 397, + 379, 401, 404, 400, 402, 407, 406, 412, 417, 414, + 416, 428, 418, 421, 432, 431, 435, 815, 419, 851, + 443, 449, 452, 455, 458, 443, 459, 461, 462, 814, + + 813, 812, 463, 464, 467, 468, 465, 469, 471, 473, + 475, 476, 477, 811, 482, 486, 489, 485, 488, 492, + 420, 493, 810, 809, 495, 808, 496, 499, 0, 501, + 503, 504, 505, 509, 512, 514, 515, 517, 524, 807, + 519, 527, 806, 805, 530, 804, 529, 533, 534, 536, + 537, 544, 545, 546, 548, 803, 549, 802, 550, 553, + 801, 553, 556, 800, 555, 568, 559, 561, 560, 570, + 571, 574, 799, 576, 798, 577, 578, 579, 581, 588, + 797, 582, 592, 589, 600, 602, 796, 585, 584, 795, + 794, 793, 792, 791, 790, 789, 788, 604, 590, 605, + + 787, 786, 785, 606, 608, 610, 612, 617, 784, 619, + 620, 621, 783, 623, 782, 622, 625, 624, 781, 780, + 779, 626, 778, 627, 777, 632, 640, 776, 630, 775, + 774, 773, 644, 647, 772, 771, 770, 769, 648, 650, + 768, 765, 756, 755, 651, 654, 652, 649, 753, 752, + 653, 670, 656, 659, 671, 655, 751, 658, 676, 675, + 660, 678, 750, 749, 682, 685, 748, 747, 687, 686, + 688, 746, 690, 745, 691, 692, 693, 696, 695, 702, + 698, 704, 706, 705, 711, 713, 712, 716, 744, 721, + 739, 718, 719, 723, 724, 725, 738, 726, 737, 733, + + 657, 736, 422, 851, 769, 771, 379, 775, 375 } ; -static yyconst short int yy_def[405] = +static yyconst short int yy_def[410] = { 0, - 399, 1, 399, 399, 399, 399, 400, 401, 402, 399, - 401, 401, 401, 401, 403, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 400, 399, 401, 399, - 404, 404, 399, 399, 401, 401, 401, 401, 401, 403, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - - 401, 401, 401, 401, 401, 401, 399, 404, 404, 399, - 401, 401, 401, 49, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 49, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 399, 399, - 399, 399, 401, 401, 401, 401, 401, 401, 401, 401, - - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 158, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 399, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 401, 401, 401, 401, 401, 0, 399, - - 399, 399, 399, 399 + 404, 1, 404, 404, 404, 404, 405, 406, 407, 404, + 406, 406, 406, 406, 408, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 405, 404, 406, 404, + 409, 409, 404, 404, 406, 406, 406, 406, 406, 408, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + + 406, 406, 406, 406, 406, 406, 404, 409, 409, 404, + 406, 406, 406, 49, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 49, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 404, + 404, 404, 404, 406, 406, 406, 406, 406, 406, 406, + + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 158, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 404, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + + 406, 406, 406, 0, 404, 404, 404, 404, 404 } ; -static yyconst short int yy_nxt[883] = +static yyconst short int yy_nxt[893] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 4, 15, 8, 8, 8, 16, 17, 18, 19, @@ -549,79 +550,81 @@ static yyconst short int yy_nxt[883] = 40, 40, 131, 144, 40, 134, 136, 40, 40, 140, 139, 154, 141, 147, 40, 40, 150, 145, 40, 142, 40, 143, 152, 146, 40, 148, 40, 151, 155, 40, - 156, 40, 40, 40, 108, 166, 40, 157, 40, 160, - 40, 40, 109, 109, 165, 158, 162, 161, 159, 163, - 174, 167, 164, 168, 170, 172, 40, 40, 40, 40, - 173, 169, 40, 181, 182, 171, 176, 40, 40, 180, - 40, 177, 186, 40, 175, 184, 183, 185, 40, 178, - - 41, 190, 190, 40, 179, 40, 191, 197, 199, 187, - 40, 188, 191, 112, 112, 40, 192, 193, 113, 194, - 194, 40, 40, 196, 113, 40, 40, 40, 40, 40, - 40, 40, 203, 195, 40, 40, 202, 206, 198, 40, - 40, 200, 40, 40, 204, 205, 40, 207, 208, 209, - 201, 212, 213, 40, 40, 40, 40, 210, 40, 40, - 215, 40, 214, 40, 40, 211, 40, 217, 219, 40, - 216, 40, 222, 40, 218, 220, 40, 223, 40, 40, - 258, 258, 40, 40, 224, 40, 221, 230, 225, 40, - 239, 226, 40, 227, 228, 228, 40, 238, 228, 228, - - 40, 228, 228, 228, 228, 228, 228, 40, 229, 231, - 235, 232, 40, 236, 40, 233, 40, 234, 40, 237, - 40, 241, 40, 242, 40, 40, 240, 40, 40, 40, - 40, 246, 40, 248, 251, 40, 40, 245, 40, 243, - 249, 244, 247, 255, 253, 40, 250, 40, 40, 259, - 256, 252, 40, 254, 315, 190, 190, 40, 192, 192, - 191, 258, 258, 40, 260, 257, 191, 194, 194, 40, - 194, 194, 40, 40, 40, 264, 40, 40, 40, 40, - 261, 263, 265, 40, 268, 40, 40, 40, 40, 266, - 262, 40, 40, 267, 272, 271, 275, 40, 40, 40, - - 40, 40, 269, 40, 40, 40, 270, 274, 276, 40, - 40, 273, 278, 40, 40, 279, 40, 286, 277, 280, - 281, 282, 285, 40, 40, 288, 40, 40, 283, 40, - 40, 40, 284, 290, 287, 292, 294, 295, 296, 289, - 40, 40, 299, 40, 40, 40, 293, 291, 40, 40, - 298, 40, 40, 300, 302, 297, 40, 301, 40, 40, - 40, 40, 303, 306, 258, 258, 310, 311, 40, 304, - 40, 40, 305, 309, 40, 312, 313, 40, 40, 40, - 40, 308, 40, 307, 40, 40, 316, 320, 40, 40, - 40, 314, 40, 321, 40, 317, 319, 318, 323, 325, - - 322, 327, 40, 329, 40, 324, 326, 40, 40, 328, - 40, 40, 40, 330, 40, 40, 40, 40, 40, 40, - 332, 334, 336, 40, 337, 40, 40, 40, 339, 40, - 331, 40, 341, 333, 335, 40, 345, 338, 343, 40, - 342, 340, 351, 344, 347, 40, 40, 348, 40, 40, - 40, 346, 40, 350, 349, 40, 40, 40, 40, 40, - 40, 40, 353, 40, 354, 355, 40, 352, 356, 360, - 40, 40, 363, 357, 359, 361, 362, 40, 40, 367, - 358, 40, 365, 366, 40, 40, 40, 40, 364, 40, - 40, 40, 369, 40, 368, 374, 40, 40, 377, 372, - - 40, 370, 373, 375, 40, 40, 40, 40, 371, 381, - 379, 40, 40, 40, 376, 380, 384, 40, 40, 40, - 40, 386, 40, 40, 382, 378, 40, 40, 387, 383, - 389, 390, 391, 40, 394, 40, 40, 40, 393, 40, - 385, 388, 40, 40, 392, 397, 40, 40, 40, 40, - 396, 40, 40, 40, 40, 40, 395, 40, 398, 37, - 37, 37, 37, 39, 39, 50, 40, 50, 50, 40, + 156, 160, 40, 40, 40, 167, 40, 157, 40, 161, + 40, 40, 40, 196, 166, 158, 168, 162, 159, 163, + 40, 169, 164, 171, 176, 165, 40, 40, 40, 170, + 173, 182, 183, 40, 172, 40, 177, 175, 181, 40, + 174, 178, 40, 40, 184, 40, 185, 187, 186, 179, + + 109, 109, 191, 191, 180, 40, 188, 192, 199, 40, + 189, 197, 40, 192, 112, 112, 40, 193, 194, 113, + 195, 195, 40, 40, 200, 113, 40, 201, 202, 40, + 40, 40, 198, 40, 203, 40, 40, 40, 40, 207, + 40, 40, 40, 40, 40, 205, 206, 209, 208, 210, + 40, 204, 214, 215, 40, 213, 40, 217, 211, 219, + 212, 40, 216, 218, 40, 40, 40, 40, 40, 40, + 220, 40, 40, 40, 223, 40, 40, 108, 221, 224, + 40, 41, 225, 40, 226, 232, 40, 40, 222, 228, + 40, 227, 229, 229, 237, 240, 229, 229, 230, 229, + + 229, 229, 229, 229, 229, 40, 231, 238, 40, 242, + 239, 40, 40, 40, 233, 40, 234, 40, 40, 241, + 235, 243, 236, 40, 244, 40, 248, 40, 40, 40, + 40, 40, 40, 40, 245, 247, 246, 250, 251, 40, + 249, 255, 40, 40, 253, 252, 40, 257, 259, 282, + 254, 256, 191, 191, 40, 193, 193, 192, 260, 260, + 258, 260, 260, 192, 195, 195, 40, 195, 195, 40, + 40, 261, 40, 40, 40, 40, 40, 262, 40, 40, + 40, 265, 40, 267, 40, 270, 40, 40, 40, 263, + 264, 269, 268, 40, 274, 273, 40, 40, 266, 40, + + 40, 271, 277, 40, 40, 272, 40, 40, 276, 278, + 40, 275, 40, 280, 40, 40, 40, 279, 281, 283, + 40, 287, 289, 40, 284, 40, 40, 288, 40, 291, + 40, 285, 293, 286, 295, 40, 290, 297, 40, 299, + 40, 40, 298, 292, 40, 40, 294, 40, 40, 296, + 301, 302, 305, 300, 303, 40, 40, 40, 304, 40, + 40, 40, 260, 260, 40, 306, 40, 40, 309, 313, + 40, 40, 40, 315, 312, 314, 307, 308, 318, 40, + 319, 40, 40, 311, 316, 40, 310, 40, 40, 40, + 40, 317, 40, 40, 323, 40, 40, 324, 320, 40, + + 40, 40, 322, 40, 325, 321, 326, 331, 328, 327, + 329, 40, 330, 40, 334, 40, 40, 40, 335, 40, + 332, 40, 333, 40, 337, 338, 340, 336, 40, 341, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 343, + 339, 40, 351, 40, 345, 349, 342, 347, 355, 346, + 348, 40, 353, 344, 352, 40, 354, 350, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 358, 359, 370, 357, 356, 360, 361, 364, + 362, 40, 40, 363, 366, 367, 40, 40, 369, 40, + 365, 368, 371, 40, 373, 372, 40, 40, 40, 40, + + 374, 40, 40, 40, 40, 379, 40, 40, 382, 40, + 375, 377, 378, 40, 380, 40, 40, 40, 386, 376, + 384, 385, 40, 40, 40, 381, 389, 40, 387, 40, + 40, 391, 40, 383, 40, 40, 40, 40, 388, 392, + 394, 395, 396, 399, 40, 390, 393, 40, 40, 40, + 40, 397, 398, 402, 401, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 400, 40, 40, 403, 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, 189, 40, 40, 40, 40, 107, 40, 38, 399, - 3, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399 + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 190, 40, 40, 40, 40, 107, 40, 38, 404, + 3, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404 + } ; -static yyconst short int yy_chk[883] = +static yyconst short int yy_chk[893] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -650,76 +653,78 @@ static yyconst short int yy_chk[883] = 75, 78, 64, 74, 79, 66, 67, 80, 76, 71, 70, 83, 72, 76, 85, 84, 78, 75, 86, 73, 87, 73, 80, 75, 88, 76, 90, 79, 84, 91, - 85, 89, 97, 98, 404, 91, 96, 85, 92, 88, - 93, 95, 109, 109, 90, 86, 89, 88, 87, 89, - 98, 92, 89, 93, 95, 96, 99, 101, 100, 102, - 97, 93, 103, 102, 102, 95, 100, 104, 105, 101, - 106, 100, 104, 122, 99, 103, 102, 103, 119, 100, - - 402, 110, 110, 398, 100, 117, 110, 119, 122, 105, - 127, 106, 110, 112, 112, 112, 113, 113, 112, 113, - 113, 113, 116, 117, 112, 120, 123, 124, 126, 128, - 129, 131, 127, 116, 132, 135, 126, 131, 120, 133, - 134, 123, 136, 138, 128, 129, 137, 132, 133, 134, - 124, 137, 138, 139, 140, 141, 143, 135, 142, 144, - 140, 145, 139, 146, 147, 136, 148, 142, 144, 149, - 141, 153, 147, 152, 143, 145, 155, 148, 160, 169, - 192, 192, 168, 396, 149, 159, 146, 160, 152, 163, - 169, 153, 165, 155, 158, 158, 167, 168, 158, 158, - - 161, 158, 158, 158, 158, 158, 158, 170, 159, 161, - 163, 161, 171, 165, 172, 161, 173, 161, 174, 167, - 175, 171, 176, 172, 178, 177, 170, 179, 180, 181, - 182, 176, 195, 178, 181, 183, 186, 175, 185, 173, - 179, 174, 177, 185, 183, 184, 180, 188, 266, 195, - 186, 182, 203, 184, 266, 190, 190, 196, 191, 191, - 190, 191, 191, 197, 196, 188, 190, 193, 193, 193, - 194, 194, 194, 198, 202, 203, 205, 204, 206, 207, - 197, 202, 204, 208, 207, 209, 210, 211, 212, 205, - 198, 215, 214, 206, 211, 210, 215, 217, 218, 216, - - 219, 220, 208, 224, 226, 221, 209, 214, 216, 227, - 230, 212, 218, 229, 231, 219, 232, 230, 217, 220, - 221, 224, 229, 235, 233, 232, 234, 236, 226, 239, - 237, 245, 227, 233, 231, 234, 236, 237, 239, 232, - 240, 243, 245, 246, 247, 249, 235, 233, 250, 248, - 243, 251, 252, 246, 248, 240, 253, 247, 255, 261, - 257, 260, 249, 252, 258, 258, 260, 261, 263, 250, - 265, 264, 251, 257, 269, 263, 264, 267, 268, 270, - 272, 255, 276, 253, 274, 275, 267, 272, 277, 280, - 278, 265, 281, 274, 283, 268, 270, 269, 276, 278, - - 275, 281, 282, 283, 284, 277, 280, 286, 295, 282, - 296, 301, 297, 284, 304, 302, 303, 305, 307, 308, - 295, 297, 302, 309, 303, 311, 313, 314, 305, 315, - 286, 321, 308, 296, 301, 326, 314, 304, 311, 319, - 309, 307, 326, 313, 319, 323, 330, 321, 324, 335, - 341, 315, 336, 324, 323, 342, 343, 344, 349, 347, - 348, 350, 335, 351, 336, 341, 352, 330, 342, 348, - 355, 356, 351, 343, 347, 349, 350, 353, 354, 355, - 344, 357, 353, 354, 360, 361, 364, 365, 352, 366, - 368, 370, 357, 371, 356, 366, 372, 373, 371, 364, - - 374, 360, 365, 368, 375, 376, 377, 378, 361, 375, - 373, 379, 380, 381, 370, 374, 378, 383, 382, 387, - 389, 380, 385, 388, 376, 372, 390, 391, 381, 377, - 383, 385, 387, 393, 390, 394, 395, 397, 389, 392, - 379, 382, 386, 384, 388, 395, 369, 367, 363, 362, - 393, 359, 358, 346, 345, 340, 391, 339, 397, 400, - 400, 400, 400, 401, 401, 403, 338, 403, 403, 337, - 334, 333, 332, 331, 329, 328, 327, 325, 322, 320, - 318, 317, 316, 312, 310, 306, 300, 299, 298, 294, - 293, 292, 291, 290, 289, 288, 287, 285, 279, 273, - - 271, 262, 259, 256, 254, 244, 242, 241, 238, 225, - 223, 222, 213, 201, 200, 199, 187, 166, 164, 162, + 85, 88, 116, 92, 89, 91, 99, 85, 93, 88, + 95, 96, 97, 116, 90, 86, 92, 88, 87, 89, + 98, 93, 89, 95, 99, 89, 101, 102, 100, 93, + 96, 102, 102, 103, 95, 105, 100, 98, 101, 106, + 97, 100, 104, 117, 102, 120, 103, 104, 103, 100, + + 109, 109, 110, 110, 100, 124, 105, 110, 120, 122, + 106, 117, 123, 110, 112, 112, 112, 113, 113, 112, + 113, 113, 113, 119, 122, 112, 126, 123, 124, 127, + 128, 129, 119, 131, 126, 132, 135, 136, 133, 131, + 134, 143, 141, 138, 139, 128, 129, 133, 132, 134, + 137, 127, 138, 139, 142, 137, 140, 141, 135, 143, + 136, 144, 140, 142, 145, 146, 147, 149, 148, 152, + 144, 153, 155, 164, 147, 159, 161, 409, 145, 148, + 169, 407, 149, 160, 152, 161, 166, 168, 146, 155, + 171, 153, 158, 158, 164, 169, 158, 158, 159, 158, + + 158, 158, 158, 158, 158, 162, 160, 166, 170, 171, + 168, 174, 172, 175, 162, 173, 162, 177, 176, 170, + 162, 172, 162, 178, 173, 180, 177, 181, 179, 183, + 189, 221, 184, 403, 174, 176, 175, 179, 180, 182, + 178, 184, 186, 185, 182, 181, 187, 186, 189, 221, + 183, 185, 191, 191, 196, 192, 192, 191, 192, 192, + 187, 193, 193, 191, 194, 194, 194, 195, 195, 195, + 197, 196, 198, 199, 203, 204, 207, 197, 205, 206, + 208, 203, 209, 205, 210, 208, 211, 212, 213, 198, + 199, 207, 206, 215, 212, 211, 218, 216, 204, 219, + + 217, 209, 216, 220, 222, 210, 225, 227, 215, 217, + 228, 213, 230, 219, 231, 232, 233, 218, 220, 222, + 234, 230, 232, 235, 225, 236, 237, 231, 238, 234, + 241, 227, 235, 228, 236, 239, 233, 238, 242, 241, + 247, 245, 239, 234, 248, 249, 235, 250, 251, 237, + 245, 247, 250, 242, 248, 252, 253, 254, 249, 255, + 257, 259, 260, 260, 262, 251, 265, 263, 254, 262, + 267, 269, 268, 265, 259, 263, 252, 253, 268, 266, + 269, 270, 271, 257, 266, 272, 255, 274, 276, 277, + 278, 267, 279, 282, 274, 289, 288, 276, 270, 280, + + 284, 299, 272, 283, 277, 271, 278, 284, 280, 279, + 282, 285, 283, 286, 288, 298, 300, 304, 289, 305, + 285, 306, 286, 307, 299, 300, 305, 298, 308, 306, + 310, 311, 312, 316, 314, 318, 317, 322, 324, 308, + 304, 329, 322, 326, 311, 317, 307, 314, 329, 312, + 316, 327, 326, 310, 324, 333, 327, 318, 334, 339, + 348, 340, 345, 347, 351, 346, 356, 353, 401, 358, + 354, 361, 339, 340, 358, 334, 333, 345, 346, 351, + 347, 352, 355, 348, 353, 354, 360, 359, 356, 362, + 352, 355, 359, 365, 361, 360, 366, 370, 369, 371, + + 362, 373, 375, 376, 377, 371, 379, 378, 376, 381, + 365, 369, 370, 380, 373, 382, 384, 383, 380, 366, + 378, 379, 385, 387, 386, 375, 383, 388, 381, 392, + 393, 385, 390, 377, 394, 395, 396, 398, 382, 386, + 388, 390, 392, 395, 400, 384, 387, 402, 399, 397, + 391, 393, 394, 400, 398, 389, 374, 372, 368, 367, + 364, 363, 357, 350, 349, 396, 344, 343, 402, 405, + 405, 405, 405, 406, 406, 408, 342, 408, 408, 341, + 338, 337, 336, 335, 332, 331, 330, 328, 325, 323, + 321, 320, 319, 315, 313, 309, 303, 302, 301, 297, + + 296, 295, 294, 293, 292, 291, 290, 287, 281, 275, + 273, 264, 261, 258, 256, 246, 244, 243, 240, 226, + 224, 223, 214, 202, 201, 200, 188, 167, 165, 163, 157, 156, 154, 151, 150, 130, 125, 121, 118, 115, 111, 107, 94, 82, 58, 39, 37, 8, 7, 3, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, - 399, 399 + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404 + } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -736,7 +741,7 @@ goto find_rule; \ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/llvm/lib/AsmParser/Lexer.l" +#line 1 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" #define INITIAL 0 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===// // @@ -751,7 +756,7 @@ char *yytext; // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/llvm/lib/AsmParser/Lexer.l" +#line 28 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" #include "ParserInternals.h" #include "llvm/Module.h" #include @@ -877,7 +882,7 @@ using namespace llvm; /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 881 "Lexer.cpp" +#line 886 "Lexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1028,10 +1033,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 179 "/llvm/lib/AsmParser/Lexer.l" +#line 179 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" -#line 1035 "Lexer.cpp" +#line 1040 "Lexer.cpp" if ( yy_init ) { @@ -1079,14 +1084,14 @@ 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 >= 400 ) + if ( yy_current_state >= 405 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 399 ); + while ( yy_current_state != 404 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1124,446 +1129,451 @@ do_action: /* This label is used only to access EOF actions. */ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 181 "/llvm/lib/AsmParser/Lexer.l" +#line 181 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 183 "/llvm/lib/AsmParser/Lexer.l" +#line 183 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return BEGINTOK; } YY_BREAK case 3: YY_RULE_SETUP -#line 184 "/llvm/lib/AsmParser/Lexer.l" +#line 184 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return ENDTOK; } YY_BREAK case 4: YY_RULE_SETUP -#line 185 "/llvm/lib/AsmParser/Lexer.l" +#line 185 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return TRUETOK; } YY_BREAK case 5: YY_RULE_SETUP -#line 186 "/llvm/lib/AsmParser/Lexer.l" +#line 186 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return FALSETOK; } YY_BREAK case 6: YY_RULE_SETUP -#line 187 "/llvm/lib/AsmParser/Lexer.l" +#line 187 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return DECLARE; } YY_BREAK case 7: YY_RULE_SETUP -#line 188 "/llvm/lib/AsmParser/Lexer.l" +#line 188 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return GLOBAL; } YY_BREAK case 8: YY_RULE_SETUP -#line 189 "/llvm/lib/AsmParser/Lexer.l" +#line 189 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return CONSTANT; } YY_BREAK case 9: YY_RULE_SETUP -#line 190 "/llvm/lib/AsmParser/Lexer.l" +#line 190 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return INTERNAL; } YY_BREAK case 10: YY_RULE_SETUP -#line 191 "/llvm/lib/AsmParser/Lexer.l" +#line 191 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return LINKONCE; } YY_BREAK case 11: YY_RULE_SETUP -#line 192 "/llvm/lib/AsmParser/Lexer.l" +#line 192 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return WEAK; } YY_BREAK case 12: YY_RULE_SETUP -#line 193 "/llvm/lib/AsmParser/Lexer.l" +#line 193 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return APPENDING; } YY_BREAK case 13: YY_RULE_SETUP -#line 194 "/llvm/lib/AsmParser/Lexer.l" +#line 194 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return EXTERNAL; } /* Deprecated, turn into external */ YY_BREAK case 14: YY_RULE_SETUP -#line 195 "/llvm/lib/AsmParser/Lexer.l" +#line 195 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return EXTERNAL; } YY_BREAK case 15: YY_RULE_SETUP -#line 196 "/llvm/lib/AsmParser/Lexer.l" +#line 196 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return IMPLEMENTATION; } YY_BREAK case 16: YY_RULE_SETUP -#line 197 "/llvm/lib/AsmParser/Lexer.l" +#line 197 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return ZEROINITIALIZER; } YY_BREAK case 17: YY_RULE_SETUP -#line 198 "/llvm/lib/AsmParser/Lexer.l" +#line 198 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return DOTDOTDOT; } YY_BREAK case 18: YY_RULE_SETUP -#line 199 "/llvm/lib/AsmParser/Lexer.l" +#line 199 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return UNDEF; } YY_BREAK case 19: YY_RULE_SETUP -#line 200 "/llvm/lib/AsmParser/Lexer.l" +#line 200 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return NULL_TOK; } YY_BREAK case 20: YY_RULE_SETUP -#line 201 "/llvm/lib/AsmParser/Lexer.l" +#line 201 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return TO; } YY_BREAK case 21: YY_RULE_SETUP -#line 202 "/llvm/lib/AsmParser/Lexer.l" +#line 202 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Unwind, UNWIND); } YY_BREAK case 22: YY_RULE_SETUP -#line 203 "/llvm/lib/AsmParser/Lexer.l" +#line 203 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return NOT; } /* Deprecated, turned into XOR */ YY_BREAK case 23: YY_RULE_SETUP -#line 204 "/llvm/lib/AsmParser/Lexer.l" +#line 204 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return TAIL; } YY_BREAK case 24: YY_RULE_SETUP -#line 205 "/llvm/lib/AsmParser/Lexer.l" +#line 205 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return TARGET; } YY_BREAK case 25: YY_RULE_SETUP -#line 206 "/llvm/lib/AsmParser/Lexer.l" +#line 206 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return TRIPLE; } YY_BREAK case 26: YY_RULE_SETUP -#line 207 "/llvm/lib/AsmParser/Lexer.l" +#line 207 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return DEPLIBS; } YY_BREAK case 27: YY_RULE_SETUP -#line 208 "/llvm/lib/AsmParser/Lexer.l" +#line 208 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return ENDIAN; } YY_BREAK case 28: YY_RULE_SETUP -#line 209 "/llvm/lib/AsmParser/Lexer.l" +#line 209 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return POINTERSIZE; } YY_BREAK case 29: YY_RULE_SETUP -#line 210 "/llvm/lib/AsmParser/Lexer.l" +#line 210 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return LITTLE; } YY_BREAK case 30: YY_RULE_SETUP -#line 211 "/llvm/lib/AsmParser/Lexer.l" +#line 211 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return BIG; } YY_BREAK case 31: YY_RULE_SETUP -#line 212 "/llvm/lib/AsmParser/Lexer.l" +#line 212 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return VOLATILE; } YY_BREAK case 32: YY_RULE_SETUP -#line 214 "/llvm/lib/AsmParser/Lexer.l" -{ return CC_TOK; } +#line 213 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return ALIGN; } YY_BREAK case 33: YY_RULE_SETUP -#line 215 "/llvm/lib/AsmParser/Lexer.l" -{ return CCC_TOK; } +#line 214 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return SECTION; } YY_BREAK case 34: YY_RULE_SETUP -#line 216 "/llvm/lib/AsmParser/Lexer.l" -{ return FASTCC_TOK; } +#line 216 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return CC_TOK; } YY_BREAK case 35: YY_RULE_SETUP -#line 217 "/llvm/lib/AsmParser/Lexer.l" -{ return COLDCC_TOK; } +#line 217 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return CCC_TOK; } YY_BREAK case 36: YY_RULE_SETUP -#line 219 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; } +#line 218 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return FASTCC_TOK; } YY_BREAK case 37: YY_RULE_SETUP -#line 220 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; } +#line 219 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return COLDCC_TOK; } YY_BREAK case 38: YY_RULE_SETUP -#line 221 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; } +#line 221 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::VoidTy ; return VOID; } YY_BREAK case 39: YY_RULE_SETUP -#line 222 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; } +#line 222 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; } YY_BREAK case 40: YY_RULE_SETUP -#line 223 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; } +#line 223 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; } YY_BREAK case 41: YY_RULE_SETUP -#line 224 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; } +#line 224 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; } YY_BREAK case 42: YY_RULE_SETUP -#line 225 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::IntTy ; return INT; } +#line 225 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; } YY_BREAK case 43: YY_RULE_SETUP -#line 226 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; } +#line 226 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; } YY_BREAK case 44: YY_RULE_SETUP -#line 227 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; } +#line 227 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::IntTy ; return INT; } YY_BREAK case 45: YY_RULE_SETUP -#line 228 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; } +#line 228 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::UIntTy ; return UINT; } YY_BREAK case 46: YY_RULE_SETUP -#line 229 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; } +#line 229 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::LongTy ; return LONG; } YY_BREAK case 47: YY_RULE_SETUP -#line 230 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; } +#line 230 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; } YY_BREAK case 48: YY_RULE_SETUP -#line 231 "/llvm/lib/AsmParser/Lexer.l" -{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; } +#line 231 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; } YY_BREAK case 49: YY_RULE_SETUP -#line 232 "/llvm/lib/AsmParser/Lexer.l" -{ return TYPE; } +#line 232 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; } YY_BREAK case 50: YY_RULE_SETUP -#line 233 "/llvm/lib/AsmParser/Lexer.l" -{ return OPAQUE; } +#line 233 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; } YY_BREAK case 51: YY_RULE_SETUP -#line 234 "/llvm/lib/AsmParser/Lexer.l" -{ return ALIGN; } +#line 234 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return TYPE; } YY_BREAK case 52: YY_RULE_SETUP -#line 236 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Add, ADD); } +#line 235 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return OPAQUE; } YY_BREAK case 53: YY_RULE_SETUP -#line 237 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Sub, SUB); } +#line 237 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Add, ADD); } YY_BREAK case 54: YY_RULE_SETUP -#line 238 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Mul, MUL); } +#line 238 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Sub, SUB); } YY_BREAK case 55: YY_RULE_SETUP -#line 239 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Div, DIV); } +#line 239 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Mul, MUL); } YY_BREAK case 56: YY_RULE_SETUP -#line 240 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Rem, REM); } +#line 240 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Div, DIV); } YY_BREAK case 57: YY_RULE_SETUP -#line 241 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, And, AND); } +#line 241 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Rem, REM); } YY_BREAK case 58: YY_RULE_SETUP -#line 242 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Or , OR ); } +#line 242 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, And, AND); } YY_BREAK case 59: YY_RULE_SETUP -#line 243 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Xor, XOR); } +#line 243 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Or , OR ); } YY_BREAK case 60: YY_RULE_SETUP -#line 244 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetNE, SETNE); } +#line 244 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Xor, XOR); } YY_BREAK case 61: YY_RULE_SETUP -#line 245 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); } +#line 245 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetNE, SETNE); } YY_BREAK case 62: YY_RULE_SETUP -#line 246 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetLT, SETLT); } +#line 246 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); } YY_BREAK case 63: YY_RULE_SETUP -#line 247 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetGT, SETGT); } +#line 247 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetLT, SETLT); } YY_BREAK case 64: YY_RULE_SETUP -#line 248 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetLE, SETLE); } +#line 248 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetGT, SETGT); } YY_BREAK case 65: YY_RULE_SETUP -#line 249 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetGE, SETGE); } +#line 249 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetLE, SETLE); } YY_BREAK case 66: YY_RULE_SETUP -#line 251 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, PHI, PHI_TOK); } +#line 250 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetGE, SETGE); } YY_BREAK case 67: YY_RULE_SETUP -#line 252 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Call, CALL); } +#line 252 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, PHI, PHI_TOK); } YY_BREAK case 68: YY_RULE_SETUP -#line 253 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Cast, CAST); } +#line 253 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Call, CALL); } YY_BREAK case 69: YY_RULE_SETUP -#line 254 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Select, SELECT); } +#line 254 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Cast, CAST); } YY_BREAK case 70: YY_RULE_SETUP -#line 255 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Shl, SHL); } +#line 255 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Select, SELECT); } YY_BREAK case 71: YY_RULE_SETUP -#line 256 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Shr, SHR); } +#line 256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Shl, SHL); } YY_BREAK case 72: YY_RULE_SETUP -#line 257 "/llvm/lib/AsmParser/Lexer.l" -{ return VANEXT_old; } +#line 257 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Shr, SHR); } YY_BREAK case 73: YY_RULE_SETUP -#line 258 "/llvm/lib/AsmParser/Lexer.l" -{ return VAARG_old; } +#line 258 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return VANEXT_old; } YY_BREAK case 74: YY_RULE_SETUP -#line 259 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, VAArg , VAARG); } +#line 259 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ return VAARG_old; } YY_BREAK case 75: YY_RULE_SETUP -#line 260 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Ret, RET); } +#line 260 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, VAArg , VAARG); } YY_BREAK case 76: YY_RULE_SETUP -#line 261 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Br, BR); } +#line 261 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Ret, RET); } YY_BREAK case 77: YY_RULE_SETUP -#line 262 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Switch, SWITCH); } +#line 262 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Br, BR); } YY_BREAK case 78: YY_RULE_SETUP -#line 263 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Invoke, INVOKE); } +#line 263 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Switch, SWITCH); } YY_BREAK case 79: YY_RULE_SETUP -#line 264 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unwind, UNWIND); } +#line 264 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Invoke, INVOKE); } YY_BREAK case 80: YY_RULE_SETUP -#line 265 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } +#line 265 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unwind, UNWIND); } YY_BREAK case 81: YY_RULE_SETUP -#line 267 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Malloc, MALLOC); } +#line 266 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } YY_BREAK case 82: YY_RULE_SETUP -#line 268 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Alloca, ALLOCA); } +#line 268 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Malloc, MALLOC); } YY_BREAK case 83: YY_RULE_SETUP -#line 269 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Free, FREE); } +#line 269 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Alloca, ALLOCA); } YY_BREAK case 84: YY_RULE_SETUP -#line 270 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Load, LOAD); } +#line 270 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Free, FREE); } YY_BREAK case 85: YY_RULE_SETUP -#line 271 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Store, STORE); } +#line 271 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Load, LOAD); } YY_BREAK case 86: YY_RULE_SETUP -#line 272 "/llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } +#line 272 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Store, STORE); } YY_BREAK case 87: YY_RULE_SETUP -#line 275 "/llvm/lib/AsmParser/Lexer.l" +#line 273 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } + YY_BREAK +case 88: +YY_RULE_SETUP +#line 276 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { UnEscapeLexed(yytext+1); llvmAsmlval.StrVal = strdup(yytext+1); // Skip % return VAR_ID; } YY_BREAK -case 88: +case 89: YY_RULE_SETUP -#line 280 "/llvm/lib/AsmParser/Lexer.l" +#line 281 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { yytext[strlen(yytext)-1] = 0; // nuke colon UnEscapeLexed(yytext); @@ -1571,9 +1581,9 @@ YY_RULE_SETUP return LABELSTR; } YY_BREAK -case 89: +case 90: YY_RULE_SETUP -#line 286 "/llvm/lib/AsmParser/Lexer.l" +#line 287 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { yytext[strlen(yytext)-2] = 0; // nuke colon, end quote UnEscapeLexed(yytext+1); @@ -1581,9 +1591,9 @@ YY_RULE_SETUP return LABELSTR; } YY_BREAK -case 90: +case 91: YY_RULE_SETUP -#line 293 "/llvm/lib/AsmParser/Lexer.l" +#line 294 "/Volumes/ProjectsDisk/cvs/llvm/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 @@ -1594,14 +1604,14 @@ YY_RULE_SETUP return STRINGCONSTANT; } YY_BREAK -case 91: +case 92: YY_RULE_SETUP -#line 304 "/llvm/lib/AsmParser/Lexer.l" +#line 305 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; } YY_BREAK -case 92: +case 93: YY_RULE_SETUP -#line 305 "/llvm/lib/AsmParser/Lexer.l" +#line 306 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); // +1: we have bigger negative range @@ -1611,17 +1621,17 @@ YY_RULE_SETUP return ESINT64VAL; } YY_BREAK -case 93: +case 94: YY_RULE_SETUP -#line 313 "/llvm/lib/AsmParser/Lexer.l" +#line 314 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = HexIntToVal(yytext+3); return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL; } YY_BREAK -case 94: +case 95: YY_RULE_SETUP -#line 318 "/llvm/lib/AsmParser/Lexer.l" +#line 319 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); if ((unsigned)Val != Val) @@ -1630,9 +1640,9 @@ YY_RULE_SETUP return UINTVAL; } YY_BREAK -case 95: +case 96: YY_RULE_SETUP -#line 325 "/llvm/lib/AsmParser/Lexer.l" +#line 326 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+2); // +1: we have bigger negative range @@ -1642,18 +1652,18 @@ YY_RULE_SETUP return SINTVAL; } YY_BREAK -case 96: +case 97: YY_RULE_SETUP -#line 334 "/llvm/lib/AsmParser/Lexer.l" +#line 335 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = atof(yytext); return FPVAL; } YY_BREAK -case 97: +case 98: YY_RULE_SETUP -#line 335 "/llvm/lib/AsmParser/Lexer.l" +#line 336 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 337 "/llvm/lib/AsmParser/Lexer.l" +#line 338 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -1662,22 +1672,22 @@ case YY_STATE_EOF(INITIAL): return EOF; } YY_BREAK -case 98: +case 99: YY_RULE_SETUP -#line 345 "/llvm/lib/AsmParser/Lexer.l" +#line 346 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { /* Ignore whitespace */ } YY_BREAK -case 99: +case 100: YY_RULE_SETUP -#line 346 "/llvm/lib/AsmParser/Lexer.l" +#line 347 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" { return yytext[0]; } YY_BREAK -case 100: +case 101: YY_RULE_SETUP -#line 348 "/llvm/lib/AsmParser/Lexer.l" +#line 349 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1681 "Lexer.cpp" +#line 1691 "Lexer.cpp" case YY_END_OF_BUFFER: { @@ -1964,7 +1974,7 @@ static yy_state_type yy_get_previous_state() 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 >= 400 ) + if ( yy_current_state >= 405 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1994,11 +2004,11 @@ yy_state_type yy_current_state; 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 >= 400 ) + if ( yy_current_state >= 405 ) 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 == 399); + yy_is_jam = (yy_current_state == 404); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -2559,5 +2569,5 @@ int main() return 0; } #endif -#line 348 "/llvm/lib/AsmParser/Lexer.l" +#line 349 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l" diff --git a/lib/AsmParser/llvmAsmParser.cpp b/lib/AsmParser/llvmAsmParser.cpp index b9401b6405e..305bdc6273e 100644 --- a/lib/AsmParser/llvmAsmParser.cpp +++ b/lib/AsmParser/llvmAsmParser.cpp @@ -42,67 +42,68 @@ #define DECLARE 285 #define GLOBAL 286 #define CONSTANT 287 -#define VOLATILE 288 -#define TO 289 -#define DOTDOTDOT 290 -#define NULL_TOK 291 -#define UNDEF 292 -#define CONST 293 -#define INTERNAL 294 -#define LINKONCE 295 -#define WEAK 296 -#define APPENDING 297 -#define OPAQUE 298 -#define NOT 299 -#define EXTERNAL 300 -#define TARGET 301 -#define TRIPLE 302 -#define ENDIAN 303 -#define POINTERSIZE 304 -#define LITTLE 305 -#define BIG 306 -#define ALIGN 307 -#define DEPLIBS 308 -#define CALL 309 -#define TAIL 310 -#define CC_TOK 311 -#define CCC_TOK 312 -#define FASTCC_TOK 313 -#define COLDCC_TOK 314 -#define RET 315 -#define BR 316 -#define SWITCH 317 -#define INVOKE 318 -#define UNWIND 319 -#define UNREACHABLE 320 -#define ADD 321 -#define SUB 322 -#define MUL 323 -#define DIV 324 -#define REM 325 -#define AND 326 -#define OR 327 -#define XOR 328 -#define SETLE 329 -#define SETGE 330 -#define SETLT 331 -#define SETGT 332 -#define SETEQ 333 -#define SETNE 334 -#define MALLOC 335 -#define ALLOCA 336 -#define FREE 337 -#define LOAD 338 -#define STORE 339 -#define GETELEMENTPTR 340 -#define PHI_TOK 341 -#define CAST 342 -#define SELECT 343 -#define SHL 344 -#define SHR 345 -#define VAARG 346 -#define VAARG_old 347 -#define VANEXT_old 348 +#define SECTION 288 +#define VOLATILE 289 +#define TO 290 +#define DOTDOTDOT 291 +#define NULL_TOK 292 +#define UNDEF 293 +#define CONST 294 +#define INTERNAL 295 +#define LINKONCE 296 +#define WEAK 297 +#define APPENDING 298 +#define OPAQUE 299 +#define NOT 300 +#define EXTERNAL 301 +#define TARGET 302 +#define TRIPLE 303 +#define ENDIAN 304 +#define POINTERSIZE 305 +#define LITTLE 306 +#define BIG 307 +#define ALIGN 308 +#define DEPLIBS 309 +#define CALL 310 +#define TAIL 311 +#define CC_TOK 312 +#define CCC_TOK 313 +#define FASTCC_TOK 314 +#define COLDCC_TOK 315 +#define RET 316 +#define BR 317 +#define SWITCH 318 +#define INVOKE 319 +#define UNWIND 320 +#define UNREACHABLE 321 +#define ADD 322 +#define SUB 323 +#define MUL 324 +#define DIV 325 +#define REM 326 +#define AND 327 +#define OR 328 +#define XOR 329 +#define SETLE 330 +#define SETGE 331 +#define SETLT 332 +#define SETGT 333 +#define SETEQ 334 +#define SETNE 335 +#define MALLOC 336 +#define ALLOCA 337 +#define FREE 338 +#define LOAD 339 +#define STORE 340 +#define GETELEMENTPTR 341 +#define PHI_TOK 342 +#define CAST 343 +#define SELECT 344 +#define SHL 345 +#define SHR 346 +#define VAARG 347 +#define VAARG_old 348 +#define VANEXT_old 349 #line 14 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" @@ -611,7 +612,8 @@ static void setValueName(Value *V, char *NameStr) { /// this is a declaration, otherwise it is a definition. static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, bool isConstantGlobal, const Type *Ty, - Constant *Initializer, unsigned Align) { + Constant *Initializer, char *Section, + unsigned Align) { if (Align != 0 && !isPowerOf2_32(Align)) ThrowException("Global alignment must be a power of two!"); @@ -645,6 +647,10 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, GV->setLinkage(Linkage); GV->setConstant(isConstantGlobal); GV->setAlignment(Align); + if (Section) { + free(Section); + GV->setSection(Section); + } InsertValue(GV, CurModule.Values); return; } @@ -672,6 +678,10 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, EGV->setConstant(true); EGV->setLinkage(Linkage); EGV->setAlignment(Align); + if (Section) { + free(Section); + EGV->setSection(Section); + } return; } @@ -685,6 +695,10 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name, CurModule.CurrentModule); GV->setAlignment(Align); + if (Section) { + free(Section); + GV->setSection(Section); + } InsertValue(GV, CurModule.Values); } @@ -963,7 +977,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { } -#line 873 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 886 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" typedef union { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1013,26 +1027,26 @@ typedef union { -#define YYFINAL 431 +#define YYFINAL 439 #define YYFLAG -32768 -#define YYNTBASE 109 +#define YYNTBASE 110 -#define YYTRANSLATE(x) ((unsigned)(x) <= 348 ? yytranslate[x] : 172) +#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 176) static const char yytranslate[] = { 0, 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, 2, 2, 2, 2, 2, 98, - 99, 107, 2, 96, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 103, - 95, 104, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 99, + 100, 108, 2, 97, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 104, + 96, 105, 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, - 100, 97, 102, 2, 2, 2, 2, 2, 108, 2, + 101, 98, 103, 2, 2, 2, 2, 2, 109, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 101, - 2, 2, 105, 2, 106, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 102, + 2, 2, 106, 2, 107, 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, 2, @@ -1054,7 +1068,7 @@ static const char yytranslate[] = { 0, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94 + 87, 88, 89, 90, 91, 92, 93, 94, 95 }; #if YYDEBUG != 0 @@ -1063,124 +1077,126 @@ static const short yyprhs[] = { 0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 67, 68, 70, 72, 74, 76, 77, - 78, 80, 82, 84, 87, 88, 91, 92, 96, 98, - 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, + 78, 80, 82, 84, 87, 88, 91, 92, 96, 99, + 100, 102, 103, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, - 141, 146, 152, 158, 162, 165, 168, 170, 174, 176, - 180, 182, 183, 188, 192, 196, 201, 206, 210, 213, - 216, 219, 222, 225, 228, 231, 234, 237, 240, 247, - 253, 262, 269, 276, 283, 290, 294, 296, 298, 300, - 302, 305, 308, 311, 313, 318, 321, 328, 335, 339, - 344, 345, 347, 349, 353, 357, 361, 365, 369, 371, - 372, 374, 376, 378, 379, 382, 386, 388, 390, 394, - 396, 397, 405, 407, 409, 413, 415, 417, 420, 421, - 425, 427, 429, 431, 433, 435, 437, 439, 443, 445, - 447, 449, 451, 453, 456, 459, 462, 466, 469, 470, - 472, 475, 478, 482, 492, 502, 511, 525, 527, 529, - 536, 542, 545, 552, 560, 562, 566, 568, 569, 572, - 574, 580, 586, 592, 595, 600, 605, 612, 617, 622, - 627, 630, 638, 640, 643, 644, 646, 647, 651, 658, - 662, 669, 672, 677, 684 + 140, 142, 144, 146, 148, 151, 156, 162, 168, 172, + 175, 178, 180, 184, 186, 190, 192, 193, 198, 202, + 206, 211, 216, 220, 223, 226, 229, 232, 235, 238, + 241, 244, 247, 250, 257, 263, 272, 279, 286, 293, + 300, 304, 306, 308, 310, 312, 315, 318, 321, 323, + 328, 331, 339, 347, 351, 356, 357, 359, 361, 365, + 369, 373, 377, 381, 383, 384, 386, 388, 390, 391, + 394, 398, 400, 402, 406, 408, 409, 418, 420, 422, + 426, 428, 430, 433, 434, 438, 440, 442, 444, 446, + 448, 450, 452, 456, 458, 460, 462, 464, 466, 469, + 472, 475, 479, 482, 483, 485, 488, 491, 495, 505, + 515, 524, 538, 540, 542, 549, 555, 558, 565, 573, + 575, 579, 581, 582, 585, 587, 593, 599, 605, 608, + 613, 618, 625, 630, 635, 640, 643, 651, 653, 656, + 657, 659, 660, 664, 671, 675, 682, 685, 690, 697 }; static const short yyrhs[] = { 5, - 0, 6, 0, 3, 0, 4, 0, 67, 0, 68, - 0, 69, 0, 70, 0, 71, 0, 72, 0, 73, - 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, - 0, 79, 0, 80, 0, 90, 0, 91, 0, 16, + 0, 6, 0, 3, 0, 4, 0, 68, 0, 69, + 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, + 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, + 0, 80, 0, 81, 0, 91, 0, 92, 0, 16, 0, 14, 0, 12, 0, 10, 0, 17, 0, 15, - 0, 13, 0, 11, 0, 115, 0, 116, 0, 18, - 0, 19, 0, 142, 95, 0, 0, 40, 0, 41, - 0, 42, 0, 43, 0, 0, 0, 58, 0, 59, - 0, 60, 0, 57, 4, 0, 0, 53, 4, 0, - 0, 96, 53, 4, 0, 126, 0, 8, 0, 128, - 0, 8, 0, 128, 0, 9, 0, 10, 0, 11, + 0, 13, 0, 11, 0, 116, 0, 117, 0, 18, + 0, 19, 0, 146, 96, 0, 0, 41, 0, 42, + 0, 43, 0, 44, 0, 0, 0, 59, 0, 60, + 0, 61, 0, 58, 4, 0, 0, 54, 4, 0, + 0, 97, 54, 4, 0, 34, 24, 0, 0, 125, + 0, 0, 97, 125, 0, 130, 0, 8, 0, 132, + 0, 8, 0, 132, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, - 0, 44, 0, 127, 0, 155, 0, 97, 4, 0, - 125, 98, 130, 99, 0, 100, 4, 101, 128, 102, - 0, 103, 4, 101, 128, 104, 0, 105, 129, 106, - 0, 105, 106, 0, 128, 107, 0, 128, 0, 129, - 96, 128, 0, 129, 0, 129, 96, 36, 0, 36, - 0, 0, 126, 100, 133, 102, 0, 126, 100, 102, - 0, 126, 108, 24, 0, 126, 103, 133, 104, 0, - 126, 105, 133, 106, 0, 126, 105, 106, 0, 126, - 37, 0, 126, 38, 0, 126, 155, 0, 126, 132, - 0, 126, 26, 0, 115, 110, 0, 116, 4, 0, - 9, 27, 0, 9, 28, 0, 118, 7, 0, 88, - 98, 131, 35, 126, 99, 0, 86, 98, 131, 169, - 99, 0, 89, 98, 131, 96, 131, 96, 131, 99, - 0, 111, 98, 131, 96, 131, 99, 0, 112, 98, - 131, 96, 131, 99, 0, 113, 98, 131, 96, 131, - 99, 0, 114, 98, 131, 96, 131, 99, 0, 133, - 96, 131, 0, 131, 0, 32, 0, 33, 0, 136, - 0, 136, 151, 0, 136, 152, 0, 136, 25, 0, - 137, 0, 137, 119, 20, 124, 0, 137, 152, 0, - 137, 119, 120, 134, 131, 123, 0, 137, 119, 46, - 134, 126, 123, 0, 137, 47, 139, 0, 137, 54, - 95, 140, 0, 0, 52, 0, 51, 0, 49, 95, - 138, 0, 50, 95, 4, 0, 48, 95, 24, 0, - 100, 141, 102, 0, 141, 96, 24, 0, 24, 0, - 0, 22, 0, 24, 0, 142, 0, 0, 126, 143, - 0, 145, 96, 144, 0, 144, 0, 145, 0, 145, - 96, 36, 0, 36, 0, 0, 121, 124, 142, 98, - 146, 99, 122, 0, 29, 0, 105, 0, 120, 147, - 148, 0, 30, 0, 106, 0, 158, 150, 0, 0, - 31, 153, 147, 0, 3, 0, 4, 0, 7, 0, - 27, 0, 28, 0, 37, 0, 38, 0, 103, 133, - 104, 0, 132, 0, 109, 0, 142, 0, 155, 0, - 154, 0, 126, 156, 0, 158, 159, 0, 149, 159, - 0, 160, 119, 161, 0, 160, 163, 0, 0, 23, - 0, 61, 157, 0, 61, 8, 0, 62, 21, 156, - 0, 62, 9, 156, 96, 21, 156, 96, 21, 156, - 0, 63, 117, 156, 96, 21, 156, 100, 162, 102, - 0, 63, 117, 156, 96, 21, 156, 100, 102, 0, - 64, 121, 124, 156, 98, 166, 99, 35, 21, 156, - 65, 21, 156, 0, 65, 0, 66, 0, 162, 117, - 154, 96, 21, 156, 0, 117, 154, 96, 21, 156, - 0, 119, 168, 0, 126, 100, 156, 96, 156, 102, - 0, 164, 96, 100, 156, 96, 156, 102, 0, 157, - 0, 165, 96, 157, 0, 165, 0, 0, 56, 55, - 0, 55, 0, 111, 126, 156, 96, 156, 0, 112, - 126, 156, 96, 156, 0, 113, 126, 156, 96, 156, - 0, 45, 157, 0, 114, 157, 96, 157, 0, 88, - 157, 35, 126, 0, 89, 157, 96, 157, 96, 157, - 0, 92, 157, 96, 126, 0, 93, 157, 96, 126, - 0, 94, 157, 96, 126, 0, 87, 164, 0, 167, - 121, 124, 156, 98, 166, 99, 0, 171, 0, 96, - 165, 0, 0, 34, 0, 0, 81, 126, 123, 0, - 81, 126, 96, 15, 156, 123, 0, 82, 126, 123, - 0, 82, 126, 96, 15, 156, 123, 0, 83, 157, - 0, 170, 84, 126, 156, 0, 170, 85, 157, 96, - 126, 156, 0, 86, 126, 156, 169, 0 + 0, 45, 0, 131, 0, 159, 0, 98, 4, 0, + 129, 99, 134, 100, 0, 101, 4, 102, 132, 103, + 0, 104, 4, 102, 132, 105, 0, 106, 133, 107, + 0, 106, 107, 0, 132, 108, 0, 132, 0, 133, + 97, 132, 0, 133, 0, 133, 97, 37, 0, 37, + 0, 0, 130, 101, 137, 103, 0, 130, 101, 103, + 0, 130, 109, 24, 0, 130, 104, 137, 105, 0, + 130, 106, 137, 107, 0, 130, 106, 107, 0, 130, + 38, 0, 130, 39, 0, 130, 159, 0, 130, 136, + 0, 130, 26, 0, 116, 111, 0, 117, 4, 0, + 9, 27, 0, 9, 28, 0, 119, 7, 0, 89, + 99, 135, 36, 130, 100, 0, 87, 99, 135, 173, + 100, 0, 90, 99, 135, 97, 135, 97, 135, 100, + 0, 112, 99, 135, 97, 135, 100, 0, 113, 99, + 135, 97, 135, 100, 0, 114, 99, 135, 97, 135, + 100, 0, 115, 99, 135, 97, 135, 100, 0, 137, + 97, 135, 0, 135, 0, 32, 0, 33, 0, 140, + 0, 140, 155, 0, 140, 156, 0, 140, 25, 0, + 141, 0, 141, 120, 20, 128, 0, 141, 156, 0, + 141, 120, 121, 138, 135, 127, 124, 0, 141, 120, + 47, 138, 130, 127, 124, 0, 141, 48, 143, 0, + 141, 55, 96, 144, 0, 0, 53, 0, 52, 0, + 50, 96, 142, 0, 51, 96, 4, 0, 49, 96, + 24, 0, 101, 145, 103, 0, 145, 97, 24, 0, + 24, 0, 0, 22, 0, 24, 0, 146, 0, 0, + 130, 147, 0, 149, 97, 148, 0, 148, 0, 149, + 0, 149, 97, 37, 0, 37, 0, 0, 122, 128, + 146, 99, 150, 100, 126, 123, 0, 29, 0, 106, + 0, 121, 151, 152, 0, 30, 0, 107, 0, 162, + 154, 0, 0, 31, 157, 151, 0, 3, 0, 4, + 0, 7, 0, 27, 0, 28, 0, 38, 0, 39, + 0, 104, 137, 105, 0, 136, 0, 110, 0, 146, + 0, 159, 0, 158, 0, 130, 160, 0, 162, 163, + 0, 153, 163, 0, 164, 120, 165, 0, 164, 167, + 0, 0, 23, 0, 62, 161, 0, 62, 8, 0, + 63, 21, 160, 0, 63, 9, 160, 97, 21, 160, + 97, 21, 160, 0, 64, 118, 160, 97, 21, 160, + 101, 166, 103, 0, 64, 118, 160, 97, 21, 160, + 101, 103, 0, 65, 122, 128, 160, 99, 170, 100, + 36, 21, 160, 66, 21, 160, 0, 66, 0, 67, + 0, 166, 118, 158, 97, 21, 160, 0, 118, 158, + 97, 21, 160, 0, 120, 172, 0, 130, 101, 160, + 97, 160, 103, 0, 168, 97, 101, 160, 97, 160, + 103, 0, 161, 0, 169, 97, 161, 0, 169, 0, + 0, 57, 56, 0, 56, 0, 112, 130, 160, 97, + 160, 0, 113, 130, 160, 97, 160, 0, 114, 130, + 160, 97, 160, 0, 46, 161, 0, 115, 161, 97, + 161, 0, 89, 161, 36, 130, 0, 90, 161, 97, + 161, 97, 161, 0, 93, 161, 97, 130, 0, 94, + 161, 97, 130, 0, 95, 161, 97, 130, 0, 88, + 168, 0, 171, 122, 128, 160, 99, 170, 100, 0, + 175, 0, 97, 169, 0, 0, 35, 0, 0, 82, + 130, 124, 0, 82, 130, 97, 15, 160, 124, 0, + 83, 130, 124, 0, 83, 130, 97, 15, 160, 124, + 0, 84, 161, 0, 174, 85, 130, 160, 0, 174, + 86, 161, 97, 130, 160, 0, 87, 130, 160, 173, + 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 990, 991, 998, 999, 1008, 1008, 1008, 1008, 1008, 1009, - 1009, 1009, 1010, 1010, 1010, 1010, 1010, 1010, 1012, 1012, - 1016, 1016, 1016, 1016, 1017, 1017, 1017, 1017, 1018, 1018, - 1019, 1019, 1022, 1025, 1029, 1029, 1030, 1031, 1032, 1035, - 1035, 1036, 1037, 1038, 1047, 1047, 1049, 1049, 1059, 1059, - 1060, 1060, 1062, 1071, 1071, 1071, 1071, 1071, 1071, 1071, - 1072, 1072, 1072, 1072, 1072, 1072, 1073, 1076, 1079, 1085, - 1092, 1104, 1108, 1119, 1128, 1131, 1139, 1143, 1148, 1149, - 1152, 1155, 1165, 1190, 1203, 1231, 1256, 1276, 1288, 1297, - 1301, 1360, 1366, 1374, 1379, 1384, 1387, 1390, 1397, 1407, - 1438, 1445, 1466, 1473, 1478, 1488, 1491, 1498, 1498, 1508, - 1515, 1519, 1522, 1525, 1538, 1558, 1560, 1564, 1568, 1570, - 1572, 1577, 1578, 1580, 1583, 1591, 1596, 1598, 1602, 1606, - 1614, 1614, 1615, 1615, 1617, 1623, 1628, 1634, 1637, 1642, - 1646, 1650, 1733, 1733, 1735, 1743, 1743, 1745, 1749, 1749, - 1758, 1761, 1764, 1767, 1770, 1773, 1776, 1779, 1803, 1810, - 1813, 1818, 1818, 1824, 1828, 1831, 1839, 1848, 1852, 1862, - 1873, 1876, 1879, 1882, 1885, 1899, 1903, 1956, 1959, 1965, - 1973, 1983, 1990, 1995, 2002, 2006, 2012, 2012, 2014, 2017, - 2023, 2035, 2043, 2053, 2065, 2072, 2079, 2086, 2091, 2110, - 2132, 2146, 2203, 2209, 2211, 2215, 2218, 2224, 2231, 2238, - 2245, 2252, 2259, 2269, 2282 + 1004, 1005, 1012, 1013, 1022, 1022, 1022, 1022, 1022, 1023, + 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1026, 1026, + 1030, 1030, 1030, 1030, 1031, 1031, 1031, 1031, 1032, 1032, + 1033, 1033, 1036, 1039, 1043, 1043, 1044, 1045, 1046, 1049, + 1049, 1050, 1051, 1052, 1061, 1061, 1063, 1063, 1066, 1073, + 1073, 1075, 1075, 1086, 1086, 1087, 1087, 1089, 1098, 1098, + 1098, 1098, 1098, 1098, 1098, 1099, 1099, 1099, 1099, 1099, + 1099, 1100, 1103, 1106, 1112, 1119, 1131, 1135, 1146, 1155, + 1158, 1166, 1170, 1175, 1176, 1179, 1182, 1192, 1217, 1230, + 1258, 1283, 1303, 1315, 1324, 1328, 1387, 1393, 1401, 1406, + 1411, 1414, 1417, 1424, 1434, 1465, 1472, 1493, 1500, 1505, + 1515, 1518, 1525, 1525, 1535, 1542, 1546, 1549, 1552, 1565, + 1585, 1587, 1591, 1595, 1597, 1599, 1604, 1605, 1607, 1610, + 1618, 1623, 1625, 1629, 1633, 1641, 1641, 1642, 1642, 1644, + 1650, 1655, 1661, 1664, 1669, 1673, 1677, 1765, 1765, 1767, + 1775, 1775, 1777, 1781, 1781, 1790, 1793, 1796, 1799, 1802, + 1805, 1808, 1811, 1835, 1842, 1845, 1850, 1850, 1856, 1860, + 1863, 1871, 1880, 1884, 1894, 1905, 1908, 1911, 1914, 1917, + 1931, 1935, 1988, 1991, 1997, 2005, 2015, 2022, 2027, 2034, + 2038, 2044, 2044, 2046, 2049, 2055, 2067, 2075, 2085, 2097, + 2104, 2111, 2118, 2123, 2142, 2164, 2178, 2235, 2241, 2243, + 2247, 2250, 2256, 2263, 2270, 2277, 2284, 2291, 2301, 2314 }; #endif @@ -1191,51 +1207,51 @@ static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL" "EUINT64VAL","SINTVAL","UINTVAL","FPVAL","VOID","BOOL","SBYTE","UBYTE","SHORT", "USHORT","INT","UINT","LONG","ULONG","FLOAT","DOUBLE","TYPE","LABEL","VAR_ID", "LABELSTR","STRINGCONSTANT","IMPLEMENTATION","ZEROINITIALIZER","TRUETOK","FALSETOK", -"BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","VOLATILE","TO","DOTDOTDOT", -"NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING","OPAQUE", -"NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE","BIG","ALIGN", -"DEPLIBS","CALL","TAIL","CC_TOK","CCC_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","VAARG_old","VANEXT_old","'='","','","'\\\\'","'('","')'","'['","'x'", -"']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps", +"BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","SECTION","VOLATILE","TO", +"DOTDOTDOT","NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING", +"OPAQUE","NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE", +"BIG","ALIGN","DEPLIBS","CALL","TAIL","CC_TOK","CCC_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","VAARG_old","VANEXT_old","'='","','","'\\\\'","'('","')'","'['", +"'x'","']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps", "LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType", -"OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","TypesV","UpRTypesV", -"Types","PrimType","UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr", -"ConstVector","GlobalType","Module","FunctionList","ConstPool","BigOrLittle", -"TargetDefinition","LibrariesDefinition","LibList","Name","OptName","ArgVal", -"ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader","END","Function", -"FunctionProto","@1","ConstValueRef","SymbolicValueRef","ValueRef","ResolvedVal", -"BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst","JumpTable", -"Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal","IndexList", -"OptVolatile","MemoryInst", NULL +"OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","SectionString", +"OptSection","OptCSection","TypesV","UpRTypesV","Types","PrimType","UpRTypes", +"TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType", +"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition", +"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN", +"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef", +"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst", +"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal", +"IndexList","OptVolatile","MemoryInst", NULL }; #endif static const short yyr1[] = { 0, - 109, 109, 110, 110, 111, 111, 111, 111, 111, 112, - 112, 112, 113, 113, 113, 113, 113, 113, 114, 114, - 115, 115, 115, 115, 116, 116, 116, 116, 117, 117, - 118, 118, 119, 119, 120, 120, 120, 120, 120, 121, - 121, 121, 121, 121, 122, 122, 123, 123, 124, 124, - 125, 125, 126, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 129, 129, 130, 130, - 130, 130, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, - 132, 132, 132, 132, 132, 133, 133, 134, 134, 135, - 136, 136, 136, 136, 137, 137, 137, 137, 137, 137, - 137, 138, 138, 139, 139, 139, 140, 141, 141, 141, - 142, 142, 143, 143, 144, 145, 145, 146, 146, 146, - 146, 147, 148, 148, 149, 150, 150, 151, 153, 152, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 155, - 155, 156, 156, 157, 158, 158, 159, 160, 160, 160, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 162, - 162, 163, 164, 164, 165, 165, 166, 166, 167, 167, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 169, 169, 170, 170, 171, 171, 171, - 171, 171, 171, 171, 171 + 110, 110, 111, 111, 112, 112, 112, 112, 112, 113, + 113, 113, 114, 114, 114, 114, 114, 114, 115, 115, + 116, 116, 116, 116, 117, 117, 117, 117, 118, 118, + 119, 119, 120, 120, 121, 121, 121, 121, 121, 122, + 122, 122, 122, 122, 123, 123, 124, 124, 125, 126, + 126, 127, 127, 128, 128, 129, 129, 130, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 133, 133, 134, 134, 134, 134, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, + 137, 137, 138, 138, 139, 140, 140, 140, 140, 141, + 141, 141, 141, 141, 141, 141, 142, 142, 143, 143, + 143, 144, 145, 145, 145, 146, 146, 147, 147, 148, + 149, 149, 150, 150, 150, 150, 151, 152, 152, 153, + 154, 154, 155, 157, 156, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 159, 159, 160, 160, 161, 162, + 162, 163, 164, 164, 164, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 166, 166, 167, 168, 168, 169, + 169, 170, 170, 171, 171, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, + 174, 174, 175, 175, 175, 175, 175, 175, 175, 175 }; static const short yyr2[] = { 0, @@ -1243,378 +1259,392 @@ static const short yyr2[] = { 0, 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, 0, 0, - 1, 1, 1, 2, 0, 2, 0, 3, 1, 1, + 1, 1, 1, 2, 0, 2, 0, 3, 2, 0, + 1, 0, 2, 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, 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, 3, 1, 1, 1, 1, - 2, 2, 2, 1, 4, 2, 6, 6, 3, 4, - 0, 1, 1, 3, 3, 3, 3, 3, 1, 0, - 1, 1, 1, 0, 2, 3, 1, 1, 3, 1, - 0, 7, 1, 1, 3, 1, 1, 2, 0, 3, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 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, - 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, + 3, 1, 1, 1, 1, 2, 2, 2, 1, 4, + 2, 7, 7, 3, 4, 0, 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, 3, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 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, 2, 7, 1, 2, 0, + 1, 0, 3, 6, 3, 6, 2, 4, 6, 4 }; -static const short yydefact[] = { 121, - 39, 114, 113, 149, 35, 36, 37, 38, 40, 169, - 111, 112, 169, 131, 132, 0, 0, 39, 0, 116, - 40, 0, 41, 42, 43, 0, 0, 170, 166, 34, - 146, 147, 148, 165, 0, 0, 0, 119, 0, 0, - 0, 0, 33, 150, 44, 1, 2, 50, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 0, 0, 0, 0, 160, 0, 0, 49, - 68, 53, 161, 69, 143, 144, 145, 207, 168, 0, - 0, 0, 130, 120, 115, 108, 109, 0, 0, 70, - 0, 0, 52, 75, 77, 0, 0, 82, 76, 206, - 0, 190, 0, 0, 0, 0, 40, 178, 179, 5, +static const short yydefact[] = { 126, + 39, 119, 118, 154, 35, 36, 37, 38, 40, 174, + 116, 117, 174, 136, 137, 0, 0, 39, 0, 121, + 40, 0, 41, 42, 43, 0, 0, 175, 171, 34, + 151, 152, 153, 170, 0, 0, 0, 124, 0, 0, + 0, 0, 33, 155, 44, 1, 2, 55, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 0, 0, 0, 0, 165, 0, 0, 54, + 73, 58, 166, 74, 148, 149, 150, 212, 173, 0, + 0, 0, 135, 125, 120, 113, 114, 0, 0, 75, + 0, 0, 57, 80, 82, 0, 0, 87, 81, 211, + 0, 195, 0, 0, 0, 0, 40, 183, 184, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, - 19, 20, 0, 0, 0, 0, 0, 0, 0, 167, - 40, 182, 0, 203, 126, 123, 122, 124, 125, 129, - 0, 47, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 0, 0, 0, 0, 47, 0, 0, - 0, 74, 141, 81, 79, 0, 0, 194, 189, 172, - 171, 0, 0, 24, 28, 23, 27, 22, 26, 21, - 25, 29, 30, 0, 0, 47, 47, 212, 0, 0, - 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 0, 118, 96, 97, 3, - 4, 94, 95, 98, 93, 89, 90, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 92, 91, - 117, 51, 51, 78, 140, 134, 137, 138, 0, 0, - 71, 151, 152, 153, 154, 155, 156, 157, 0, 159, - 163, 162, 164, 0, 173, 0, 0, 0, 208, 0, - 210, 205, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, - 0, 84, 107, 0, 0, 88, 0, 85, 0, 0, - 0, 0, 72, 73, 133, 135, 0, 45, 80, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 196, - 0, 198, 199, 200, 0, 0, 0, 195, 0, 213, - 0, 48, 205, 0, 0, 0, 83, 86, 87, 0, - 0, 0, 0, 139, 136, 0, 142, 158, 0, 0, - 188, 47, 47, 185, 204, 0, 0, 0, 191, 192, - 193, 188, 0, 0, 0, 0, 106, 0, 0, 0, - 0, 46, 0, 0, 187, 0, 209, 211, 0, 0, - 0, 197, 0, 214, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 183, 0, 202, 99, 0, - 102, 103, 104, 105, 0, 176, 0, 0, 0, 184, - 0, 174, 0, 175, 0, 0, 101, 0, 0, 0, - 0, 0, 0, 181, 0, 0, 180, 177, 0, 0, - 0 + 19, 20, 0, 0, 0, 0, 0, 0, 0, 172, + 40, 187, 0, 208, 131, 128, 127, 129, 130, 134, + 0, 52, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 0, 0, 0, 0, 52, 0, 0, + 0, 79, 146, 86, 84, 0, 0, 199, 194, 177, + 176, 0, 0, 24, 28, 23, 27, 22, 26, 21, + 25, 29, 30, 0, 0, 47, 47, 217, 0, 0, + 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 132, 0, 47, 101, 102, 3, + 4, 99, 100, 103, 98, 94, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 97, 96, + 47, 56, 56, 83, 145, 139, 142, 143, 0, 0, + 76, 156, 157, 158, 159, 160, 161, 162, 0, 164, + 168, 167, 169, 0, 178, 0, 0, 0, 213, 0, + 215, 210, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 133, 0, 53, 0, + 123, 0, 0, 0, 89, 112, 0, 0, 93, 0, + 90, 0, 0, 0, 0, 122, 77, 78, 138, 140, + 0, 50, 85, 0, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 201, 0, 203, 204, 205, 0, + 0, 0, 200, 0, 218, 0, 49, 210, 0, 0, + 0, 88, 91, 92, 0, 0, 0, 0, 144, 141, + 51, 45, 163, 0, 0, 193, 47, 48, 47, 190, + 209, 0, 0, 0, 196, 197, 198, 193, 0, 0, + 0, 0, 111, 0, 0, 0, 0, 0, 147, 0, + 0, 192, 0, 214, 216, 0, 0, 0, 202, 0, + 219, 105, 0, 0, 0, 0, 0, 0, 46, 0, + 0, 0, 191, 188, 0, 207, 104, 0, 107, 108, + 109, 110, 0, 181, 0, 0, 0, 189, 0, 179, + 0, 180, 0, 0, 106, 0, 0, 0, 0, 0, + 0, 186, 0, 0, 185, 182, 0, 0, 0 }; static const short yydefgoto[] = { 67, 222, 235, 236, 237, 238, 164, 165, 194, 166, 18, - 9, 26, 347, 217, 68, 69, 167, 71, 72, 96, - 176, 293, 260, 294, 88, 429, 1, 2, 148, 38, - 84, 151, 73, 306, 247, 248, 249, 27, 77, 10, - 33, 11, 12, 21, 261, 74, 263, 354, 13, 29, - 30, 140, 408, 79, 201, 375, 376, 141, 142, 317, - 143, 144 + 9, 26, 379, 269, 289, 352, 217, 68, 69, 167, + 71, 72, 96, 176, 296, 260, 297, 88, 437, 1, + 2, 148, 38, 84, 151, 73, 310, 247, 248, 249, + 27, 77, 10, 33, 11, 12, 21, 261, 74, 263, + 360, 13, 29, 30, 140, 416, 79, 201, 382, 383, + 141, 142, 322, 143, 144 }; static const short yypact[] = {-32768, - 191, 336,-32768,-32768,-32768,-32768,-32768,-32768, 37, 19, --32768,-32768, -17,-32768,-32768, 101, -32, 31, -25,-32768, - 37, 53,-32768,-32768,-32768, 896, -13,-32768,-32768, 130, --32768,-32768,-32768,-32768, -19, -16, 33,-32768, 26, 896, - 58, 58,-32768,-32768,-32768,-32768,-32768, 55,-32768,-32768, + 51, 94,-32768,-32768,-32768,-32768,-32768,-32768, 26, -1, +-32768,-32768, -18,-32768,-32768, 79, -33, 111, -5,-32768, + 26, 113,-32768,-32768,-32768, 987, -23,-32768,-32768, 66, +-32768,-32768,-32768,-32768, 19, 49, 52,-32768, 33, 987, + 64, 64,-32768,-32768,-32768,-32768,-32768, 65,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 127, 156, 166, 124,-32768, 130, 82,-32768, --32768, -81,-32768,-32768,-32768,-32768,-32768, 1053,-32768, 157, - 54, 178, 160,-32768,-32768,-32768,-32768, 933, 970,-32768, - 88, 91,-32768,-32768, -81, -42, 85, 711,-32768,-32768, - 933,-32768, 141, 1007, 0, 104, 37,-32768,-32768,-32768, +-32768,-32768, 161, 163, 169, 504,-32768, 66, 75,-32768, +-32768, -78,-32768,-32768,-32768,-32768,-32768, 1102,-32768, 152, + 53, 173, 154,-32768,-32768,-32768,-32768, 1007, 1051,-32768, + 77, 78,-32768,-32768, -78, -74, 82, 744,-32768,-32768, + 1007,-32768, 128, 1109, 4, 265, 26,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 933, 933, 933, 933, 933, 933, 933, --32768,-32768, 933, 933, 933, 933, 933, 933, 933,-32768, - 37,-32768, 71,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -77, 102, 131, 159, 195, 161, 196, 163, 201, 171, - 202, 203, 204, 175, 208, 206, 387, 102, 933, 933, - 933,-32768, 748,-32768, 118, 116, 560,-32768,-32768, 55, --32768, 560, 560,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 560, 896, 129, 132,-32768, 560, 123, - 139, 205, 140, 142, 143, 145, 560, 560, 560, 146, - 896, 933, 933, 213,-32768, 173,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 148, 149, 150, - 785, 970, 511, 219, 158, 162, 164, 165,-32768,-32768, --32768, -14, -48, -81,-32768, 130,-32768, 168, 167, 822, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 970,-32768, --32768,-32768,-32768, 169,-32768, 172, 560, -12,-32768, -7, --32768, 174, 560, 144, 933, 933, 933, 933, 933, 177, - 179, 180, 933, 560, 560, 181,-32768, 251, 970, 970, - 970,-32768,-32768, -74, -36,-32768, -41,-32768, 970, 970, - 970, 970,-32768,-32768,-32768,-32768, 859, 216,-32768, -35, - 237, 238, 176, 560, 560, 933,-32768, 184, 560,-32768, - 186,-32768,-32768,-32768, 560, 560, 560,-32768, 185,-32768, - 933,-32768, 174, 236, 189, 970,-32768,-32768,-32768, 198, - 199, 200, 207,-32768,-32768, 293,-32768,-32768, 560, 560, - 933, 102, 102,-32768, 214, 560, 215, 933,-32768,-32768, --32768, 933, 560, 217, 933, 970,-32768, 970, 970, 970, - 970,-32768, 218, 212, 214, 223,-32768,-32768, 933, 197, - 560,-32768, 224,-32768,-32768, 225, 221, 227, 228, 229, - 230, 277, 20, 265,-32768,-32768, 231,-32768,-32768, 970, --32768,-32768,-32768,-32768, 560,-32768, 615, 70, 280,-32768, - 232,-32768, 234,-32768, 615, 560,-32768, 281, 239, 250, - 560, 283, 313,-32768, 560, 560,-32768,-32768, 340, 341, --32768 +-32768,-32768,-32768, 1007, 1007, 1007, 1007, 1007, 1007, 1007, +-32768,-32768, 1007, 1007, 1007, 1007, 1007, 1007, 1007,-32768, + 26,-32768, 38,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -59, 93, 105, 136, 187, 140, 188, 147, 189, 157, + 190, 192, 193, 159, 191, 195, 402, 93, 1007, 1007, + 1007,-32768, 782,-32768, 106, 104, 568,-32768,-32768, 65, +-32768, 568, 568,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 568, 987, 108, 112,-32768, 568, 109, + 114, 176, 116, 123, 124, 125, 568, 568, 568, 126, + 987, 1007, 1007, 200,-32768, 194, 130,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 131, 133, 134, + 846, 1051, 524, 201, 135, 137, 138, 139,-32768,-32768, + 130, -61, -31, -78,-32768, 66,-32768, 132, 142, 884, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1051,-32768, +-32768,-32768,-32768, 146,-32768, 148, 568, -6,-32768, -4, +-32768, 149, 568, 143, 1007, 1007, 1007, 1007, 1007, 150, + 151, 164, 1007, 568, 568, 166,-32768, 211,-32768, 204, +-32768, 1051, 1051, 1051,-32768,-32768, -24, -79,-32768, -73, +-32768, 1051, 1051, 1051, 1051,-32768,-32768,-32768,-32768,-32768, + 949, 194,-32768, -68, 233, 239, 165, 568, 261, 568, + 1007,-32768, 170, 568,-32768, 171,-32768,-32768,-32768, 568, + 568, 568,-32768, 167,-32768, 1007,-32768, 149, 235, 172, + 1051,-32768,-32768,-32768, 175, 186, 196, 197,-32768,-32768, +-32768, 230,-32768, 568, 568, 1007, 130,-32768, 130,-32768, + 203, 568, 205, 1007,-32768,-32768,-32768, 1007, 568, 198, + 1007, 1051,-32768, 1051, 1051, 1051, 1051, 283,-32768, 206, + 207, 203, 214,-32768,-32768, 1007, 212, 568,-32768, 218, +-32768,-32768, 223, 209, 224, 225, 226, 227,-32768, 280, + 43, 268,-32768,-32768, 228,-32768,-32768, 1051,-32768,-32768, +-32768,-32768, 568,-32768, 647, 54, 307,-32768, 229,-32768, + 236,-32768, 647, 568,-32768, 311, 237, 269, 568, 315, + 316,-32768, 568, 568,-32768,-32768, 339, 340,-32768 }; static const short yypgoto[] = {-32768, --32768, 264, 267, 268, 269, -102, -101, -381,-32768, 318, - 333, -96,-32768, -158, -38,-32768, -26,-32768, -46, 254, --32768, -82, 188, -209, 317,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -1,-32768, 59,-32768,-32768, 344,-32768,-32768, --32768,-32768, 359,-32768, -349, -6, 155, -86,-32768, 357, --32768,-32768,-32768,-32768,-32768, 56, 9,-32768,-32768, 40, --32768,-32768 +-32768, 263, 270, 271, 275, -105, -104, -385,-32768, 317, + 328, -80,-32768, -189, 42,-32768, 199, -36,-32768, -26, +-32768, -49, 257,-32768, -86, 202, -213, 319,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 13,-32768, 46,-32768,-32768, + 338,-32768,-32768,-32768,-32768, 363,-32768, -343, -11, 32, + -94,-32768, 353,-32768,-32768,-32768,-32768,-32768, 47, 2, +-32768,-32768, 34,-32768,-32768 }; -#define YYLAST 1147 +#define YYLAST 1215 static const short yytable[] = { 70, - 19, 85, 314, 192, 193, 28, 168, 315, 182, 241, - 195, 407, 31, 70, 178, 75, -51, 181, 214, 95, - 183, 336, 295, 297, 215, 99, 415, 337, 19, 184, - 185, 186, 187, 188, 189, 190, 191, 269, 271, 198, - 288, 28, 202, 203, 211, 288, 204, 205, 206, 310, - 40, 95, 210, 171, 336, 304, 45, 413, 99, 336, - 336, 152, 39, 172, 339, 419, 97, 338, 348, 43, - 5, 6, 7, 8, 177, 80, 41, 177, 81, 184, - 185, 186, 187, 188, 189, 190, 191, 303, 32, 86, - 87, 76, 99, 22, 23, 24, 25, 196, 197, 177, + 192, 193, 168, 85, 28, 75, 178, 271, 318, 181, + 320, 31, 182, 70, 19, 415, 95, 341, 298, 300, + -56, 28, 171, 341, 183, 343, 195, 291, 341, 99, + 423, 198, 172, 344, 202, 203, 353, 214, 204, 205, + 206, 307, 19, 215, 210, 314, 99, 319, 95, 319, + -115, 306, 184, 185, 186, 187, 188, 189, 190, 191, + 211, 152, 39, 184, 185, 186, 187, 188, 189, 190, + 191, 421, 341, 308, 177, 3, 99, 177, 342, 427, + 97, 4, 76, 22, 23, 24, 25, 14, 32, 15, + 43, 5, 6, 7, 8, 86, 87, 196, 197, 177, 199, 200, 177, 177, 146, 147, 177, 177, 177, 207, - 208, 209, 177, 184, 185, 186, 187, 188, 189, 190, - 191, 406, 242, 243, 244, 83, 286, 82, 46, 47, - 90, 93, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 14, 246, 15, 35, 36, - 37, 14, -52, 15, 212, 213, 267, 218, 219, 91, - 240, -24, -24, -23, -23, -22, -22, 62, 70, 92, - 262, 414, 284, -21, -21, 262, 262, 220, 221, 98, - 145, 149, 173, 150, 70, 285, 177, 262, 169, 321, - -110, 170, 262, 377, 378, 179, 328, 216, -28, -27, - 262, 262, 262, 244, -26, -25, 333, 334, 335, -31, - -32, 223, 224, 250, 251, 3, 340, 341, 342, 343, - 63, 4, 273, 64, 268, 288, 65, 270, 66, 94, - 5, 6, 7, 8, 274, 276, 287, 277, 278, 275, - 279, 283, 298, 319, 305, 289, 290, 291, 320, 177, - 322, 323, 324, 367, 332, 299, 177, 349, 350, 300, - 262, 301, 302, 307, 311, 308, 262, 312, 346, 316, - 365, 382, 325, 351, 326, 327, 331, 262, 262, 356, - 246, 358, 362, 387, 366, 388, 389, 390, 391, 177, - 192, 193, 395, 368, 369, 370, 372, 405, 396, 409, - 416, 421, 371, 425, 363, 192, 193, 262, 262, 379, - 381, 393, 262, 392, 423, 385, 400, 411, 262, 262, - 262, 394, 398, 399, 177, 401, 402, 403, 404, 418, - 417, 177, 410, 426, 422, 177, 264, 265, 386, 430, - 431, 136, 262, 262, 137, 138, 139, 78, 266, 262, - 42, 175, 177, 272, 239, -34, 262, 14, 89, 15, - 20, 280, 281, 282, 44, 345, 4, -34, -34, 34, - 383, 355, 364, 0, 262, -34, -34, -34, -34, 0, - 0, -34, 16, 0, 0, 0, 0, 0, 0, 17, - 0, 46, 47, 0, 0, 0, 0, 0, 262, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 14, 262, - 15, 0, 225, 0, 262, 0, 0, 0, 262, 262, - 0, 313, 0, 226, 227, 0, 0, 318, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, + 208, 209, 177, -34, 80, 14, 45, 15, 286, 242, + 243, 244, 212, 213, 4, -34, -34, 35, 36, 37, + 40, 218, 219, 83, -34, -34, -34, -34, -24, -24, + -34, 16, -23, -23, 81, 414, 246, 82, 17, -22, + -22, 5, 6, 7, 8, 240, 422, 41, 267, -21, + -21, 220, 221, -57, 90, 262, 91, 384, 70, 385, + 262, 262, 92, 98, 284, 145, 149, 150, 169, 170, + 173, 326, 262, 179, 70, 285, 177, 262, 333, 216, + -28, -27, -26, -25, 223, 262, 262, 262, -31, -32, + 244, 224, 250, 251, 268, 338, 339, 340, 270, 273, + 274, 275, 276, 264, 265, 345, 346, 347, 348, 277, + 278, 279, 283, 287, 301, 266, 290, 288, 311, 292, + 272, 293, 294, 302, 337, 303, 304, 305, 280, 281, + 282, 312, 315, 324, 316, 321, 330, 331, 325, 177, + 327, 328, 329, 354, 373, 262, 177, 319, 309, 355, + 332, 262, 336, 356, 358, 368, 362, 364, 372, 389, + 371, 374, 262, 262, 184, 185, 186, 187, 188, 189, + 190, 191, 375, 378, 246, 394, 399, 395, 396, 397, + 398, 403, 376, 377, 177, 192, 193, 392, 317, 386, + 413, 388, 400, 417, 323, 408, 262, 401, 262, 369, + 192, 193, 262, 402, 404, 334, 335, 406, 262, 262, + 262, 419, 407, 409, 410, 411, 412, 424, 425, 177, + 418, 429, 426, 430, 431, 433, 434, 177, 438, 439, + 136, 177, 262, 262, 393, 42, 78, 137, 138, 357, + 262, 359, 139, 351, 175, 363, 350, 262, 44, 177, + 89, 365, 366, 367, 20, 34, 241, 361, 239, 390, + 0, 370, 0, 0, 0, 0, 262, 0, 0, 0, + 0, 0, 0, 0, 0, 380, 381, 0, 0, 0, + 0, 0, 0, 387, 0, 0, 0, 0, 0, 0, + 391, 262, 0, 0, 0, 0, 46, 47, 0, 0, + 0, 0, 262, 0, 0, 0, 0, 262, 0, 405, + 0, 262, 262, 14, 0, 15, 0, 225, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 227, 0, 0, 0, 420, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 428, 0, 0, 0, 0, + 432, 0, 0, 0, 435, 436, 0, 0, 0, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 0, 0, 0, 0, 0, 228, 0, + 229, 230, 131, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 231, 0, 0, 232, 0, 233, 46, 47, + 234, 93, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 14, 0, 15, 46, 47, + 0, 93, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 60, 61, 14, 0, 15, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 0, 352, 353, - 0, 0, 228, 357, 229, 230, 131, 132, 0, 359, - 360, 361, 0, 0, 0, 0, 231, 0, 0, 232, - 0, 233, 0, 0, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 373, 374, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 0, 46, 47, 384, 93, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 60, 61, 14, 0, 15, 397, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, + 252, 253, 46, 47, 254, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, + 0, 15, 0, 0, 255, 256, 0, 0, 0, 0, + 0, 63, 0, 0, 64, 257, 258, 65, 0, 66, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 63, 0, 0, 64, 0, 0, 65, 0, 66, + 299, 0, 0, 0, 0, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 252, + 253, 0, 0, 254, 228, 0, 229, 230, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 0, 0, 0, 0, 412, - 0, 0, 252, 253, 46, 47, 254, 0, 0, 0, - 420, 0, 0, 0, 0, 424, 0, 0, 0, 427, - 428, 14, 0, 15, 0, 0, 255, 256, 0, 0, - 0, 0, 0, 0, 0, 0, 257, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, - 64, 0, 0, 65, 0, 66, 296, 252, 253, 0, - 0, 254, 0, 0, 0, 0, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 0, 255, 256, 0, 0, 228, 0, 229, 230, 131, - 132, 257, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, + 0, 259, 0, 255, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, - 228, 0, 229, 230, 131, 132, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 46, 47, 259, 93, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 14, 0, 15, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, - 0, 0, 46, 47, 62, 93, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 14, - 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 0, 0, 0, 46, - 47, 62, 93, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 60, 61, 14, 63, 15, 0, - 64, 0, 0, 65, 0, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 46, 47, 62, 93, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, + 0, 0, 0, 228, 0, 229, 230, 131, 132, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, + 259, 93, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 14, 0, 15, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 0, 0, 0, 0, 0, 46, 47, 62, 93, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 14, 63, 15, 0, 64, 0, 0, - 65, 0, 66, 0, 0, 0, 0, 309, 0, 0, - 0, 0, 0, 46, 47, 62, 93, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 14, 63, 15, 0, 64, 0, 292, 65, 0, 66, - 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, - 46, 47, 62, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 14, 63, 15, - 0, 64, 0, 0, 65, 0, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 47, 62, - 93, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 14, 63, 15, 0, 64, 0, - 0, 65, 0, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 47, 62, 93, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 60, - 61, 14, 63, 15, 0, 64, 0, 0, 65, 0, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 46, 47, 62, 180, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 14, 63, - 15, 0, 64, 0, 0, 65, 0, 66, 0, 0, + 59, 60, 61, 14, 0, 15, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 63, 0, 0, 64, 0, 0, 65, 0, 66, + 46, 47, 0, 93, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 60, 61, 14, 0, 15, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 64, 0, 0, 65, 0, 66, 46, 47, + 62, 93, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 14, 0, 15, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 313, 0, 0, 0, 0, 0, 0, 0, 62, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 64, 0, 295, 65, + 0, 66, 0, 46, 47, 0, 93, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 14, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 0, 63, 0, 0, 64, 349, 0, 65, 0, 66, + 0, 46, 47, 62, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 14, 0, + 15, 46, 47, 0, 93, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 14, 0, + 15, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 64, - 0, 0, 65, 0, 66, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 63, 0, 0, 64, 102, 103, 65, - 0, 66, 0, 104, 105, 106, 107, 108, 109, 110, + 0, 62, 65, 0, 66, 46, 47, 0, 93, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 60, 61, 14, 0, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 0, 0, 64, 0, 0, + 65, 0, 66, 0, 0, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 0, 0, 64, 0, 0, + 65, 0, 66, 46, 47, 0, 180, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 14, 0, 15, 0, 0, 0, 100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 63, 0, + 0, 64, 0, 62, 65, 0, 66, 102, 103, 0, + 0, 0, 0, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135 + 129, 130, 131, 132, 133, 134, 135, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 63, 0, 0, 64, + 0, 0, 65, 0, 66 }; static const short yycheck[] = { 26, - 2, 40, 15, 106, 106, 23, 89, 15, 9, 168, - 107, 393, 30, 40, 101, 29, 98, 104, 96, 66, - 21, 96, 232, 233, 102, 107, 408, 102, 30, 10, - 11, 12, 13, 14, 15, 16, 17, 196, 197, 126, - 53, 23, 129, 130, 141, 53, 133, 134, 135, 259, - 20, 98, 139, 96, 96, 104, 4, 407, 107, 96, - 96, 88, 95, 106, 106, 415, 68, 104, 104, 95, - 40, 41, 42, 43, 101, 95, 46, 104, 95, 10, - 11, 12, 13, 14, 15, 16, 17, 102, 106, 32, - 33, 105, 107, 57, 58, 59, 60, 124, 125, 126, - 127, 128, 129, 130, 51, 52, 133, 134, 135, 136, - 137, 138, 139, 10, 11, 12, 13, 14, 15, 16, - 17, 102, 169, 170, 171, 100, 213, 95, 5, 6, - 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 173, 24, 48, 49, - 50, 22, 98, 24, 84, 85, 195, 27, 28, 4, - 167, 3, 4, 3, 4, 3, 4, 44, 195, 4, - 177, 102, 211, 3, 4, 182, 183, 3, 4, 98, - 24, 4, 98, 24, 211, 212, 213, 194, 101, 276, - 0, 101, 199, 352, 353, 55, 283, 96, 4, 4, - 207, 208, 209, 250, 4, 4, 289, 290, 291, 7, - 7, 4, 7, 96, 99, 25, 299, 300, 301, 302, - 97, 31, 100, 100, 96, 53, 103, 96, 105, 106, - 40, 41, 42, 43, 96, 96, 24, 96, 96, 35, - 96, 96, 24, 100, 246, 98, 98, 98, 275, 276, - 277, 278, 279, 336, 4, 98, 283, 21, 21, 98, - 267, 98, 98, 96, 96, 99, 273, 96, 53, 96, - 35, 358, 96, 98, 96, 96, 96, 284, 285, 96, - 307, 96, 98, 366, 96, 368, 369, 370, 371, 316, - 393, 393, 379, 96, 96, 96, 4, 21, 102, 35, - 21, 21, 96, 21, 331, 408, 408, 314, 315, 96, - 96, 100, 319, 96, 65, 99, 96, 400, 325, 326, - 327, 99, 99, 99, 351, 99, 99, 99, 99, 96, - 99, 358, 102, 21, 96, 362, 182, 183, 365, 0, - 0, 78, 349, 350, 78, 78, 78, 30, 194, 356, - 18, 98, 379, 199, 167, 20, 363, 22, 42, 24, - 2, 207, 208, 209, 21, 307, 31, 32, 33, 13, - 362, 316, 333, -1, 381, 40, 41, 42, 43, -1, - -1, 46, 47, -1, -1, -1, -1, -1, -1, 54, - -1, 5, 6, -1, -1, -1, -1, -1, 405, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 416, - 24, -1, 26, -1, 421, -1, -1, -1, 425, 426, - -1, 267, -1, 37, 38, -1, -1, 273, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 284, 285, + 106, 106, 89, 40, 23, 29, 101, 197, 15, 104, + 15, 30, 9, 40, 2, 401, 66, 97, 232, 233, + 99, 23, 97, 97, 21, 105, 107, 217, 97, 108, + 416, 126, 107, 107, 129, 130, 105, 97, 133, 134, + 135, 103, 30, 103, 139, 259, 108, 54, 98, 54, + 0, 241, 10, 11, 12, 13, 14, 15, 16, 17, + 141, 88, 96, 10, 11, 12, 13, 14, 15, 16, + 17, 415, 97, 105, 101, 25, 108, 104, 103, 423, + 68, 31, 106, 58, 59, 60, 61, 22, 107, 24, + 96, 41, 42, 43, 44, 32, 33, 124, 125, 126, + 127, 128, 129, 130, 52, 53, 133, 134, 135, 136, + 137, 138, 139, 20, 96, 22, 4, 24, 213, 169, + 170, 171, 85, 86, 31, 32, 33, 49, 50, 51, + 20, 27, 28, 101, 41, 42, 43, 44, 3, 4, + 47, 48, 3, 4, 96, 103, 173, 96, 55, 3, + 4, 41, 42, 43, 44, 167, 103, 47, 195, 3, + 4, 3, 4, 99, 4, 177, 4, 357, 195, 359, + 182, 183, 4, 99, 211, 24, 4, 24, 102, 102, + 99, 276, 194, 56, 211, 212, 213, 199, 283, 97, + 4, 4, 4, 4, 4, 207, 208, 209, 7, 7, + 250, 7, 97, 100, 97, 292, 293, 294, 97, 101, + 97, 36, 97, 182, 183, 302, 303, 304, 305, 97, + 97, 97, 97, 24, 24, 194, 97, 34, 97, 99, + 199, 99, 99, 99, 24, 99, 99, 99, 207, 208, + 209, 100, 97, 101, 97, 97, 97, 97, 275, 276, + 277, 278, 279, 21, 341, 267, 283, 54, 246, 21, + 97, 273, 97, 99, 4, 99, 97, 97, 97, 364, + 36, 97, 284, 285, 10, 11, 12, 13, 14, 15, + 16, 17, 97, 54, 311, 372, 4, 374, 375, 376, + 377, 386, 97, 97, 321, 401, 401, 100, 267, 97, + 21, 97, 97, 36, 273, 97, 318, 101, 320, 336, + 416, 416, 324, 100, 103, 284, 285, 100, 330, 331, + 332, 408, 100, 100, 100, 100, 100, 21, 100, 356, + 103, 21, 97, 97, 66, 21, 21, 364, 0, 0, + 78, 368, 354, 355, 371, 18, 30, 78, 78, 318, + 362, 320, 78, 312, 98, 324, 311, 369, 21, 386, + 42, 330, 331, 332, 2, 13, 168, 321, 167, 368, + -1, 338, -1, -1, -1, -1, 388, -1, -1, -1, + -1, -1, -1, -1, -1, 354, 355, -1, -1, -1, + -1, -1, -1, 362, -1, -1, -1, -1, -1, -1, + 369, 413, -1, -1, -1, -1, 5, 6, -1, -1, + -1, -1, 424, -1, -1, -1, -1, 429, -1, 388, + -1, 433, 434, 22, -1, 24, -1, 26, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, + 39, -1, -1, -1, 413, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 424, -1, -1, -1, -1, + 429, -1, -1, -1, 433, 434, -1, -1, -1, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, -1, -1, -1, -1, -1, 87, -1, + 89, 90, 91, 92, -1, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, 104, -1, 106, 5, 6, + 109, 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, 21, 22, -1, 24, 45, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, + 3, 4, 5, 6, 7, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + -1, 24, -1, -1, 27, 28, -1, -1, -1, -1, + -1, 98, -1, -1, 101, 38, 39, 104, -1, 106, + 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, 101, -1, -1, 104, -1, 106, + 107, -1, -1, -1, -1, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 3, + 4, -1, -1, 7, 87, -1, 89, 90, 91, 92, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 104, -1, 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, - -1, -1, -1, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, -1, 314, 315, - -1, -1, 86, 319, 88, 89, 90, 91, -1, 325, - 326, 327, -1, -1, -1, -1, 100, -1, -1, 103, - -1, 105, -1, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, 349, 350, -1, -1, -1, -1, -1, - 356, -1, -1, -1, -1, 5, 6, 363, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, -1, 24, 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 44, -1, -1, -1, -1, 405, - -1, -1, 3, 4, 5, 6, 7, -1, -1, -1, - 416, -1, -1, -1, -1, 421, -1, -1, -1, 425, - 426, 22, -1, 24, -1, -1, 27, 28, -1, -1, - -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 97, -1, -1, - 100, -1, -1, 103, -1, 105, 106, 3, 4, -1, - -1, 7, -1, -1, -1, -1, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - -1, 27, 28, -1, -1, 86, -1, 88, 89, 90, - 91, 37, 38, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, -1, -1, + -1, -1, -1, 87, -1, 89, 90, 91, 92, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, + 104, 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, - -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, -1, -1, -1, -1, -1, - 86, -1, 88, 89, 90, 91, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5, 6, 103, 8, 9, + 37, -1, -1, -1, -1, -1, 5, 6, 45, 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, 45, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 98, -1, -1, 101, -1, -1, 104, -1, 106, + 5, 6, -1, 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, 98, + -1, -1, 101, -1, -1, 104, -1, 106, 5, 6, + 45, 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, 45, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 98, -1, -1, 101, -1, 103, 104, + -1, 106, -1, 5, 6, -1, 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, 98, -1, -1, 101, 37, -1, 104, -1, 106, + -1, 5, 6, 45, 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, 21, 22, -1, + 24, 45, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, + -1, 45, 104, -1, 106, 5, 6, -1, 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, 36, -1, -1, -1, - -1, -1, 5, 6, 44, 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, 36, -1, -1, -1, -1, -1, 5, - 6, 44, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 97, 24, -1, - 100, -1, -1, 103, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5, 6, 44, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 97, 24, -1, 100, -1, -1, - 103, -1, 105, -1, -1, -1, -1, 36, -1, -1, - -1, -1, -1, 5, 6, 44, 8, 9, 10, 11, + -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, + 104, -1, 106, -1, -1, 45, -1, -1, -1, -1, + -1, -1, -1, -1, 98, -1, -1, 101, -1, -1, + 104, -1, 106, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 97, 24, -1, 100, -1, 102, 103, -1, 105, - -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, - 5, 6, 44, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 97, 24, - -1, 100, -1, -1, 103, -1, 105, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5, 6, 44, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 97, 24, -1, 100, -1, - -1, 103, -1, 105, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5, 6, 44, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 97, 24, -1, 100, -1, -1, 103, -1, - 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5, 6, 44, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 97, - 24, -1, 100, -1, -1, 103, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 97, -1, -1, 100, - -1, -1, 103, -1, 105, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, - -1, -1, -1, 97, -1, -1, 100, 55, 56, 103, - -1, 105, -1, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, 86, 87, - 88, 89, 90, 91, 92, 93, 94 + 22, -1, 24, -1, -1, -1, 35, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 46, 98, -1, + -1, 101, -1, 45, 104, -1, 106, 56, 57, -1, + -1, -1, -1, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, -1, -1, 87, 88, + 89, 90, 91, 92, 93, 94, 95, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 98, -1, -1, 101, + -1, -1, 104, -1, 106 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison.simple" @@ -2160,7 +2190,7 @@ yyreduce: switch (yyn) { case 2: -#line 991 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX) // Outside of my range! ThrowException("Value too large for type!"); @@ -2168,7 +2198,7 @@ case 2: ; break;} case 4: -#line 999 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1013 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX) // Outside of my range! ThrowException("Value too large for type!"); @@ -2176,55 +2206,55 @@ case 4: ; break;} case 33: -#line 1022 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = yyvsp[-1].StrVal; ; break;} case 34: -#line 1025 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = 0; ; break;} case 35: -#line 1029 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1043 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::InternalLinkage; ; break;} case 36: -#line 1030 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::LinkOnceLinkage; ; break;} case 37: -#line 1031 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1045 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::WeakLinkage; ; break;} case 38: -#line 1032 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::AppendingLinkage; ; break;} case 39: -#line 1033 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Linkage = GlobalValue::ExternalLinkage; ; break;} case 40: -#line 1035 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::C; ; break;} case 41: -#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::C; ; break;} case 42: -#line 1037 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1051 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::Fast; ; break;} case 43: -#line 1038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1052 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = CallingConv::Cold; ; break;} case 44: -#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1053 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val) ThrowException("Calling conv too large!"); @@ -2232,57 +2262,82 @@ case 44: ; break;} case 45: -#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1061 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = 0; ; break;} case 46: -#line 1048 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1062 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = yyvsp[0].UInt64Val; ; break;} case 47: -#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1063 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = 0; ; break;} case 48: -#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1064 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.UIntVal = yyvsp[0].UInt64Val; ; break;} +case 49: +#line 1066 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ + for (unsigned i = 0, e = strlen(yyvsp[0].StrVal); i != e; ++i) + if (yyvsp[0].StrVal[i] == '"' || yyvsp[0].StrVal[i] == '\\') + ThrowException("Invalid character in section name!"); + yyval.StrVal = yyvsp[0].StrVal; +; + break;} case 50: -#line 1059 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +#line 1073 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = 0; ; + break;} +case 51: +#line 1074 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = yyvsp[0].StrVal; ; break;} case 52: -#line 1060 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +#line 1075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = 0; ; break;} case 53: -#line 1062 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1076 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = yyvsp[0].StrVal; ; + break;} +case 55: +#line 1086 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; + break;} +case 57: +#line 1087 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; + break;} +case 58: +#line 1089 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription()); yyval.TypeVal = yyvsp[0].TypeVal; ; break;} -case 67: -#line 1073 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 72: +#line 1100 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeVal = new PATypeHolder(OpaqueType::get()); ; break;} -case 68: -#line 1076 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 73: +#line 1103 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; break;} -case 69: -#line 1079 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 74: +#line 1106 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal)); ; break;} -case 70: -#line 1085 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 75: +#line 1112 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Type UpReference if (yyvsp[0].UInt64Val > (uint64_t)~0U) ThrowException("Value out of range!"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder @@ -2291,8 +2346,8 @@ case 70: UR_OUT("New Upreference!\n"); ; break;} -case 71: -#line 1092 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 76: +#line 1119 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Function derived type? std::vector Params; for (std::list::iterator I = yyvsp[-1].TypeList->begin(), @@ -2306,15 +2361,15 @@ case 71: delete yyvsp[-3].TypeVal; // Delete the return type handle ; break;} -case 72: -#line 1104 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 77: +#line 1131 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Sized array type? yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val))); delete yyvsp[-1].TypeVal; ; break;} -case 73: -#line 1108 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 78: +#line 1135 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Packed array type? const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get(); if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val) @@ -2327,8 +2382,8 @@ case 73: delete yyvsp[-1].TypeVal; ; break;} -case 74: -#line 1119 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 79: +#line 1146 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = yyvsp[-1].TypeList->begin(), @@ -2339,52 +2394,52 @@ case 74: delete yyvsp[-1].TypeList; ; break;} -case 75: -#line 1128 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 80: +#line 1155 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? yyval.TypeVal = new PATypeHolder(StructType::get(std::vector())); ; break;} -case 76: -#line 1131 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 81: +#line 1158 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Pointer type? yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal))); delete yyvsp[-1].TypeVal; ; break;} -case 77: -#line 1139 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 82: +#line 1166 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeList = new std::list(); yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; ; break;} -case 78: -#line 1143 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 83: +#line 1170 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; ; break;} -case 80: -#line 1149 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 85: +#line 1176 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy); ; break;} -case 81: -#line 1152 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 86: +#line 1179 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList = new std::list())->push_back(Type::VoidTy); ; break;} -case 82: -#line 1155 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 87: +#line 1182 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TypeList = new std::list(); ; break;} -case 83: -#line 1165 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 88: +#line 1192 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const ArrayType *ATy = dyn_cast(yyvsp[-3].TypeVal->get()); if (ATy == 0) @@ -2411,8 +2466,8 @@ case 83: delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; ; break;} -case 84: -#line 1190 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 89: +#line 1217 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast(yyvsp[-2].TypeVal->get()); if (ATy == 0) @@ -2427,8 +2482,8 @@ case 84: delete yyvsp[-2].TypeVal; ; break;} -case 85: -#line 1203 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 90: +#line 1230 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast(yyvsp[-2].TypeVal->get()); if (ATy == 0) @@ -2458,8 +2513,8 @@ case 85: delete yyvsp[-2].TypeVal; ; break;} -case 86: -#line 1231 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 91: +#line 1258 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const PackedType *PTy = dyn_cast(yyvsp[-3].TypeVal->get()); if (PTy == 0) @@ -2486,8 +2541,8 @@ case 86: delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; ; break;} -case 87: -#line 1256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 92: +#line 1283 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast(yyvsp[-3].TypeVal->get()); if (STy == 0) @@ -2509,8 +2564,8 @@ case 87: delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; ; break;} -case 88: -#line 1276 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 93: +#line 1303 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast(yyvsp[-2].TypeVal->get()); if (STy == 0) @@ -2524,8 +2579,8 @@ case 88: delete yyvsp[-2].TypeVal; ; break;} -case 89: -#line 1288 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 94: +#line 1315 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PTy = dyn_cast(yyvsp[-1].TypeVal->get()); if (PTy == 0) @@ -2536,15 +2591,15 @@ case 89: delete yyvsp[-1].TypeVal; ; break;} -case 90: -#line 1297 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 95: +#line 1324 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get()); delete yyvsp[-1].TypeVal; ; break;} -case 91: -#line 1301 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 96: +#line 1328 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *Ty = dyn_cast(yyvsp[-1].TypeVal->get()); if (Ty == 0) @@ -2605,8 +2660,8 @@ case 91: delete yyvsp[-1].TypeVal; // Free the type handle ; break;} -case 92: -#line 1360 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 97: +#line 1387 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType()) ThrowException("Mismatched types for constant expression!"); @@ -2614,8 +2669,8 @@ case 92: delete yyvsp[-1].TypeVal; ; break;} -case 93: -#line 1366 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 98: +#line 1393 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = yyvsp[-1].TypeVal->get(); if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) @@ -2624,44 +2679,44 @@ case 93: delete yyvsp[-1].TypeVal; ; break;} -case 94: -#line 1374 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 99: +#line 1401 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val)) ThrowException("Constant value doesn't fit in type!"); yyval.ConstVal = ConstantSInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val); ; break;} -case 95: -#line 1379 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 100: +#line 1406 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val)) ThrowException("Constant value doesn't fit in type!"); yyval.ConstVal = ConstantUInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val); ; break;} -case 96: -#line 1384 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 101: +#line 1411 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants yyval.ConstVal = ConstantBool::True; ; break;} -case 97: -#line 1387 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 102: +#line 1414 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants yyval.ConstVal = ConstantBool::False; ; break;} -case 98: -#line 1390 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 103: +#line 1417 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Float & Double constants if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal)) ThrowException("Floating point constant invalid for type!!"); yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal); ; break;} -case 99: -#line 1397 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 104: +#line 1424 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!yyvsp[-3].ConstVal->getType()->isFirstClassType()) ThrowException("cast constant expression from a non-primitive type: '" + @@ -2673,8 +2728,8 @@ case 99: delete yyvsp[-1].TypeVal; ; break;} -case 100: -#line 1407 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 105: +#line 1434 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[-2].ConstVal->getType())) ThrowException("GetElementPtr requires a pointer operand!"); @@ -2707,8 +2762,8 @@ case 100: yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec); ; break;} -case 101: -#line 1438 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 106: +#line 1465 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-5].ConstVal->getType() != Type::BoolTy) ThrowException("Select condition must be of boolean type!"); @@ -2717,8 +2772,8 @@ case 101: yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 102: -#line 1445 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 107: +#line 1472 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType()) ThrowException("Binary operator types must match!"); @@ -2741,8 +2796,8 @@ case 102: } ; break;} -case 103: -#line 1466 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 108: +#line 1493 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType()) ThrowException("Logical operator types must match!"); @@ -2751,16 +2806,16 @@ case 103: yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 104: -#line 1473 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 109: +#line 1500 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType()) ThrowException("setcc operand types must match!"); yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 105: -#line 1478 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 110: +#line 1505 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-1].ConstVal->getType() != Type::UByteTy) ThrowException("Shift count for shift constant must be unsigned byte!"); @@ -2769,55 +2824,55 @@ case 105: yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); ; break;} -case 106: -#line 1488 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 111: +#line 1515 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal); ; break;} -case 107: -#line 1491 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 112: +#line 1518 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ConstVector = new std::vector(); yyval.ConstVector->push_back(yyvsp[0].ConstVal); ; break;} -case 108: -#line 1498 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 113: +#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = false; ; break;} -case 109: -#line 1498 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 114: +#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = true; ; break;} -case 110: -#line 1508 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 115: +#line 1535 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal; CurModule.ModuleDone(); ; break;} -case 111: -#line 1515 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 116: +#line 1542 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = yyvsp[-1].ModuleVal; CurFun.FunctionDone(); ; break;} -case 112: -#line 1519 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 117: +#line 1546 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = yyvsp[-1].ModuleVal; ; break;} -case 113: -#line 1522 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 118: +#line 1549 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = yyvsp[-1].ModuleVal; ; break;} -case 114: -#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 119: +#line 1552 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ModuleVal = CurModule.CurrentModule; // Emit an error if there are any unresolved types left. @@ -2830,8 +2885,8 @@ case 114: } ; break;} -case 115: -#line 1538 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 120: +#line 1565 "/Volumes/ProjectsDisk/cvs/llvm/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: @@ -2853,56 +2908,56 @@ case 115: delete yyvsp[0].TypeVal; ; break;} -case 116: -#line 1558 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 121: +#line 1585 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Function prototypes can be in const pool ; break;} -case 117: -#line 1560 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 122: +#line 1587 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { - if (yyvsp[-1].ConstVal == 0) ThrowException("Global value initializer is not a constant!"); - ParseGlobalVariable(yyvsp[-4].StrVal, yyvsp[-3].Linkage, yyvsp[-2].BoolVal, yyvsp[-1].ConstVal->getType(), yyvsp[-1].ConstVal, yyvsp[0].UIntVal); + if (yyvsp[-2].ConstVal == 0) ThrowException("Global value initializer is not a constant!"); + ParseGlobalVariable(yyvsp[-5].StrVal, yyvsp[-4].Linkage, yyvsp[-3].BoolVal, yyvsp[-2].ConstVal->getType(), yyvsp[-2].ConstVal, yyvsp[-1].StrVal, yyvsp[0].UIntVal); ; break;} -case 118: -#line 1564 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 123: +#line 1591 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { - ParseGlobalVariable(yyvsp[-4].StrVal, GlobalValue::ExternalLinkage, yyvsp[-2].BoolVal, *yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal); - delete yyvsp[-1].TypeVal; + ParseGlobalVariable(yyvsp[-5].StrVal, GlobalValue::ExternalLinkage, yyvsp[-3].BoolVal, *yyvsp[-2].TypeVal, 0, yyvsp[-1].StrVal, yyvsp[0].UIntVal); + delete yyvsp[-2].TypeVal; ; break;} -case 119: -#line 1568 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 124: +#line 1595 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ; break;} -case 120: -#line 1570 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 125: +#line 1597 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ; break;} -case 121: -#line 1572 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 126: +#line 1599 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ; break;} -case 122: -#line 1577 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 127: +#line 1604 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Endianness = Module::BigEndian; ; break;} -case 123: -#line 1578 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 128: +#line 1605 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.Endianness = Module::LittleEndian; ; break;} -case 124: -#line 1580 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 129: +#line 1607 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness); ; break;} -case 125: -#line 1583 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 130: +#line 1610 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UInt64Val == 32) CurModule.CurrentModule->setPointerSize(Module::Pointer32); @@ -2912,112 +2967,112 @@ case 125: ThrowException("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!"); ; break;} -case 126: -#line 1591 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 131: +#line 1618 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal); free(yyvsp[0].StrVal); ; break;} -case 128: -#line 1598 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 133: +#line 1625 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal); free(yyvsp[0].StrVal); ; break;} -case 129: -#line 1602 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 134: +#line 1629 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal); free(yyvsp[0].StrVal); ; break;} -case 130: -#line 1606 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 135: +#line 1633 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ; break;} -case 134: -#line 1615 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 139: +#line 1642 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.StrVal = 0; ; break;} -case 135: -#line 1617 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 140: +#line 1644 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (*yyvsp[-1].TypeVal == Type::VoidTy) ThrowException("void typed arguments are invalid!"); yyval.ArgVal = new std::pair(yyvsp[-1].TypeVal, yyvsp[0].StrVal); ; break;} -case 136: -#line 1623 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 141: +#line 1650 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = yyvsp[-2].ArgList; yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal); delete yyvsp[0].ArgVal; ; break;} -case 137: -#line 1628 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 142: +#line 1655 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = new std::vector >(); yyval.ArgList->push_back(*yyvsp[0].ArgVal); delete yyvsp[0].ArgVal; ; break;} -case 138: -#line 1634 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 143: +#line 1661 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = yyvsp[0].ArgList; ; break;} -case 139: -#line 1637 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 144: +#line 1664 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = yyvsp[-2].ArgList; yyval.ArgList->push_back(std::pair(new PATypeHolder(Type::VoidTy), 0)); ; break;} -case 140: -#line 1642 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 145: +#line 1669 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = new std::vector >(); yyval.ArgList->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); ; break;} -case 141: -#line 1646 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 146: +#line 1673 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ArgList = 0; ; break;} -case 142: -#line 1650 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 147: +#line 1678 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { - UnEscapeLexed(yyvsp[-4].StrVal); - std::string FunctionName(yyvsp[-4].StrVal); - free(yyvsp[-4].StrVal); // Free strdup'd memory! + UnEscapeLexed(yyvsp[-5].StrVal); + std::string FunctionName(yyvsp[-5].StrVal); + free(yyvsp[-5].StrVal); // Free strdup'd memory! - if (!(*yyvsp[-5].TypeVal)->isFirstClassType() && *yyvsp[-5].TypeVal != Type::VoidTy) + if (!(*yyvsp[-6].TypeVal)->isFirstClassType() && *yyvsp[-6].TypeVal != Type::VoidTy) ThrowException("LLVM functions cannot return aggregate types!"); if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) ThrowException("Function alignment must be a power of two!"); std::vector ParamTypeList; - if (yyvsp[-2].ArgList) { // If there are arguments... - for (std::vector >::iterator I = yyvsp[-2].ArgList->begin(); - I != yyvsp[-2].ArgList->end(); ++I) + if (yyvsp[-3].ArgList) { // If there are arguments... + for (std::vector >::iterator I = yyvsp[-3].ArgList->begin(); + I != yyvsp[-3].ArgList->end(); ++I) ParamTypeList.push_back(I->first->get()); } bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy; if (isVarArg) ParamTypeList.pop_back(); - const FunctionType *FT = FunctionType::get(*yyvsp[-5].TypeVal, ParamTypeList, isVarArg); + const FunctionType *FT = FunctionType::get(*yyvsp[-6].TypeVal, ParamTypeList, isVarArg); const PointerType *PFT = PointerType::get(FT); - delete yyvsp[-5].TypeVal; + delete yyvsp[-6].TypeVal; ValID ID; if (!FunctionName.empty()) { @@ -3054,32 +3109,36 @@ case 142: } CurFun.FunctionStart(Fn); - Fn->setCallingConv(yyvsp[-6].UIntVal); + Fn->setCallingConv(yyvsp[-7].UIntVal); Fn->setAlignment(yyvsp[0].UIntVal); + if (yyvsp[-1].StrVal) { + Fn->setSection(yyvsp[-1].StrVal); + free(yyvsp[-1].StrVal); + } // Add all of the arguments we parsed to the function... - if (yyvsp[-2].ArgList) { // Is null if empty... + if (yyvsp[-3].ArgList) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert(yyvsp[-2].ArgList->back().first->get() == Type::VoidTy && yyvsp[-2].ArgList->back().second == 0&& + assert(yyvsp[-3].ArgList->back().first->get() == Type::VoidTy && yyvsp[-3].ArgList->back().second == 0&& "Not a varargs marker!"); - delete yyvsp[-2].ArgList->back().first; - yyvsp[-2].ArgList->pop_back(); // Delete the last entry + delete yyvsp[-3].ArgList->back().first; + yyvsp[-3].ArgList->pop_back(); // Delete the last entry } Function::arg_iterator ArgIt = Fn->arg_begin(); - for (std::vector >::iterator I = yyvsp[-2].ArgList->begin(); - I != yyvsp[-2].ArgList->end(); ++I, ++ArgIt) { + for (std::vector >::iterator I = yyvsp[-3].ArgList->begin(); + I != yyvsp[-3].ArgList->end(); ++I, ++ArgIt) { delete I->first; // Delete the typeholder... setValueName(ArgIt, I->second); // Insert arg into symtab... InsertValue(ArgIt); } - delete yyvsp[-2].ArgList; // We're now done with the argument list + delete yyvsp[-3].ArgList; // We're now done with the argument list } ; break;} -case 145: -#line 1735 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 150: +#line 1767 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = CurFun.CurrentFunction; @@ -3088,67 +3147,67 @@ case 145: yyval.FunctionVal->setLinkage(yyvsp[-2].Linkage); ; break;} -case 148: -#line 1745 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 153: +#line 1777 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = yyvsp[-1].FunctionVal; ; break;} -case 149: -#line 1749 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 154: +#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = true; ; break;} -case 150: -#line 1749 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 155: +#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = CurFun.CurrentFunction; CurFun.FunctionDone(); ; break;} -case 151: -#line 1758 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 156: +#line 1790 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val); ; break;} -case 152: -#line 1761 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 157: +#line 1793 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val); ; break;} -case 153: -#line 1764 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 158: +#line 1796 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? yyval.ValIDVal = ValID::create(yyvsp[0].FPVal); ; break;} -case 154: -#line 1767 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 159: +#line 1799 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(ConstantBool::True); ; break;} -case 155: -#line 1770 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 160: +#line 1802 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(ConstantBool::False); ; break;} -case 156: -#line 1773 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 161: +#line 1805 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::createNull(); ; break;} -case 157: -#line 1776 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 162: +#line 1808 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::createUndef(); ; break;} -case 158: -#line 1779 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 163: +#line 1811 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType(); int NumElements = yyvsp[-1].ConstVector->size(); @@ -3174,44 +3233,44 @@ case 158: delete PTy; delete yyvsp[-1].ConstVector; ; break;} -case 159: -#line 1803 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 164: +#line 1835 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal); ; break;} -case 160: -#line 1810 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 165: +#line 1842 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal); ; break;} -case 161: -#line 1813 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 166: +#line 1845 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? yyval.ValIDVal = ValID::create(yyvsp[0].StrVal); ; break;} -case 164: -#line 1824 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 169: +#line 1856 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal; ; break;} -case 165: -#line 1828 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 170: +#line 1860 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.FunctionVal = yyvsp[-1].FunctionVal; ; break;} -case 166: -#line 1831 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 171: +#line 1863 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks yyval.FunctionVal = yyvsp[-1].FunctionVal; ; break;} -case 167: -#line 1839 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 172: +#line 1871 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal); InsertValue(yyvsp[0].TermInstVal); @@ -3221,15 +3280,15 @@ case 167: yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal; ; break;} -case 168: -#line 1848 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 173: +#line 1880 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal); yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; ; break;} -case 169: -#line 1852 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 174: +#line 1884 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true); @@ -3241,8 +3300,8 @@ case 169: BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); ; break;} -case 170: -#line 1862 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 175: +#line 1894 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true); @@ -3254,32 +3313,32 @@ case 170: BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); ; break;} -case 171: -#line 1873 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 176: +#line 1905 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with a result... yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal); ; break;} -case 172: -#line 1876 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 177: +#line 1908 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with no result... yyval.TermInstVal = new ReturnInst(); ; break;} -case 173: -#line 1879 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 178: +#line 1911 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal)); ; break;} -case 174: -#line 1882 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 179: +#line 1914 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal)); ; break;} -case 175: -#line 1885 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 180: +#line 1917 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size()); yyval.TermInstVal = S; @@ -3295,15 +3354,15 @@ case 175: delete yyvsp[-1].JumpTable; ; break;} -case 176: -#line 1899 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 181: +#line 1931 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0); yyval.TermInstVal = S; ; break;} -case 177: -#line 1904 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 182: +#line 1936 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -3357,20 +3416,20 @@ case 177: delete yyvsp[-7].ValueList; ; break;} -case 178: -#line 1956 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 183: +#line 1988 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TermInstVal = new UnwindInst(); ; break;} -case 179: -#line 1959 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 184: +#line 1991 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.TermInstVal = new UnreachableInst(); ; break;} -case 180: -#line 1965 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 185: +#line 1997 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.JumpTable = yyvsp[-5].JumpTable; Constant *V = cast(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal)); @@ -3380,8 +3439,8 @@ case 180: yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); ; break;} -case 181: -#line 1973 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 186: +#line 2005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.JumpTable = new std::vector >(); Constant *V = cast(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal)); @@ -3392,8 +3451,8 @@ case 181: yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); ; break;} -case 182: -#line 1983 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 187: +#line 2015 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal); @@ -3401,54 +3460,54 @@ case 182: yyval.InstVal = yyvsp[0].InstVal; ; break;} -case 183: -#line 1990 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 188: +#line 2022 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes yyval.PHIList = new std::list >(); yyval.PHIList->push_back(std::make_pair(getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal))); delete yyvsp[-5].TypeVal; ; break;} -case 184: -#line 1995 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 189: +#line 2027 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.PHIList = yyvsp[-6].PHIList; yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal))); ; break;} -case 185: -#line 2002 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 190: +#line 2034 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Used for call statements, and memory insts... yyval.ValueList = new std::vector(); yyval.ValueList->push_back(yyvsp[0].ValueVal); ; break;} -case 186: -#line 2006 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 191: +#line 2038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = yyvsp[-2].ValueList; yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal); ; break;} -case 188: -#line 2012 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 193: +#line 2044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = 0; ; break;} -case 189: -#line 2014 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 194: +#line 2046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = true; ; break;} -case 190: -#line 2017 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 195: +#line 2049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = false; ; break;} -case 191: -#line 2023 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 196: +#line 2055 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && !isa((*yyvsp[-3].TypeVal).get())) @@ -3462,8 +3521,8 @@ case 191: delete yyvsp[-3].TypeVal; ; break;} -case 192: -#line 2035 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 197: +#line 2067 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!(*yyvsp[-3].TypeVal)->isIntegral()) ThrowException("Logical operator requires integral operands!"); @@ -3473,8 +3532,8 @@ case 192: delete yyvsp[-3].TypeVal; ; break;} -case 193: -#line 2043 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 198: +#line 2075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if(isa((*yyvsp[-3].TypeVal).get())) { ThrowException( @@ -3486,8 +3545,8 @@ case 193: delete yyvsp[-3].TypeVal; ; break;} -case 194: -#line 2053 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 199: +#line 2085 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { std::cerr << "WARNING: Use of eliminated 'not' instruction:" << " Replacing with 'xor'.\n"; @@ -3501,8 +3560,8 @@ case 194: ThrowException("Could not create a xor instruction!"); ; break;} -case 195: -#line 2065 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 200: +#line 2097 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].ValueVal->getType() != Type::UByteTy) ThrowException("Shift amount must be ubyte!"); @@ -3511,8 +3570,8 @@ case 195: yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); ; break;} -case 196: -#line 2072 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 201: +#line 2104 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!yyvsp[0].TypeVal->get()->isFirstClassType()) ThrowException("cast instruction to a non-primitive type: '" + @@ -3521,8 +3580,8 @@ case 196: delete yyvsp[0].TypeVal; ; break;} -case 197: -#line 2079 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 202: +#line 2111 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[-4].ValueVal->getType() != Type::BoolTy) ThrowException("select condition must be boolean!"); @@ -3531,16 +3590,16 @@ case 197: yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); ; break;} -case 198: -#line 2086 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 203: +#line 2118 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { NewVarArgs = true; yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; ; break;} -case 199: -#line 2091 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 204: +#line 2123 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ObsoleteVarArgs = true; const Type* ArgTy = yyvsp[-2].ValueVal->getType(); @@ -3561,8 +3620,8 @@ case 199: delete yyvsp[0].TypeVal; ; break;} -case 200: -#line 2110 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 205: +#line 2142 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ObsoleteVarArgs = true; const Type* ArgTy = yyvsp[-2].ValueVal->getType(); @@ -3586,8 +3645,8 @@ case 200: delete yyvsp[0].TypeVal; ; break;} -case 201: -#line 2132 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 206: +#line 2164 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = yyvsp[0].PHIList->front().first->getType(); if (!Ty->isFirstClassType()) @@ -3603,8 +3662,8 @@ case 201: delete yyvsp[0].PHIList; // Free the list... ; break;} -case 202: -#line 2146 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 207: +#line 2178 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -3663,38 +3722,38 @@ case 202: delete yyvsp[-1].ValueList; ; break;} -case 203: -#line 2203 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 208: +#line 2235 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.InstVal = yyvsp[0].InstVal; ; break;} -case 204: -#line 2209 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 209: +#line 2241 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = yyvsp[0].ValueList; ; break;} -case 205: -#line 2211 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 210: +#line 2243 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.ValueList = new std::vector(); ; break;} -case 206: -#line 2215 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 211: +#line 2247 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = true; ; break;} -case 207: -#line 2218 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 212: +#line 2250 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { yyval.BoolVal = false; ; break;} -case 208: -#line 2224 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 213: +#line 2256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + @@ -3703,8 +3762,8 @@ case 208: delete yyvsp[-1].TypeVal; ; break;} -case 209: -#line 2231 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 214: +#line 2263 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + @@ -3713,8 +3772,8 @@ case 209: delete yyvsp[-4].TypeVal; ; break;} -case 210: -#line 2238 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 215: +#line 2270 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + @@ -3723,8 +3782,8 @@ case 210: delete yyvsp[-1].TypeVal; ; break;} -case 211: -#line 2245 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 216: +#line 2277 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal)) ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) + @@ -3733,8 +3792,8 @@ case 211: delete yyvsp[-4].TypeVal; ; break;} -case 212: -#line 2252 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 217: +#line 2284 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[0].ValueVal->getType())) ThrowException("Trying to free nonpointer type " + @@ -3742,8 +3801,8 @@ case 212: yyval.InstVal = new FreeInst(yyvsp[0].ValueVal); ; break;} -case 213: -#line 2259 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 218: +#line 2291 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[-1].TypeVal->get())) ThrowException("Can't load from nonpointer type: " + @@ -3755,8 +3814,8 @@ case 213: delete yyvsp[-1].TypeVal; ; break;} -case 214: -#line 2269 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 219: +#line 2301 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const PointerType *PT = dyn_cast(yyvsp[-1].TypeVal->get()); if (!PT) @@ -3771,8 +3830,8 @@ case 214: delete yyvsp[-1].TypeVal; ; break;} -case 215: -#line 2282 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +case 220: +#line 2314 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa(yyvsp[-2].TypeVal->get())) ThrowException("getelementptr insn requires pointer operand!"); @@ -4017,7 +4076,7 @@ yyerrhandle: } return 1; } -#line 2305 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2337 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" int yyerror(const char *ErrorMsg) { std::string where diff --git a/lib/AsmParser/llvmAsmParser.h b/lib/AsmParser/llvmAsmParser.h index 082a43791dc..5a86dafa8e4 100644 --- a/lib/AsmParser/llvmAsmParser.h +++ b/lib/AsmParser/llvmAsmParser.h @@ -68,67 +68,68 @@ typedef union { #define DECLARE 285 #define GLOBAL 286 #define CONSTANT 287 -#define VOLATILE 288 -#define TO 289 -#define DOTDOTDOT 290 -#define NULL_TOK 291 -#define UNDEF 292 -#define CONST 293 -#define INTERNAL 294 -#define LINKONCE 295 -#define WEAK 296 -#define APPENDING 297 -#define OPAQUE 298 -#define NOT 299 -#define EXTERNAL 300 -#define TARGET 301 -#define TRIPLE 302 -#define ENDIAN 303 -#define POINTERSIZE 304 -#define LITTLE 305 -#define BIG 306 -#define ALIGN 307 -#define DEPLIBS 308 -#define CALL 309 -#define TAIL 310 -#define CC_TOK 311 -#define CCC_TOK 312 -#define FASTCC_TOK 313 -#define COLDCC_TOK 314 -#define RET 315 -#define BR 316 -#define SWITCH 317 -#define INVOKE 318 -#define UNWIND 319 -#define UNREACHABLE 320 -#define ADD 321 -#define SUB 322 -#define MUL 323 -#define DIV 324 -#define REM 325 -#define AND 326 -#define OR 327 -#define XOR 328 -#define SETLE 329 -#define SETGE 330 -#define SETLT 331 -#define SETGT 332 -#define SETEQ 333 -#define SETNE 334 -#define MALLOC 335 -#define ALLOCA 336 -#define FREE 337 -#define LOAD 338 -#define STORE 339 -#define GETELEMENTPTR 340 -#define PHI_TOK 341 -#define CAST 342 -#define SELECT 343 -#define SHL 344 -#define SHR 345 -#define VAARG 346 -#define VAARG_old 347 -#define VANEXT_old 348 +#define SECTION 288 +#define VOLATILE 289 +#define TO 290 +#define DOTDOTDOT 291 +#define NULL_TOK 292 +#define UNDEF 293 +#define CONST 294 +#define INTERNAL 295 +#define LINKONCE 296 +#define WEAK 297 +#define APPENDING 298 +#define OPAQUE 299 +#define NOT 300 +#define EXTERNAL 301 +#define TARGET 302 +#define TRIPLE 303 +#define ENDIAN 304 +#define POINTERSIZE 305 +#define LITTLE 306 +#define BIG 307 +#define ALIGN 308 +#define DEPLIBS 309 +#define CALL 310 +#define TAIL 311 +#define CC_TOK 312 +#define CCC_TOK 313 +#define FASTCC_TOK 314 +#define COLDCC_TOK 315 +#define RET 316 +#define BR 317 +#define SWITCH 318 +#define INVOKE 319 +#define UNWIND 320 +#define UNREACHABLE 321 +#define ADD 322 +#define SUB 323 +#define MUL 324 +#define DIV 325 +#define REM 326 +#define AND 327 +#define OR 328 +#define XOR 329 +#define SETLE 330 +#define SETGE 331 +#define SETLT 332 +#define SETGT 333 +#define SETEQ 334 +#define SETNE 335 +#define MALLOC 336 +#define ALLOCA 337 +#define FREE 338 +#define LOAD 339 +#define STORE 340 +#define GETELEMENTPTR 341 +#define PHI_TOK 342 +#define CAST 343 +#define SELECT 344 +#define SHL 345 +#define SHR 346 +#define VAARG 347 +#define VAARG_old 348 +#define VANEXT_old 349 extern YYSTYPE llvmAsmlval; -- 2.34.1