diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-02-08 00:21:40 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-02-08 00:21:40 +0000 |
commit | 785a5ae0cf2a13738ba42f6c91fd42397d20c200 (patch) | |
tree | 1dec0775df7ebdc54dbb6c8f95c1dd37d8e466f7 /tools/llvm-upgrade | |
parent | 0ec82008117706190cf99c396479c8b2bb42519b (diff) | |
download | external_llvm-785a5ae0cf2a13738ba42f6c91fd42397d20c200.zip external_llvm-785a5ae0cf2a13738ba42f6c91fd42397d20c200.tar.gz external_llvm-785a5ae0cf2a13738ba42f6c91fd42397d20c200.tar.bz2 |
Regenerate for recent changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34025 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-upgrade')
-rw-r--r-- | tools/llvm-upgrade/UpgradeLexer.cpp.cvs | 1418 | ||||
-rw-r--r-- | tools/llvm-upgrade/UpgradeLexer.l.cvs | 9 | ||||
-rw-r--r-- | tools/llvm-upgrade/UpgradeParser.cpp.cvs | 226 | ||||
-rw-r--r-- | tools/llvm-upgrade/UpgradeParser.y.cvs | 35 |
4 files changed, 888 insertions, 800 deletions
diff --git a/tools/llvm-upgrade/UpgradeLexer.cpp.cvs b/tools/llvm-upgrade/UpgradeLexer.cpp.cvs index 5a5f436..fec5f78 100644 --- a/tools/llvm-upgrade/UpgradeLexer.cpp.cvs +++ b/tools/llvm-upgrade/UpgradeLexer.cpp.cvs @@ -317,107 +317,108 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 156 -#define YY_END_OF_BUFFER 157 -static yyconst short int yy_acclist[234] = +#define YY_NUM_RULES 161 +#define YY_END_OF_BUFFER 162 +static yyconst short int yy_acclist[241] = { 0, - 157, 155, 156, 154, 155, 156, 154, 156, 155, 156, - 155, 156, 155, 156, 155, 156, 155, 156, 155, 156, - 147, 155, 156, 147, 155, 156, 1, 155, 156, 155, - 156, 155, 156, 155, 156, 155, 156, 155, 156, 155, - 156, 155, 156, 155, 156, 155, 156, 155, 156, 155, - 156, 155, 156, 155, 156, 155, 156, 155, 156, 155, - 156, 155, 156, 155, 156, 155, 156, 155, 156, 155, - 156, 146, 144, 143, 143, 150, 148, 152, 147, 1, - 129, 41, 89, 90, 75, 23, 146, 143, 143, 151, - 152, 20, 152, 153, 63, 74, 39, 34, 42, 66, - - 3, 52, 65, 25, 99, 104, 102, 103, 101, 100, - 105, 109, 70, 128, 94, 92, 83, 84, 93, 91, - 64, 107, 98, 96, 97, 95, 108, 106, 76, 145, - 152, 152, 86, 57, 110, 111, 88, 69, 136, 73, - 87, 137, 54, 85, 22, 149, 68, 114, 72, 26, - 4, 61, 67, 53, 71, 56, 11, 113, 152, 36, - 2, 5, 58, 116, 60, 48, 78, 82, 80, 81, - 79, 77, 50, 138, 112, 49, 55, 21, 126, 135, - 45, 59, 30, 24, 44, 118, 117, 7, 131, 33, - 134, 38, 62, 124, 120, 130, 27, 28, 119, 132, - - 51, 127, 125, 123, 43, 6, 29, 115, 37, 8, - 17, 9, 122, 10, 121, 35, 12, 14, 13, 32, - 40, 15, 31, 133, 139, 141, 142, 16, 46, 140, - 18, 47, 19 + 162, 160, 161, 159, 160, 161, 159, 161, 160, 161, + 160, 161, 160, 161, 160, 161, 160, 161, 160, 161, + 152, 160, 161, 152, 160, 161, 1, 160, 161, 160, + 161, 160, 161, 160, 161, 160, 161, 160, 161, 160, + 161, 160, 161, 160, 161, 160, 161, 160, 161, 160, + 161, 160, 161, 160, 161, 160, 161, 160, 161, 160, + 161, 160, 161, 160, 161, 160, 161, 160, 161, 160, + 161, 160, 161, 151, 149, 148, 148, 155, 153, 157, + 152, 1, 134, 41, 94, 62, 50, 95, 80, 23, + 151, 148, 148, 156, 157, 20, 157, 158, 68, 79, + + 39, 34, 42, 71, 3, 53, 56, 59, 54, 70, + 25, 104, 109, 107, 108, 106, 105, 110, 114, 75, + 133, 99, 97, 88, 89, 98, 96, 69, 112, 103, + 101, 102, 100, 113, 111, 81, 150, 157, 157, 91, + 61, 115, 116, 93, 74, 141, 78, 92, 142, 57, + 90, 22, 154, 73, 119, 77, 26, 4, 66, 72, + 55, 76, 60, 11, 118, 157, 36, 2, 5, 63, + 121, 65, 48, 83, 87, 85, 86, 84, 82, 51, + 143, 117, 49, 58, 21, 131, 140, 45, 64, 30, + 24, 44, 123, 122, 7, 136, 33, 139, 38, 67, + + 129, 125, 135, 27, 28, 124, 137, 52, 132, 130, + 128, 43, 6, 29, 120, 37, 8, 17, 9, 127, + 10, 126, 35, 12, 14, 13, 32, 40, 15, 31, + 138, 144, 146, 147, 16, 46, 145, 18, 47, 19 } ; -static yyconst short int yy_accept[611] = +static yyconst short int yy_accept[621] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, - 60, 62, 64, 66, 68, 70, 72, 72, 73, 73, - 74, 75, 76, 77, 77, 78, 78, 79, 80, 80, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, + 60, 62, 64, 66, 68, 70, 72, 74, 74, 75, + 75, 76, 77, 78, 79, 79, 80, 80, 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 85, 85, 85, 85, 85, 85, 85, 85, 86, 86, - - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 88, 89, 91, 92, 93, 94, - 94, 95, 96, 96, 96, 97, 97, 97, 98, 98, - 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, - 100, 100, 101, 101, 101, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 104, 105, 105, 106, 107, 108, 109, 110, 111, - - 111, 112, 113, 113, 113, 114, 115, 115, 115, 115, - 115, 115, 115, 115, 116, 117, 118, 118, 119, 119, - 119, 119, 120, 121, 121, 121, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 123, 124, 125, 125, 125, - 126, 126, 127, 127, 128, 128, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 130, 130, - 130, 131, 132, 132, 132, 132, 133, 133, 133, 133, - 134, 134, 134, 135, 136, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 138, 139, 139, 139, 139, 139, 140, 141, 141, - - 141, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 143, 144, 145, 145, 145, 146, 146, 146, 146, 147, - 147, 148, 148, 148, 148, 148, 148, 148, 149, 149, - 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, - 152, 153, 153, 154, 155, 155, 155, 155, 155, 155, - 155, 156, 156, 156, 156, 156, 157, 157, 158, 158, - 158, 159, 160, 161, 161, 161, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 163, 163, 164, 165, 165, 165, 165, 165, 165, - 165, 165, 165, 165, 165, 166, 166, 166, 166, 166, - - 166, 166, 166, 167, 167, 167, 168, 169, 170, 171, - 172, 173, 174, 174, 174, 174, 175, 175, 175, 175, - 176, 177, 177, 178, 179, 179, 179, 179, 179, 179, - 180, 180, 180, 180, 180, 180, 181, 181, 181, 182, - 182, 182, 182, 182, 182, 182, 182, 183, 184, 185, - 185, 185, 186, 187, 188, 188, 188, 189, 189, 189, - 189, 189, 190, 190, 191, 192, 193, 194, 194, 194, - 194, 195, 195, 195, 196, 197, 198, 199, 200, 200, - 200, 201, 202, 203, 204, 204, 204, 204, 204, 204, - 205, 205, 206, 206, 207, 208, 208, 208, 208, 208, - - 208, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, - 213, 214, 215, 215, 216, 216, 216, 216, 216, 217, - 217, 217, 217, 218, 218, 219, 220, 220, 220, 220, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, - 222, 222, 222, 222, 223, 223, 223, 223, 223, 224, - 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 226, 226, 227, 228, - - 229, 229, 230, 230, 231, 232, 233, 233, 234, 234 + 83, 84, 84, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 87, 87, 87, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, + + 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 92, 93, 95, 96, 97, 98, 98, 99, 99, 100, + 100, 100, 101, 101, 101, 102, 102, 103, 103, 103, + 103, 103, 104, 104, 104, 104, 104, 104, 104, 105, + 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 107, 108, 109, 109, 109, + 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, + + 110, 111, 112, 112, 113, 114, 115, 116, 117, 118, + 118, 119, 120, 120, 120, 121, 122, 122, 122, 122, + 122, 122, 122, 122, 123, 124, 125, 125, 126, 126, + 126, 126, 127, 128, 128, 128, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 130, 131, 132, 132, 132, + 133, 133, 134, 134, 135, 135, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 137, 137, + 137, 138, 139, 139, 139, 139, 140, 140, 140, 140, + 141, 141, 141, 142, 143, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + + 144, 145, 146, 146, 146, 146, 146, 147, 148, 148, + 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 150, 151, 152, 152, 152, 153, 153, 153, 153, 154, + 154, 155, 155, 155, 155, 155, 155, 155, 156, 156, + 156, 156, 156, 157, 157, 157, 158, 158, 158, 159, + 159, 160, 160, 161, 162, 162, 162, 162, 162, 162, + 162, 163, 163, 163, 163, 163, 164, 164, 165, 165, + 165, 166, 167, 168, 168, 168, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 170, 170, 171, 172, 172, 172, 172, 172, 172, + + 172, 172, 172, 172, 172, 173, 173, 173, 173, 173, + 173, 173, 173, 174, 174, 174, 175, 176, 177, 178, + 179, 180, 181, 181, 181, 181, 182, 182, 182, 182, + 183, 184, 184, 185, 186, 186, 186, 186, 186, 186, + 187, 187, 187, 187, 187, 187, 188, 188, 188, 189, + 189, 189, 189, 189, 189, 189, 189, 190, 191, 192, + 192, 192, 193, 194, 195, 195, 195, 196, 196, 196, + 196, 196, 197, 197, 198, 199, 200, 201, 201, 201, + 201, 202, 202, 202, 203, 204, 205, 206, 207, 207, + 207, 208, 209, 210, 211, 211, 211, 211, 211, 211, + + 212, 212, 213, 213, 214, 215, 215, 215, 215, 215, + 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, + 220, 221, 222, 222, 223, 223, 223, 223, 223, 224, + 224, 224, 224, 225, 225, 226, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 228, 228, 228, 228, 228, 228, 228, 228, 229, 229, + 229, 229, 229, 229, 230, 230, 230, 230, 230, 231, + 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, + + 232, 232, 232, 232, 232, 232, 233, 233, 234, 235, + 236, 236, 237, 237, 238, 239, 240, 240, 241, 241 } ; static yyconst int yy_ec[256] = @@ -426,16 +427,16 @@ static yyconst int yy_ec[256] = 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 5, 6, 1, 1, 1, - 1, 1, 7, 1, 8, 9, 1, 10, 11, 11, - 11, 11, 11, 12, 11, 13, 11, 14, 15, 1, - 1, 1, 1, 1, 16, 16, 16, 16, 17, 16, + 1, 1, 7, 1, 8, 9, 1, 10, 11, 12, + 13, 14, 15, 16, 15, 17, 15, 18, 19, 1, + 1, 1, 1, 20, 21, 21, 21, 21, 22, 21, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 1, 1, 1, 1, 18, 1, 19, 20, 21, 22, + 1, 1, 1, 1, 23, 1, 24, 25, 26, 27, - 23, 24, 25, 26, 27, 5, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 1, 1, 1, 1, 1, 1, 1, 1, + 28, 29, 30, 31, 32, 5, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -452,463 +453,471 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[44] = +static yyconst int yy_meta[49] = { 0, - 1, 1, 2, 1, 3, 1, 1, 3, 3, 3, - 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, + 1, 1, 2, 1, 3, 1, 4, 5, 3, 6, + 6, 6, 6, 6, 6, 6, 6, 7, 1, 1, + 3, 8, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3 + 3, 3, 3, 3, 3, 3, 3, 3 } ; -static yyconst short int yy_base[615] = +static yyconst short int yy_base[630] = { 0, - 0, 0, 1308, 1309, 1309, 1309, 1303, 1292, 36, 40, - 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, - 108, 91, 105, 96, 119, 117, 144, 128, 68, 170, - 169, 202, 92, 111, 131, 125, 1301, 1309, 1290, 1309, - 0, 207, 229, 234, 239, 70, 244, 259, 264, 0, - 139, 145, 142, 76, 136, 156, 157, 31, 1289, 162, - 164, 192, 48, 172, 268, 175, 173, 221, 212, 1288, - 276, 278, 138, 186, 72, 279, 277, 280, 289, 249, - 282, 290, 216, 281, 291, 189, 294, 284, 295, 1287, - 297, 306, 73, 305, 316, 317, 246, 311, 318, 322, - - 323, 324, 327, 329, 330, 338, 332, 348, 350, 333, - 337, 334, 362, 336, 364, 1286, 367, 351, 359, 371, - 374, 379, 375, 381, 405, 386, 389, 403, 396, 378, - 250, 376, 400, 1285, 0, 436, 440, 1284, 454, 471, - 0, 1283, 382, 406, 1282, 410, 425, 1281, 415, 1280, - 422, 430, 440, 456, 1279, 458, 459, 473, 412, 447, - 460, 1278, 474, 442, 472, 477, 480, 476, 461, 478, - 416, 488, 490, 491, 494, 495, 496, 492, 499, 506, - 507, 500, 513, 505, 508, 520, 521, 523, 524, 525, - 1277, 1276, 526, 1275, 1274, 1273, 1272, 1271, 1270, 527, - - 1269, 1268, 529, 533, 1267, 1266, 561, 538, 537, 542, - 534, 572, 550, 1265, 1264, 1263, 553, 1262, 535, 575, - 536, 1261, 1260, 576, 577, 1259, 555, 579, 540, 580, - 586, 582, 585, 588, 1258, 1257, 1256, 593, 596, 1255, - 590, 1254, 597, 1253, 600, 1252, 601, 602, 604, 605, - 619, 609, 612, 618, 622, 611, 214, 1251, 628, 629, - 1309, 635, 643, 651, 657, 662, 651, 663, 664, 1250, - 665, 666, 1249, 1248, 1247, 667, 669, 672, 673, 675, - 676, 677, 678, 683, 679, 686, 685, 691, 690, 693, - 1246, 1245, 687, 697, 701, 702, 1244, 1243, 703, 707, - - 1242, 708, 709, 711, 713, 714, 719, 715, 721, 1241, - 1240, 1239, 722, 724, 1238, 727, 729, 735, 0, 737, - 1237, 741, 738, 742, 747, 748, 749, 1236, 743, 635, - 750, 755, 1235, 760, 761, 1234, 763, 764, 1233, 767, - 1232, 773, 1231, 1230, 775, 776, 778, 777, 781, 780, - 1229, 783, 784, 789, 791, 1228, 792, 1227, 798, 793, - 1226, 813, 1225, 794, 795, 1224, 801, 807, 816, 817, - 822, 813, 796, 819, 825, 826, 828, 829, 830, 832, - 1223, 833, 1222, 1221, 836, 837, 831, 842, 841, 843, - 846, 853, 854, 855, 1220, 857, 858, 861, 862, 863, - - 866, 865, 1219, 876, 860, 1218, 1217, 1216, 1215, 1214, - 1213, 1212, 877, 879, 880, 1211, 881, 882, 886, 1210, - 1209, 884, 1208, 1207, 885, 890, 888, 887, 891, 1206, - 898, 900, 901, 904, 907, 1205, 909, 911, 1204, 912, - 916, 716, 917, 914, 915, 919, 1203, 1202, 1201, 935, - 918, 1200, 1199, 1198, 925, 928, 1197, 938, 942, 943, - 930, 1196, 945, 1195, 1194, 1193, 1192, 946, 949, 954, - 1191, 950, 955, 1190, 1189, 1188, 1187, 1186, 956, 958, - 1185, 1184, 1183, 1182, 957, 960, 968, 961, 962, 1181, - 963, 1180, 973, 1179, 1178, 964, 975, 977, 978, 980, - - 1177, 981, 983, 984, 987, 988, 992, 994, 995, 1176, - 997, 998, 1005, 1006, 1004, 1008, 1012, 1014, 920, 1175, - 1015, 1017, 1020, 1021, 1174, 1023, 1024, 1025, 1026, 1171, - 1162, 1160, 1029, 1159, 1027, 1044, 1032, 1028, 1158, 1045, - 1049, 1033, 1157, 1050, 1155, 1154, 1053, 1055, 1056, 1057, - 1059, 1060, 1061, 1063, 1065, 1066, 1067, 1069, 1071, 1152, - 1074, 1077, 1080, 1082, 1083, 1085, 1087, 1148, 1090, 1091, - 1096, 1097, 1098, 1147, 1095, 1101, 1102, 1103, 1145, 1107, - 1108, 1140, 1106, 1109, 1114, 1118, 1122, 1123, 1126, 1129, - 1128, 1130, 1131, 1132, 1133, 1070, 1134, 643, 552, 548, - - 1139, 444, 1144, 360, 285, 252, 1142, 133, 1309, 1177, - 1179, 143, 1183, 57 + 0, 0, 1336, 1337, 1337, 1337, 1331, 1316, 41, 0, + 49, 59, 69, 1287, 0, 112, 69, 72, 93, 113, + 52, 122, 74, 152, 120, 77, 136, 156, 135, 71, + 187, 186, 224, 118, 115, 56, 153, 1328, 1337, 1313, + 1337, 0, 256, 0, 1321, 1320, 88, 264, 1282, 283, + 0, 1323, 140, 157, 158, 121, 164, 183, 198, 32, + 1308, 190, 95, 175, 54, 165, 217, 162, 117, 182, + 218, 1307, 220, 272, 185, 100, 204, 219, 235, 241, + 264, 232, 273, 57, 1306, 284, 285, 296, 297, 299, + 300, 226, 298, 302, 308, 1305, 303, 309, 307, 316, + + 321, 329, 330, 332, 333, 334, 313, 337, 310, 315, + 342, 343, 350, 353, 346, 352, 358, 363, 357, 365, + 366, 1304, 373, 377, 381, 385, 383, 384, 389, 390, + 402, 386, 392, 417, 418, 395, 271, 393, 403, 1303, + 0, 0, 416, 1302, 0, 447, 0, 1315, 1300, 438, + 428, 1299, 448, 427, 1298, 419, 1297, 451, 452, 453, + 406, 1296, 454, 455, 456, 461, 457, 460, 1295, 465, + 464, 470, 462, 477, 474, 480, 481, 482, 483, 485, + 488, 486, 490, 491, 1294, 1293, 1292, 492, 493, 495, + 506, 502, 514, 511, 494, 519, 515, 517, 520, 522, + + 1291, 1290, 525, 1289, 1288, 1287, 1286, 1285, 1284, 523, + 1283, 1282, 531, 529, 1281, 1280, 562, 538, 537, 540, + 532, 567, 550, 1279, 1278, 1277, 575, 1276, 534, 533, + 576, 1275, 1274, 535, 578, 1273, 580, 582, 581, 586, + 584, 589, 587, 588, 1272, 1271, 1270, 591, 590, 1269, + 592, 1268, 603, 1267, 601, 1266, 607, 608, 612, 605, + 620, 596, 621, 616, 627, 623, 546, 1265, 628, 630, + 1337, 630, 646, 652, 654, 656, 632, 648, 637, 1264, + 639, 652, 1263, 1262, 1261, 651, 649, 653, 660, 661, + 664, 662, 663, 665, 666, 668, 669, 679, 674, 675, + + 1260, 1259, 670, 671, 682, 686, 1258, 1257, 687, 692, + 1256, 689, 693, 696, 697, 702, 704, 700, 706, 1255, + 1254, 1253, 708, 709, 1252, 701, 710, 712, 0, 713, + 1251, 714, 721, 724, 730, 732, 733, 1250, 735, 736, + 738, 739, 1249, 741, 744, 1248, 753, 746, 1247, 749, + 1246, 755, 1245, 1244, 758, 760, 764, 766, 761, 768, + 1243, 770, 771, 773, 774, 1242, 776, 1241, 778, 777, + 1240, 0, 1239, 781, 779, 1238, 782, 790, 797, 796, + 806, 794, 807, 795, 799, 808, 809, 810, 811, 813, + 1237, 817, 1236, 1235, 822, 823, 820, 830, 826, 824, + + 828, 831, 833, 835, 1234, 832, 844, 839, 846, 848, + 851, 843, 1233, 855, 859, 1232, 1231, 1230, 1229, 1228, + 1227, 1226, 860, 862, 864, 1225, 865, 863, 867, 1224, + 1223, 866, 1222, 1221, 868, 871, 872, 869, 870, 1220, + 875, 880, 885, 888, 889, 1219, 890, 895, 1218, 896, + 897, 898, 900, 901, 902, 903, 1217, 1216, 1215, 911, + 906, 1214, 1213, 1212, 915, 908, 1211, 918, 926, 929, + 909, 1210, 931, 1209, 1208, 1207, 1206, 920, 932, 934, + 1205, 937, 938, 1204, 1203, 1202, 1201, 1200, 940, 943, + 1199, 1198, 1197, 1192, 941, 944, 946, 945, 948, 1181, + + 951, 1178, 953, 1170, 1167, 958, 960, 961, 962, 963, + 1164, 964, 965, 968, 969, 970, 971, 976, 977, 1158, + 979, 986, 987, 989, 990, 991, 994, 997, 998, 1146, + 1003, 1006, 1007, 1004, 1145, 1008, 1009, 1011, 1012, 1144, + 1142, 1141, 1018, 1140, 1013, 1017, 1020, 1019, 1139, 1029, + 1033, 1034, 1137, 1016, 1136, 1133, 1038, 1041, 1042, 1043, + 1045, 1046, 1047, 1050, 1053, 1052, 1054, 1056, 1057, 1131, + 1058, 1061, 1059, 1064, 1065, 1070, 1069, 1128, 1071, 1077, + 1081, 1082, 1083, 913, 1084, 1085, 1086, 1089, 784, 1091, + 1092, 783, 1090, 1095, 1104, 1096, 1105, 1111, 1108, 1112, + + 1113, 1115, 1116, 1117, 1119, 737, 1120, 548, 391, 349, + 1121, 312, 1125, 270, 266, 221, 1126, 184, 1337, 1166, + 1172, 1178, 192, 1186, 1192, 70, 1200, 1203, 1208 } ; -static yyconst short int yy_def[615] = +static yyconst short int yy_def[630] = { 0, - 609, 1, 609, 609, 609, 609, 610, 611, 612, 609, - 611, 611, 611, 611, 613, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 610, 609, 611, 609, - 614, 614, 609, 609, 611, 611, 611, 611, 611, 613, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 609, 614, 614, 609, 611, 611, 611, - 49, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611, 49, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 609, 609, 609, 609, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 207, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 609, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, - - 611, 611, 611, 611, 611, 611, 611, 611, 0, 609, - 609, 609, 609, 609 + 619, 1, 619, 619, 619, 619, 620, 621, 622, 623, + 621, 621, 11, 13, 624, 622, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 620, 619, 621, + 619, 625, 625, 626, 623, 11, 621, 11, 13, 11, + 624, 627, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 619, + 625, 43, 628, 621, 48, 11, 50, 627, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 50, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 619, 628, 629, 629, 146, 146, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 217, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 274, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 0, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619 } ; -static yyconst short int yy_nxt[1353] = +static yyconst short int yy_nxt[1386] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, - 18, 19, 20, 21, 22, 8, 23, 8, 24, 25, - 26, 27, 28, 8, 29, 30, 31, 32, 33, 34, - 35, 8, 36, 42, 40, 43, 43, 43, 43, 44, - 44, 44, 44, 45, 45, 45, 45, 40, 46, 135, - 40, 40, 152, 40, 47, 48, 48, 48, 48, 40, - 47, 48, 48, 48, 48, 40, 40, 69, 138, 40, - 70, 40, 158, 40, 51, 40, 40, 71, 56, 40, - 102, 52, 57, 53, 40, 54, 49, 58, 55, 60, - - 59, 61, 40, 172, 40, 40, 194, 64, 146, 40, - 128, 65, 62, 78, 83, 66, 63, 67, 40, 79, - 68, 40, 84, 129, 40, 80, 72, 85, 73, 74, - 40, 86, 40, 130, 81, 82, 75, 87, 40, 90, - 76, 40, 77, 131, 40, 41, 40, 133, 91, 40, - 88, 40, 40, 99, 92, 40, 89, 40, 40, 100, - 142, 147, 132, 145, 101, 148, 93, 170, 94, 40, - 40, 143, 95, 144, 96, 40, 97, 40, 98, 103, - 149, 150, 40, 40, 155, 40, 40, 115, 40, 104, - 153, 105, 106, 151, 107, 108, 109, 154, 110, 40, - - 116, 163, 40, 117, 111, 40, 112, 113, 159, 114, - 118, 103, 171, 162, 188, 40, 136, 136, 136, 136, - 156, 119, 157, 120, 121, 40, 122, 40, 123, 40, - 124, 359, 125, 165, 40, 183, 126, 127, 43, 43, - 43, 43, 137, 44, 44, 44, 44, 47, 45, 45, - 45, 45, 40, 139, 139, 139, 139, 40, 164, 40, - 140, 257, 40, 40, 200, 40, 140, 47, 48, 48, - 48, 48, 40, 141, 141, 141, 141, 40, 178, 141, - 141, 40, 141, 141, 141, 141, 141, 141, 160, 40, - 40, 40, 40, 40, 40, 40, 166, 40, 40, 175, - - 161, 173, 40, 40, 40, 190, 168, 40, 40, 186, - 40, 184, 167, 169, 179, 174, 176, 185, 40, 40, - 177, 187, 189, 191, 40, 180, 181, 195, 182, 40, - 40, 40, 201, 192, 193, 40, 40, 40, 197, 199, - 40, 196, 40, 40, 202, 40, 40, 40, 203, 40, - 40, 40, 198, 205, 214, 222, 209, 204, 210, 224, - 206, 40, 227, 40, 40, 225, 211, 207, 215, 223, - 208, 220, 40, 40, 212, 40, 216, 40, 213, 217, - 40, 226, 218, 232, 40, 219, 221, 40, 40, 40, - 228, 40, 40, 230, 40, 40, 256, 234, 229, 40, - - 233, 236, 40, 240, 231, 238, 267, 235, 249, 40, - 258, 239, 241, 40, 250, 237, 40, 242, 40, 40, - 251, 252, 254, 40, 255, 40, 243, 244, 40, 40, - 279, 245, 269, 253, 259, 40, 246, 268, 40, 247, - 260, 271, 272, 40, 248, 136, 136, 136, 136, 262, - 262, 262, 262, 40, 292, 40, 263, 40, 273, 270, - 40, 284, 263, 139, 139, 139, 139, 40, 274, 40, - 140, 40, 40, 40, 40, 280, 140, 264, 265, 276, - 266, 266, 266, 266, 40, 40, 40, 40, 281, 40, - 40, 40, 275, 40, 277, 278, 282, 290, 285, 286, - - 283, 40, 287, 40, 40, 40, 293, 40, 40, 40, - 291, 289, 40, 40, 288, 300, 297, 299, 40, 40, - 40, 40, 295, 298, 301, 296, 40, 302, 303, 304, - 294, 306, 308, 40, 40, 307, 40, 40, 40, 40, - 40, 310, 40, 305, 309, 311, 40, 40, 40, 40, - 40, 40, 313, 40, 315, 40, 323, 312, 330, 317, - 316, 40, 314, 40, 337, 40, 40, 332, 40, 318, - 319, 319, 319, 319, 320, 321, 319, 319, 322, 319, - 319, 319, 319, 319, 319, 40, 328, 329, 40, 40, - 40, 335, 40, 40, 324, 40, 325, 331, 40, 40, - - 326, 40, 327, 40, 341, 333, 40, 336, 339, 40, - 40, 334, 338, 40, 40, 40, 340, 40, 40, 347, - 346, 342, 40, 349, 40, 40, 343, 345, 350, 344, - 348, 40, 40, 351, 355, 40, 352, 353, 358, 356, - 357, 40, 40, 354, 262, 262, 262, 262, 40, 264, - 264, 263, 362, 362, 362, 362, 40, 263, 413, 360, - 362, 362, 362, 362, 40, 361, 266, 266, 266, 266, - 40, 266, 266, 266, 266, 40, 40, 40, 40, 40, - 40, 363, 40, 364, 367, 40, 40, 368, 40, 40, - 40, 40, 40, 372, 365, 366, 40, 377, 40, 40, - - 40, 371, 373, 40, 40, 369, 40, 375, 370, 380, - 40, 376, 381, 382, 40, 40, 40, 374, 378, 379, - 40, 40, 40, 383, 40, 389, 40, 40, 40, 40, - 390, 388, 40, 384, 40, 40, 385, 40, 386, 387, - 40, 394, 40, 391, 393, 392, 396, 395, 40, 397, - 40, 40, 399, 398, 40, 40, 40, 493, 405, 403, - 40, 40, 40, 40, 400, 401, 402, 404, 40, 407, - 409, 411, 414, 40, 40, 406, 40, 40, 415, 412, - 40, 417, 416, 408, 410, 418, 40, 420, 40, 40, - 40, 40, 419, 40, 40, 421, 40, 40, 422, 426, - - 423, 424, 40, 425, 40, 40, 40, 40, 40, 40, - 427, 40, 436, 430, 40, 444, 437, 428, 429, 435, - 40, 433, 362, 362, 362, 362, 40, 439, 432, 40, - 40, 431, 40, 434, 440, 40, 438, 441, 40, 40, - 442, 40, 40, 40, 40, 40, 40, 443, 447, 40, - 40, 445, 451, 452, 40, 40, 40, 446, 448, 40, - 450, 455, 453, 454, 456, 449, 40, 40, 40, 457, - 40, 40, 458, 40, 40, 40, 40, 462, 40, 40, - 464, 465, 459, 460, 466, 467, 461, 463, 468, 40, - 40, 469, 40, 40, 40, 40, 471, 40, 40, 40, - - 40, 40, 473, 40, 40, 472, 475, 470, 477, 481, - 480, 40, 474, 40, 40, 483, 478, 40, 476, 486, - 40, 479, 40, 482, 40, 40, 485, 40, 40, 40, - 40, 40, 40, 40, 484, 489, 492, 488, 40, 494, - 487, 40, 491, 40, 543, 501, 496, 490, 40, 495, - 497, 40, 498, 499, 500, 40, 40, 502, 40, 40, - 503, 505, 40, 40, 504, 507, 506, 40, 40, 40, - 40, 40, 511, 40, 40, 40, 40, 40, 512, 509, - 508, 40, 513, 514, 510, 515, 40, 518, 40, 517, - 40, 40, 519, 40, 40, 516, 40, 40, 522, 520, - - 40, 40, 526, 527, 521, 40, 525, 40, 40, 523, - 40, 40, 529, 528, 532, 530, 524, 40, 40, 40, - 536, 40, 531, 537, 538, 40, 539, 40, 40, 533, - 40, 534, 541, 40, 40, 535, 40, 40, 40, 40, - 40, 40, 40, 547, 540, 40, 40, 556, 551, 553, - 542, 548, 544, 545, 549, 552, 546, 40, 40, 559, - 555, 550, 40, 40, 554, 557, 40, 558, 40, 40, - 40, 561, 40, 40, 40, 564, 40, 562, 40, 40, - 40, 567, 40, 40, 40, 571, 560, 40, 565, 573, - 40, 569, 563, 40, 570, 40, 40, 572, 40, 568, - - 40, 574, 566, 40, 40, 578, 575, 579, 40, 40, - 40, 40, 576, 582, 40, 40, 40, 586, 577, 40, - 40, 40, 40, 580, 583, 584, 585, 40, 588, 593, - 591, 40, 581, 589, 592, 40, 40, 587, 590, 40, - 594, 40, 40, 40, 40, 40, 40, 40, 595, 600, - 601, 602, 40, 40, 597, 40, 596, 40, 40, 606, - 40, 40, 598, 599, 605, 40, 607, 40, 40, 604, - 40, 40, 40, 40, 603, 40, 608, 37, 37, 37, - 37, 39, 39, 50, 40, 50, 50, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 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, 261, 40, - - 40, 40, 40, 40, 134, 40, 38, 609, 3, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609 + 14, 14, 14, 14, 14, 14, 14, 4, 15, 16, + 8, 8, 8, 17, 18, 19, 20, 21, 22, 23, + 8, 24, 8, 25, 26, 27, 28, 29, 8, 30, + 31, 32, 33, 34, 35, 36, 8, 37, 43, 41, + 44, 44, 44, 44, 44, 44, 44, 44, 46, 46, + 46, 46, 46, 46, 46, 46, 41, 47, 159, 41, + 187, 41, 137, 41, 41, 44, 41, 48, 49, 49, + 49, 49, 49, 49, 49, 49, 41, 71, 41, 41, + 72, 41, 138, 165, 41, 53, 144, 73, 108, 58, + + 93, 80, 54, 59, 55, 41, 56, 81, 60, 57, + 41, 61, 41, 94, 50, 52, 62, 41, 63, 95, + 162, 619, 619, 619, 619, 619, 619, 619, 619, 64, + 41, 178, 41, 65, 41, 41, 66, 41, 41, 41, + 67, 134, 136, 89, 68, 74, 69, 75, 76, 70, + 170, 90, 41, 41, 135, 77, 91, 41, 153, 78, + 92, 79, 82, 96, 83, 105, 149, 84, 85, 41, + 41, 106, 97, 41, 41, 41, 107, 86, 98, 41, + 139, 41, 41, 99, 152, 100, 87, 88, 150, 101, + 151, 102, 41, 103, 154, 104, 109, 45, 155, 41, + + 41, 41, 41, 41, 41, 169, 166, 41, 163, 121, + 164, 110, 156, 111, 112, 41, 113, 114, 115, 177, + 116, 41, 122, 160, 171, 123, 117, 157, 118, 119, + 161, 120, 124, 109, 41, 41, 41, 41, 41, 158, + 179, 41, 167, 41, 172, 173, 180, 185, 125, 41, + 126, 127, 41, 128, 168, 129, 198, 130, 41, 131, + 181, 174, 182, 132, 133, 142, 142, 142, 142, 142, + 142, 142, 142, 145, 145, 145, 145, 145, 145, 145, + 145, 41, 183, 41, 186, 146, 267, 41, 41, 41, + 41, 146, 147, 147, 147, 147, 147, 147, 147, 147, + + 184, 41, 41, 147, 147, 175, 147, 147, 147, 147, + 147, 147, 176, 41, 41, 41, 41, 41, 188, 41, + 41, 193, 189, 196, 41, 41, 41, 41, 200, 41, + 41, 199, 41, 41, 194, 197, 190, 191, 41, 192, + 195, 201, 203, 205, 202, 204, 41, 41, 207, 41, + 41, 41, 214, 210, 41, 217, 209, 206, 211, 41, + 41, 218, 208, 41, 212, 213, 41, 41, 220, 41, + 41, 215, 230, 219, 41, 41, 221, 224, 216, 232, + 41, 236, 41, 41, 222, 234, 226, 231, 223, 227, + 41, 225, 228, 233, 41, 229, 237, 238, 41, 235, + + 41, 41, 41, 41, 240, 239, 41, 41, 41, 41, + 41, 246, 41, 259, 242, 241, 244, 250, 266, 41, + 41, 245, 260, 41, 248, 247, 251, 243, 253, 254, + 249, 252, 268, 255, 41, 41, 41, 273, 256, 261, + 262, 257, 269, 273, 41, 41, 258, 285, 270, 264, + 281, 265, 263, 274, 275, 41, 276, 276, 276, 276, + 276, 276, 276, 276, 278, 41, 280, 277, 41, 41, + 41, 41, 41, 41, 41, 279, 282, 41, 41, 41, + 286, 41, 41, 288, 289, 283, 284, 41, 294, 296, + 290, 41, 292, 291, 41, 287, 293, 41, 41, 41, + + 41, 295, 41, 41, 297, 41, 303, 41, 41, 41, + 41, 41, 41, 307, 299, 310, 298, 309, 301, 41, + 308, 300, 313, 41, 305, 302, 312, 306, 41, 311, + 304, 41, 41, 314, 41, 319, 41, 41, 316, 41, + 41, 317, 41, 318, 321, 320, 41, 315, 41, 41, + 41, 41, 41, 323, 41, 41, 322, 41, 325, 333, + 341, 326, 340, 41, 324, 41, 327, 41, 369, 343, + 328, 329, 329, 329, 329, 329, 329, 329, 329, 330, + 331, 332, 329, 329, 41, 329, 329, 329, 329, 329, + 329, 338, 41, 41, 334, 41, 335, 41, 41, 41, + + 336, 41, 337, 41, 41, 41, 41, 41, 41, 41, + 347, 349, 342, 41, 339, 346, 351, 344, 41, 350, + 41, 345, 41, 348, 41, 41, 355, 356, 352, 41, + 357, 353, 354, 41, 359, 364, 358, 41, 41, 360, + 41, 362, 366, 363, 41, 41, 361, 41, 365, 41, + 367, 273, 274, 274, 41, 368, 41, 273, 619, 619, + 619, 40, 619, 40, 370, 41, 41, 373, 41, 41, + 41, 371, 375, 374, 376, 377, 378, 41, 41, 41, + 41, 41, 41, 41, 382, 41, 41, 41, 41, 387, + 379, 41, 41, 381, 380, 383, 41, 385, 386, 41, + + 392, 391, 390, 41, 41, 388, 41, 384, 389, 41, + 41, 393, 394, 41, 41, 399, 400, 41, 41, 41, + 398, 41, 395, 41, 396, 41, 41, 41, 397, 41, + 41, 41, 401, 403, 404, 402, 406, 405, 41, 407, + 413, 41, 409, 410, 408, 414, 415, 41, 412, 41, + 41, 411, 41, 41, 41, 41, 41, 417, 41, 419, + 421, 41, 416, 41, 423, 424, 41, 425, 426, 427, + 41, 418, 41, 420, 430, 41, 422, 41, 41, 429, + 428, 41, 431, 41, 436, 41, 432, 41, 41, 433, + 41, 41, 434, 41, 41, 41, 41, 435, 41, 41, + + 41, 41, 440, 437, 446, 447, 443, 41, 445, 438, + 439, 41, 41, 41, 41, 449, 41, 442, 444, 441, + 450, 451, 448, 41, 41, 41, 41, 41, 41, 452, + 41, 454, 455, 453, 41, 457, 456, 41, 461, 41, + 41, 41, 462, 41, 458, 41, 460, 41, 41, 41, + 41, 459, 41, 463, 464, 465, 41, 466, 468, 467, + 41, 41, 472, 41, 475, 41, 470, 473, 41, 469, + 471, 474, 41, 476, 479, 477, 41, 41, 478, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 483, 480, 41, 482, 487, 485, 490, 41, 491, 493, + + 481, 484, 41, 488, 486, 41, 41, 41, 496, 489, + 492, 495, 41, 41, 41, 41, 494, 41, 41, 41, + 41, 499, 502, 41, 498, 41, 41, 504, 41, 497, + 41, 501, 41, 508, 509, 41, 500, 41, 506, 507, + 511, 505, 512, 41, 503, 513, 41, 510, 41, 41, + 516, 41, 515, 514, 41, 41, 517, 41, 41, 518, + 41, 41, 41, 41, 521, 41, 522, 519, 41, 520, + 41, 523, 527, 524, 525, 41, 528, 41, 41, 41, + 41, 41, 41, 529, 526, 41, 41, 41, 41, 531, + 536, 537, 530, 41, 41, 535, 41, 532, 542, 533, + + 538, 539, 540, 41, 41, 534, 41, 41, 41, 541, + 547, 41, 548, 546, 41, 41, 543, 549, 544, 551, + 41, 41, 545, 41, 41, 41, 41, 553, 41, 41, + 41, 557, 550, 41, 41, 41, 41, 41, 552, 561, + 563, 558, 564, 566, 559, 554, 41, 555, 556, 562, + 41, 41, 560, 565, 567, 41, 568, 570, 41, 41, + 41, 571, 41, 41, 41, 569, 574, 41, 572, 41, + 41, 41, 577, 41, 41, 41, 41, 581, 41, 575, + 583, 41, 41, 573, 579, 580, 41, 41, 41, 582, + 584, 578, 588, 576, 41, 585, 586, 589, 41, 41, + + 41, 41, 41, 41, 592, 587, 41, 41, 41, 41, + 590, 596, 41, 41, 593, 594, 595, 598, 591, 601, + 603, 41, 41, 602, 599, 41, 597, 600, 41, 41, + 41, 605, 41, 41, 41, 604, 41, 41, 41, 610, + 611, 612, 41, 41, 606, 41, 616, 607, 41, 608, + 41, 609, 617, 41, 41, 615, 41, 41, 41, 41, + 614, 41, 41, 41, 613, 618, 38, 38, 38, 38, + 38, 38, 38, 38, 40, 41, 40, 40, 40, 40, + 42, 41, 42, 42, 41, 42, 51, 41, 51, 51, + 51, 51, 51, 51, 141, 41, 141, 141, 41, 141, + + 148, 148, 148, 148, 148, 148, 148, 148, 272, 41, + 272, 372, 372, 372, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 41, 41, 41, 39, 41, + 271, 41, 41, 41, 41, 41, 39, 40, 48, 143, + 41, 140, 40, 41, 39, 619, 3, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619 } ; -static yyconst short int yy_chk[1353] = +static yyconst short int yy_chk[1386] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 9, 58, 9, 9, 9, 9, 10, - 10, 10, 10, 11, 11, 11, 11, 11, 12, 614, - 20, 63, 58, 12, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 14, 16, 20, 46, 17, - 20, 29, 63, 46, 16, 75, 93, 20, 17, 54, - 29, 16, 17, 16, 18, 16, 13, 17, 16, 18, - - 17, 18, 19, 75, 22, 33, 93, 19, 54, 24, - 33, 19, 18, 22, 24, 19, 18, 19, 23, 22, - 19, 21, 24, 33, 34, 23, 21, 24, 21, 21, - 26, 24, 25, 34, 23, 23, 21, 25, 36, 26, - 21, 28, 21, 35, 35, 612, 608, 36, 26, 55, - 25, 73, 51, 28, 26, 53, 25, 27, 52, 28, - 51, 55, 35, 53, 28, 55, 27, 73, 27, 56, - 57, 52, 27, 52, 27, 60, 27, 61, 27, 30, - 56, 57, 31, 30, 61, 64, 67, 31, 66, 30, - 60, 30, 30, 57, 30, 30, 30, 60, 30, 74, - - 31, 67, 86, 31, 30, 62, 30, 30, 64, 30, - 31, 32, 74, 66, 86, 32, 42, 42, 42, 42, - 62, 32, 62, 32, 32, 69, 32, 257, 32, 83, - 32, 257, 32, 69, 68, 83, 32, 32, 43, 43, - 43, 43, 44, 44, 44, 44, 44, 45, 45, 45, - 45, 45, 45, 47, 47, 47, 47, 47, 68, 97, - 47, 131, 80, 131, 97, 606, 47, 48, 48, 48, - 48, 48, 48, 49, 49, 49, 49, 49, 80, 49, - 49, 65, 49, 49, 49, 49, 49, 49, 65, 71, - 77, 72, 76, 78, 84, 81, 71, 88, 605, 77, - - 65, 76, 79, 82, 85, 88, 72, 87, 89, 85, - 91, 84, 71, 72, 81, 76, 78, 84, 94, 92, - 79, 85, 87, 89, 98, 82, 82, 94, 82, 95, - 96, 99, 98, 91, 92, 100, 101, 102, 95, 96, - 103, 94, 104, 105, 99, 107, 110, 112, 100, 114, - 111, 106, 95, 102, 107, 110, 105, 101, 106, 111, - 102, 108, 114, 109, 118, 112, 106, 103, 107, 110, - 104, 109, 119, 604, 106, 113, 108, 115, 106, 108, - 117, 113, 108, 118, 120, 108, 109, 121, 123, 132, - 115, 130, 122, 117, 124, 143, 130, 120, 115, 126, - - 119, 122, 127, 124, 117, 123, 143, 121, 126, 129, - 132, 123, 124, 133, 127, 122, 128, 124, 125, 144, - 128, 128, 129, 146, 129, 159, 125, 125, 149, 171, - 159, 125, 146, 128, 133, 151, 125, 144, 147, 125, - 133, 149, 151, 152, 125, 136, 136, 136, 136, 137, - 137, 137, 137, 153, 171, 164, 137, 602, 152, 147, - 160, 164, 137, 139, 139, 139, 139, 139, 153, 154, - 139, 156, 157, 161, 169, 160, 139, 140, 140, 156, - 140, 140, 140, 140, 140, 165, 158, 163, 161, 168, - 166, 170, 154, 167, 157, 158, 163, 169, 165, 166, - - 163, 172, 167, 173, 174, 178, 172, 175, 176, 177, - 170, 168, 179, 182, 167, 177, 175, 176, 184, 180, - 181, 185, 174, 175, 178, 174, 183, 179, 180, 181, - 173, 182, 184, 186, 187, 183, 188, 189, 190, 193, - 200, 186, 203, 181, 185, 187, 204, 211, 219, 221, - 209, 208, 189, 229, 193, 210, 211, 188, 219, 203, - 200, 600, 190, 213, 229, 599, 217, 221, 227, 204, - 207, 207, 207, 207, 208, 209, 207, 207, 210, 207, - 207, 207, 207, 207, 207, 212, 213, 217, 220, 224, - 225, 227, 228, 230, 212, 232, 212, 220, 233, 231, - - 212, 234, 212, 241, 232, 224, 238, 228, 231, 239, - 243, 225, 230, 245, 247, 248, 231, 249, 250, 243, - 241, 233, 252, 247, 256, 253, 234, 239, 248, 238, - 245, 254, 251, 249, 253, 255, 250, 251, 256, 254, - 255, 259, 260, 252, 262, 262, 262, 262, 330, 263, - 263, 262, 263, 263, 263, 263, 598, 262, 330, 259, - 264, 264, 264, 264, 267, 260, 265, 265, 265, 265, - 265, 266, 266, 266, 266, 266, 268, 269, 271, 272, - 276, 267, 277, 268, 272, 278, 279, 276, 280, 281, - 282, 283, 285, 280, 269, 271, 284, 285, 287, 286, - - 293, 279, 281, 289, 288, 277, 290, 283, 278, 288, - 294, 284, 289, 290, 295, 296, 299, 282, 286, 287, - 300, 302, 303, 293, 304, 300, 305, 306, 308, 442, - 302, 299, 307, 294, 309, 313, 295, 314, 295, 296, - 316, 306, 317, 303, 305, 304, 308, 307, 318, 309, - 320, 323, 314, 313, 322, 324, 329, 442, 323, 320, - 325, 326, 327, 331, 316, 317, 318, 322, 332, 325, - 326, 327, 331, 334, 335, 324, 337, 338, 332, 329, - 340, 335, 334, 325, 326, 337, 342, 340, 345, 346, - 348, 347, 338, 350, 349, 342, 352, 353, 345, 349, - - 346, 347, 354, 348, 355, 357, 360, 364, 365, 373, - 350, 359, 364, 354, 367, 373, 365, 352, 353, 360, - 368, 359, 362, 362, 362, 362, 372, 368, 357, 369, - 370, 355, 374, 359, 369, 371, 367, 370, 375, 376, - 371, 377, 378, 379, 387, 380, 382, 372, 376, 385, - 386, 374, 380, 382, 389, 388, 390, 375, 377, 391, - 379, 387, 385, 386, 388, 378, 392, 393, 394, 389, - 396, 397, 390, 405, 398, 399, 400, 394, 402, 401, - 397, 398, 391, 392, 399, 400, 393, 396, 401, 404, - 413, 402, 414, 415, 417, 418, 405, 422, 425, 419, - - 428, 427, 414, 426, 429, 413, 417, 404, 419, 427, - 426, 431, 415, 432, 433, 429, 422, 434, 418, 433, - 435, 425, 437, 428, 438, 440, 432, 444, 445, 441, - 443, 451, 446, 519, 431, 437, 441, 435, 455, 443, - 434, 456, 440, 461, 519, 455, 445, 438, 450, 444, - 446, 458, 450, 450, 451, 459, 460, 456, 463, 468, - 458, 460, 469, 472, 459, 463, 461, 470, 473, 479, - 485, 480, 472, 486, 488, 489, 491, 496, 473, 469, - 468, 487, 479, 480, 470, 485, 493, 488, 497, 487, - 498, 499, 489, 500, 502, 486, 503, 504, 496, 491, - - 505, 506, 500, 502, 493, 507, 499, 508, 509, 497, - 511, 512, 504, 503, 507, 505, 498, 515, 513, 514, - 512, 516, 506, 513, 514, 517, 515, 518, 521, 508, - 522, 509, 517, 523, 524, 511, 526, 527, 528, 529, - 535, 538, 533, 524, 516, 537, 542, 538, 529, 535, - 518, 526, 521, 522, 527, 533, 523, 536, 540, 542, - 537, 528, 541, 544, 536, 540, 547, 541, 548, 549, - 550, 547, 551, 552, 553, 550, 554, 548, 555, 556, - 557, 553, 558, 596, 559, 557, 544, 561, 551, 559, - 562, 555, 549, 563, 556, 564, 565, 558, 566, 554, - - 567, 561, 552, 569, 570, 565, 562, 566, 575, 571, - 572, 573, 563, 570, 576, 577, 578, 575, 564, 583, - 580, 581, 584, 567, 571, 572, 573, 585, 577, 584, - 581, 586, 569, 578, 583, 587, 588, 576, 580, 589, - 585, 591, 590, 592, 593, 594, 595, 597, 586, 591, - 592, 593, 601, 582, 588, 607, 587, 603, 579, 601, - 574, 568, 589, 590, 597, 560, 603, 546, 545, 595, - 543, 539, 534, 532, 594, 531, 607, 610, 610, 610, - 610, 611, 611, 613, 530, 613, 613, 525, 520, 510, - 501, 495, 494, 492, 490, 484, 483, 482, 481, 478, - - 477, 476, 475, 474, 471, 467, 466, 465, 464, 462, - 457, 454, 453, 452, 449, 448, 447, 439, 436, 430, - 424, 423, 421, 420, 416, 412, 411, 410, 409, 408, - 407, 406, 403, 395, 384, 383, 381, 366, 363, 361, - 358, 356, 351, 344, 343, 341, 339, 336, 333, 328, - 321, 315, 312, 311, 310, 301, 298, 297, 292, 291, - 275, 274, 273, 270, 258, 246, 244, 242, 240, 237, - 236, 235, 226, 223, 222, 218, 216, 215, 214, 206, - 205, 202, 201, 199, 198, 197, 196, 195, 194, 192, - 191, 162, 155, 150, 148, 145, 142, 138, 134, 116, - - 90, 70, 59, 39, 37, 8, 7, 3, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609 + 1, 1, 1, 1, 1, 1, 1, 1, 9, 60, + 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 12, 60, 21, + 84, 65, 36, 36, 84, 626, 12, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 17, 21, 30, 18, + 21, 23, 36, 65, 26, 17, 47, 21, 30, 18, + + 26, 23, 17, 18, 17, 47, 17, 23, 18, 17, + 19, 18, 63, 26, 13, 16, 19, 76, 19, 26, + 63, 16, 16, 16, 16, 16, 16, 16, 16, 19, + 20, 76, 35, 19, 69, 34, 20, 25, 56, 22, + 20, 34, 35, 25, 20, 22, 20, 22, 22, 20, + 69, 25, 29, 27, 34, 22, 25, 53, 56, 22, + 25, 22, 24, 27, 24, 29, 53, 24, 24, 24, + 37, 29, 27, 28, 54, 55, 29, 24, 27, 68, + 37, 57, 66, 28, 55, 28, 24, 24, 54, 28, + 54, 28, 64, 28, 57, 28, 31, 623, 57, 70, + + 58, 618, 75, 32, 31, 68, 66, 62, 64, 32, + 64, 31, 58, 31, 31, 59, 31, 31, 31, 75, + 31, 77, 32, 62, 70, 32, 31, 59, 31, 31, + 62, 31, 32, 33, 67, 71, 78, 73, 616, 59, + 77, 33, 67, 92, 71, 73, 78, 82, 33, 82, + 33, 33, 79, 33, 67, 33, 92, 33, 80, 33, + 78, 73, 79, 33, 33, 43, 43, 43, 43, 43, + 43, 43, 43, 48, 48, 48, 48, 48, 48, 48, + 48, 81, 80, 615, 83, 48, 137, 614, 137, 74, + 83, 48, 50, 50, 50, 50, 50, 50, 50, 50, + + 81, 86, 87, 50, 50, 74, 50, 50, 50, 50, + 50, 50, 74, 88, 89, 93, 90, 91, 86, 94, + 97, 89, 87, 91, 99, 95, 98, 109, 94, 612, + 107, 93, 110, 100, 90, 91, 88, 88, 101, 88, + 90, 95, 98, 100, 97, 99, 102, 103, 101, 104, + 105, 106, 107, 103, 108, 109, 102, 100, 104, 111, + 112, 110, 101, 115, 105, 106, 610, 113, 112, 116, + 114, 108, 115, 111, 119, 117, 112, 113, 108, 116, + 118, 119, 120, 121, 112, 117, 114, 115, 112, 114, + 123, 113, 114, 116, 124, 114, 120, 121, 125, 118, + + 127, 128, 126, 132, 123, 121, 129, 130, 609, 133, + 138, 128, 136, 132, 124, 123, 126, 130, 136, 131, + 139, 127, 133, 161, 129, 128, 130, 125, 131, 131, + 129, 130, 138, 131, 134, 135, 156, 143, 131, 134, + 134, 131, 139, 143, 154, 151, 131, 161, 139, 135, + 156, 135, 134, 146, 146, 150, 146, 146, 146, 146, + 146, 146, 146, 146, 151, 153, 154, 150, 158, 159, + 160, 163, 164, 165, 167, 153, 158, 168, 166, 173, + 163, 171, 170, 165, 166, 159, 160, 172, 171, 173, + 167, 175, 170, 168, 174, 164, 170, 176, 177, 178, + + 179, 172, 180, 182, 174, 181, 179, 183, 184, 188, + 189, 195, 190, 182, 175, 184, 174, 183, 177, 192, + 182, 176, 190, 191, 181, 178, 189, 181, 194, 188, + 180, 193, 197, 191, 198, 195, 196, 199, 192, 200, + 210, 193, 203, 194, 197, 196, 214, 191, 213, 221, + 230, 229, 234, 199, 219, 218, 198, 220, 203, 221, + 230, 210, 229, 267, 200, 608, 213, 223, 267, 234, + 214, 217, 217, 217, 217, 217, 217, 217, 217, 218, + 219, 220, 217, 217, 222, 217, 217, 217, 217, 217, + 217, 223, 227, 231, 222, 235, 222, 237, 239, 238, + + 222, 241, 222, 240, 243, 244, 242, 249, 248, 251, + 239, 241, 231, 262, 227, 238, 242, 235, 255, 241, + 253, 237, 260, 240, 257, 258, 249, 251, 243, 259, + 253, 244, 248, 264, 257, 262, 255, 261, 263, 258, + 266, 260, 264, 261, 265, 269, 259, 270, 263, 277, + 265, 272, 273, 273, 279, 266, 281, 272, 274, 274, + 275, 275, 276, 276, 269, 278, 287, 277, 286, 282, + 288, 270, 279, 278, 281, 282, 286, 289, 290, 292, + 293, 291, 294, 295, 290, 296, 297, 303, 304, 295, + 287, 299, 300, 289, 288, 291, 298, 293, 294, 305, + + 300, 299, 298, 306, 309, 296, 312, 292, 297, 310, + 313, 303, 304, 314, 315, 310, 312, 318, 326, 316, + 309, 317, 305, 319, 305, 323, 324, 327, 306, 328, + 330, 332, 313, 315, 316, 314, 318, 317, 333, 319, + 330, 334, 324, 326, 323, 332, 333, 335, 328, 336, + 337, 327, 339, 340, 606, 341, 342, 335, 344, 336, + 337, 345, 334, 348, 340, 341, 350, 342, 344, 345, + 347, 335, 352, 336, 350, 355, 339, 356, 359, 348, + 347, 357, 352, 358, 359, 360, 355, 362, 363, 356, + 364, 365, 357, 367, 370, 369, 375, 358, 374, 377, + + 592, 589, 364, 360, 374, 375, 369, 378, 370, 362, + 363, 382, 384, 380, 379, 378, 385, 367, 369, 365, + 379, 380, 377, 381, 383, 386, 387, 388, 389, 381, + 390, 383, 384, 382, 392, 386, 385, 397, 390, 395, + 396, 400, 392, 399, 387, 401, 389, 398, 402, 406, + 403, 388, 404, 395, 396, 397, 408, 398, 400, 399, + 412, 407, 404, 409, 408, 410, 402, 406, 411, 401, + 403, 407, 414, 409, 412, 410, 415, 423, 411, 424, + 428, 425, 427, 432, 429, 435, 438, 439, 436, 437, + 424, 414, 441, 423, 429, 427, 436, 442, 437, 439, + + 415, 425, 443, 432, 428, 444, 445, 447, 443, 435, + 438, 442, 448, 450, 451, 452, 441, 453, 454, 455, + 456, 447, 451, 461, 445, 466, 471, 453, 460, 444, + 584, 450, 465, 460, 460, 468, 448, 478, 455, 456, + 465, 454, 466, 469, 452, 468, 470, 461, 473, 479, + 471, 480, 470, 469, 482, 483, 473, 489, 495, 478, + 490, 496, 498, 497, 482, 499, 483, 479, 501, 480, + 503, 489, 497, 490, 495, 506, 498, 507, 508, 509, + 510, 512, 513, 499, 496, 514, 515, 516, 517, 503, + 510, 512, 501, 518, 519, 509, 521, 506, 517, 507, + + 513, 514, 515, 522, 523, 508, 524, 525, 526, 516, + 523, 527, 524, 522, 528, 529, 518, 525, 519, 527, + 531, 534, 521, 532, 533, 536, 537, 529, 538, 539, + 545, 534, 526, 554, 546, 543, 548, 547, 528, 539, + 545, 536, 546, 548, 537, 531, 550, 532, 533, 543, + 551, 552, 538, 547, 550, 557, 551, 554, 558, 559, + 560, 557, 561, 562, 563, 552, 560, 564, 558, 566, + 565, 567, 563, 568, 569, 571, 573, 567, 572, 561, + 569, 574, 575, 559, 565, 566, 577, 576, 579, 568, + 571, 564, 575, 562, 580, 572, 573, 576, 581, 582, + + 583, 585, 586, 587, 580, 574, 588, 593, 590, 591, + 577, 585, 594, 596, 581, 582, 583, 587, 579, 591, + 594, 595, 597, 593, 588, 599, 586, 590, 598, 600, + 601, 596, 602, 603, 604, 595, 605, 607, 611, 601, + 602, 603, 613, 617, 597, 578, 611, 598, 570, 599, + 556, 600, 613, 555, 553, 607, 549, 544, 542, 541, + 605, 540, 535, 530, 604, 617, 620, 620, 620, 620, + 620, 620, 620, 620, 621, 520, 621, 621, 621, 621, + 622, 511, 622, 622, 505, 622, 624, 504, 624, 624, + 624, 624, 624, 624, 625, 502, 625, 625, 500, 625, + + 627, 627, 627, 627, 627, 627, 627, 627, 628, 494, + 628, 629, 629, 629, 493, 492, 491, 488, 487, 486, + 485, 484, 481, 477, 476, 475, 474, 472, 467, 464, + 463, 462, 459, 458, 457, 449, 446, 440, 434, 433, + 431, 430, 426, 422, 421, 420, 419, 418, 417, 416, + 413, 405, 394, 393, 391, 376, 373, 371, 368, 366, + 361, 354, 353, 351, 349, 346, 343, 338, 331, 325, + 322, 321, 320, 311, 308, 307, 302, 301, 285, 284, + 283, 280, 268, 256, 254, 252, 250, 247, 246, 245, + 236, 233, 232, 228, 226, 225, 224, 216, 215, 212, + + 211, 209, 208, 207, 206, 205, 204, 202, 201, 187, + 186, 185, 169, 162, 157, 155, 152, 149, 148, 144, + 140, 122, 96, 85, 72, 61, 52, 49, 46, 45, + 40, 38, 14, 8, 7, 3, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 619, 619 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -1076,7 +1085,7 @@ using namespace llvm; /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 1080 "UpgradeLexer.cpp" +#line 1089 "UpgradeLexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1230,7 +1239,7 @@ YY_DECL #line 189 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -#line 1234 "UpgradeLexer.cpp" +#line 1243 "UpgradeLexer.cpp" if ( yy_init ) { @@ -1278,14 +1287,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 >= 610 ) + if ( yy_current_state >= 620 ) 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 != 609 ); + while ( yy_current_state != 619 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1569,480 +1578,505 @@ YY_RULE_SETUP case 50: YY_RULE_SETUP #line 243 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(SHORT, Type::Int16Ty, Signed); } +{ RET_TY(UBYTE, Type::Int8Ty, Unsigned); } YY_BREAK case 51: YY_RULE_SETUP #line 244 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(USHORT, Type::Int16Ty, Unsigned); } +{ RET_TY(SHORT, Type::Int16Ty, Signed); } YY_BREAK case 52: YY_RULE_SETUP #line 245 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(INT, Type::Int32Ty, Signed); } +{ RET_TY(USHORT, Type::Int16Ty, Unsigned); } YY_BREAK case 53: YY_RULE_SETUP #line 246 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(UINT, Type::Int32Ty, Unsigned); } +{ RET_TY(USHORT, Type::Int16Ty, Unsigned); } YY_BREAK case 54: YY_RULE_SETUP #line 247 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LONG, Type::Int64Ty, Signed); } +{ RET_TY(INT, Type::Int32Ty, Signed); } YY_BREAK case 55: YY_RULE_SETUP #line 248 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(ULONG, Type::Int64Ty, Unsigned); } +{ RET_TY(UINT, Type::Int32Ty, Unsigned); } YY_BREAK case 56: YY_RULE_SETUP #line 249 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(VOID, Type::VoidTy, Signless ); } +{ RET_TY(UINT, Type::Int32Ty, Unsigned); } YY_BREAK case 57: YY_RULE_SETUP #line 250 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(BOOL, Type::Int1Ty, Unsigned ); } +{ RET_TY(LONG, Type::Int64Ty, Signed); } YY_BREAK case 58: YY_RULE_SETUP #line 251 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(FLOAT, Type::FloatTy, Signless ); } +{ RET_TY(ULONG, Type::Int64Ty, Unsigned); } YY_BREAK case 59: YY_RULE_SETUP #line 252 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(DOUBLE, Type::DoubleTy,Signless); } +{ RET_TY(ULONG, Type::Int64Ty, Unsigned); } YY_BREAK case 60: YY_RULE_SETUP #line 253 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LABEL, Type::LabelTy, Signless ); } +{ RET_TY(VOID, Type::VoidTy, Signless ); } YY_BREAK case 61: YY_RULE_SETUP #line 254 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return TYPE; } +{ RET_TY(BOOL, Type::Int1Ty, Unsigned ); } YY_BREAK case 62: YY_RULE_SETUP #line 255 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return OPAQUE; } +{ RET_TY(BOOL, Type::Int1Ty, Unsigned ); } YY_BREAK case 63: YY_RULE_SETUP -#line 257 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, AddOp, ADD); } +#line 256 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(FLOAT, Type::FloatTy, Signless ); } YY_BREAK case 64: YY_RULE_SETUP -#line 258 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SubOp, SUB); } +#line 257 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(DOUBLE, Type::DoubleTy,Signless); } YY_BREAK case 65: YY_RULE_SETUP -#line 259 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, MulOp, MUL); } +#line 258 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(LABEL, Type::LabelTy, Signless ); } YY_BREAK case 66: YY_RULE_SETUP -#line 260 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, DivOp, DIV); } +#line 259 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return TYPE; } YY_BREAK case 67: YY_RULE_SETUP -#line 261 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, UDivOp, UDIV); } +#line 260 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return OPAQUE; } YY_BREAK case 68: YY_RULE_SETUP #line 262 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SDivOp, SDIV); } +{ RET_TOK(BinaryOpVal, AddOp, ADD); } YY_BREAK case 69: YY_RULE_SETUP #line 263 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, FDivOp, FDIV); } +{ RET_TOK(BinaryOpVal, SubOp, SUB); } YY_BREAK case 70: YY_RULE_SETUP #line 264 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, RemOp, REM); } +{ RET_TOK(BinaryOpVal, MulOp, MUL); } YY_BREAK case 71: YY_RULE_SETUP #line 265 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, URemOp, UREM); } +{ RET_TOK(BinaryOpVal, DivOp, DIV); } YY_BREAK case 72: YY_RULE_SETUP #line 266 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SRemOp, SREM); } +{ RET_TOK(BinaryOpVal, UDivOp, UDIV); } YY_BREAK case 73: YY_RULE_SETUP #line 267 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, FRemOp, FREM); } +{ RET_TOK(BinaryOpVal, SDivOp, SDIV); } YY_BREAK case 74: YY_RULE_SETUP #line 268 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, AndOp, AND); } +{ RET_TOK(BinaryOpVal, FDivOp, FDIV); } YY_BREAK case 75: YY_RULE_SETUP #line 269 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, OrOp , OR ); } +{ RET_TOK(BinaryOpVal, RemOp, REM); } YY_BREAK case 76: YY_RULE_SETUP #line 270 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, XorOp, XOR); } +{ RET_TOK(BinaryOpVal, URemOp, UREM); } YY_BREAK case 77: YY_RULE_SETUP #line 271 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SetNE, SETNE); } +{ RET_TOK(BinaryOpVal, SRemOp, SREM); } YY_BREAK case 78: YY_RULE_SETUP #line 272 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); } +{ RET_TOK(BinaryOpVal, FRemOp, FREM); } YY_BREAK case 79: YY_RULE_SETUP #line 273 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SetLT, SETLT); } +{ RET_TOK(BinaryOpVal, AndOp, AND); } YY_BREAK case 80: YY_RULE_SETUP #line 274 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SetGT, SETGT); } +{ RET_TOK(BinaryOpVal, OrOp , OR ); } YY_BREAK case 81: YY_RULE_SETUP #line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SetLE, SETLE); } +{ RET_TOK(BinaryOpVal, XorOp, XOR); } YY_BREAK case 82: YY_RULE_SETUP #line 276 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, SetGE, SETGE); } +{ RET_TOK(BinaryOpVal, SetNE, SETNE); } YY_BREAK case 83: YY_RULE_SETUP #line 277 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, ShlOp, SHL); } +{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); } YY_BREAK case 84: YY_RULE_SETUP #line 278 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, ShrOp, SHR); } +{ RET_TOK(BinaryOpVal, SetLT, SETLT); } YY_BREAK case 85: YY_RULE_SETUP #line 279 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, LShrOp, LSHR); } +{ RET_TOK(BinaryOpVal, SetGT, SETGT); } YY_BREAK case 86: YY_RULE_SETUP #line 280 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(BinaryOpVal, AShrOp, ASHR); } +{ RET_TOK(BinaryOpVal, SetLE, SETLE); } YY_BREAK case 87: YY_RULE_SETUP -#line 282 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, ICmpOp, ICMP); } +#line 281 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(BinaryOpVal, SetGE, SETGE); } YY_BREAK case 88: YY_RULE_SETUP -#line 283 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, FCmpOp, FCMP); } +#line 282 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(BinaryOpVal, ShlOp, SHL); } YY_BREAK case 89: YY_RULE_SETUP -#line 285 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return EQ; } +#line 283 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(BinaryOpVal, ShrOp, SHR); } YY_BREAK case 90: YY_RULE_SETUP -#line 286 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return NE; } +#line 284 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(BinaryOpVal, LShrOp, LSHR); } YY_BREAK case 91: YY_RULE_SETUP -#line 287 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return SLT; } +#line 285 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(BinaryOpVal, AShrOp, ASHR); } YY_BREAK case 92: YY_RULE_SETUP -#line 288 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return SGT; } +#line 287 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OtherOpVal, ICmpOp, ICMP); } YY_BREAK case 93: YY_RULE_SETUP -#line 289 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return SLE; } +#line 288 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OtherOpVal, FCmpOp, FCMP); } YY_BREAK case 94: YY_RULE_SETUP #line 290 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return SGE; } +{ return EQ; } YY_BREAK case 95: YY_RULE_SETUP #line 291 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return ULT; } +{ return NE; } YY_BREAK case 96: YY_RULE_SETUP #line 292 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return UGT; } +{ return SLT; } YY_BREAK case 97: YY_RULE_SETUP #line 293 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return ULE; } +{ return SGT; } YY_BREAK case 98: YY_RULE_SETUP #line 294 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return UGE; } +{ return SLE; } YY_BREAK case 99: YY_RULE_SETUP #line 295 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return OEQ; } +{ return SGE; } YY_BREAK case 100: YY_RULE_SETUP #line 296 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return ONE; } +{ return ULT; } YY_BREAK case 101: YY_RULE_SETUP #line 297 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return OLT; } +{ return UGT; } YY_BREAK case 102: YY_RULE_SETUP #line 298 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return OGT; } +{ return ULE; } YY_BREAK case 103: YY_RULE_SETUP #line 299 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return OLE; } +{ return UGE; } YY_BREAK case 104: YY_RULE_SETUP #line 300 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return OGE; } +{ return OEQ; } YY_BREAK case 105: YY_RULE_SETUP #line 301 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return ORD; } +{ return ONE; } YY_BREAK case 106: YY_RULE_SETUP #line 302 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return UNO; } +{ return OLT; } YY_BREAK case 107: YY_RULE_SETUP #line 303 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return UEQ; } +{ return OGT; } YY_BREAK case 108: YY_RULE_SETUP #line 304 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return UNE; } +{ return OLE; } YY_BREAK case 109: YY_RULE_SETUP -#line 306 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, PHIOp, PHI_TOK); } +#line 305 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return OGE; } YY_BREAK case 110: YY_RULE_SETUP -#line 307 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, CallOp, CALL); } +#line 306 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return ORD; } YY_BREAK case 111: YY_RULE_SETUP -#line 308 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, CastOp, CAST); } +#line 307 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return UNO; } YY_BREAK case 112: YY_RULE_SETUP -#line 309 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, TruncOp, TRUNC); } +#line 308 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return UEQ; } YY_BREAK case 113: YY_RULE_SETUP -#line 310 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, ZExtOp , ZEXT); } +#line 309 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return UNE; } YY_BREAK case 114: YY_RULE_SETUP #line 311 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, SExtOp, SEXT); } +{ RET_TOK(OtherOpVal, PHIOp, PHI_TOK); } YY_BREAK case 115: YY_RULE_SETUP #line 312 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, FPTruncOp, FPTRUNC); } +{ RET_TOK(OtherOpVal, CallOp, CALL); } YY_BREAK case 116: YY_RULE_SETUP #line 313 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, FPExtOp, FPEXT); } +{ RET_TOK(CastOpVal, CastOp, CAST); } YY_BREAK case 117: YY_RULE_SETUP #line 314 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, FPToUIOp, FPTOUI); } +{ RET_TOK(CastOpVal, TruncOp, TRUNC); } YY_BREAK case 118: YY_RULE_SETUP #line 315 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, FPToSIOp, FPTOSI); } +{ RET_TOK(CastOpVal, ZExtOp , ZEXT); } YY_BREAK case 119: YY_RULE_SETUP #line 316 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, UIToFPOp, UITOFP); } +{ RET_TOK(CastOpVal, SExtOp, SEXT); } YY_BREAK case 120: YY_RULE_SETUP #line 317 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, SIToFPOp, SITOFP); } +{ RET_TOK(CastOpVal, FPTruncOp, FPTRUNC); } YY_BREAK case 121: YY_RULE_SETUP #line 318 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, PtrToIntOp, PTRTOINT); } +{ RET_TOK(CastOpVal, FPExtOp, FPEXT); } YY_BREAK case 122: YY_RULE_SETUP #line 319 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, IntToPtrOp, INTTOPTR); } +{ RET_TOK(CastOpVal, FPToUIOp, FPTOUI); } YY_BREAK case 123: YY_RULE_SETUP #line 320 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(CastOpVal, BitCastOp, BITCAST); } +{ RET_TOK(CastOpVal, FPToSIOp, FPTOSI); } YY_BREAK case 124: YY_RULE_SETUP #line 321 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, SelectOp, SELECT); } +{ RET_TOK(CastOpVal, UIToFPOp, UITOFP); } YY_BREAK case 125: YY_RULE_SETUP #line 322 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return VANEXT_old; } +{ RET_TOK(CastOpVal, SIToFPOp, SITOFP); } YY_BREAK case 126: YY_RULE_SETUP #line 323 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return VAARG_old; } +{ RET_TOK(CastOpVal, PtrToIntOp, PTRTOINT); } YY_BREAK case 127: YY_RULE_SETUP #line 324 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, VAArg , VAARG); } +{ RET_TOK(CastOpVal, IntToPtrOp, INTTOPTR); } YY_BREAK case 128: YY_RULE_SETUP #line 325 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TermOpVal, RetOp, RET); } +{ RET_TOK(CastOpVal, BitCastOp, BITCAST); } YY_BREAK case 129: YY_RULE_SETUP #line 326 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TermOpVal, BrOp, BR); } +{ RET_TOK(OtherOpVal, SelectOp, SELECT); } YY_BREAK case 130: YY_RULE_SETUP #line 327 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TermOpVal, SwitchOp, SWITCH); } +{ return VANEXT_old; } YY_BREAK case 131: YY_RULE_SETUP #line 328 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TermOpVal, InvokeOp, INVOKE); } +{ return VAARG_old; } YY_BREAK case 132: YY_RULE_SETUP #line 329 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ return UNWIND; } +{ RET_TOK(OtherOpVal, VAArg , VAARG); } YY_BREAK case 133: YY_RULE_SETUP #line 330 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TermOpVal, UnreachableOp, UNREACHABLE); } +{ RET_TOK(TermOpVal, RetOp, RET); } YY_BREAK case 134: YY_RULE_SETUP -#line 332 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(MemOpVal, MallocOp, MALLOC); } +#line 331 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(TermOpVal, BrOp, BR); } YY_BREAK case 135: YY_RULE_SETUP -#line 333 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(MemOpVal, AllocaOp, ALLOCA); } +#line 332 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(TermOpVal, SwitchOp, SWITCH); } YY_BREAK case 136: YY_RULE_SETUP -#line 334 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(MemOpVal, FreeOp, FREE); } +#line 333 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(TermOpVal, InvokeOp, INVOKE); } YY_BREAK case 137: YY_RULE_SETUP -#line 335 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(MemOpVal, LoadOp, LOAD); } +#line 334 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ return UNWIND; } YY_BREAK case 138: YY_RULE_SETUP -#line 336 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(MemOpVal, StoreOp, STORE); } +#line 335 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(TermOpVal, UnreachableOp, UNREACHABLE); } YY_BREAK case 139: YY_RULE_SETUP #line 337 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(MemOpVal, GetElementPtrOp, GETELEMENTPTR); } +{ RET_TOK(MemOpVal, MallocOp, MALLOC); } YY_BREAK case 140: YY_RULE_SETUP -#line 339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, ExtractElementOp, EXTRACTELEMENT); } +#line 338 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(MemOpVal, AllocaOp, ALLOCA); } YY_BREAK case 141: YY_RULE_SETUP -#line 340 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, InsertElementOp, INSERTELEMENT); } +#line 339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(MemOpVal, FreeOp, FREE); } YY_BREAK case 142: YY_RULE_SETUP -#line 341 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OtherOpVal, ShuffleVectorOp, SHUFFLEVECTOR); } +#line 340 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(MemOpVal, LoadOp, LOAD); } YY_BREAK case 143: YY_RULE_SETUP +#line 341 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(MemOpVal, StoreOp, STORE); } + YY_BREAK +case 144: +YY_RULE_SETUP +#line 342 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(MemOpVal, GetElementPtrOp, GETELEMENTPTR); } + YY_BREAK +case 145: +YY_RULE_SETUP #line 344 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OtherOpVal, ExtractElementOp, EXTRACTELEMENT); } + YY_BREAK +case 146: +YY_RULE_SETUP +#line 345 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OtherOpVal, InsertElementOp, INSERTELEMENT); } + YY_BREAK +case 147: +YY_RULE_SETUP +#line 346 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OtherOpVal, ShuffleVectorOp, SHUFFLEVECTOR); } + YY_BREAK +case 148: +YY_RULE_SETUP +#line 349 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { UnEscapeLexed(yytext+1); Upgradelval.StrVal = strdup(yytext+1); // Skip % return VAR_ID; } YY_BREAK -case 144: +case 149: YY_RULE_SETUP -#line 349 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 354 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { yytext[strlen(yytext)-1] = 0; // nuke colon UnEscapeLexed(yytext); @@ -2050,9 +2084,9 @@ YY_RULE_SETUP return LABELSTR; } YY_BREAK -case 145: +case 150: YY_RULE_SETUP -#line 355 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 360 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { yytext[strlen(yytext)-2] = 0; // nuke colon, end quote UnEscapeLexed(yytext+1); @@ -2060,9 +2094,9 @@ YY_RULE_SETUP return LABELSTR; } YY_BREAK -case 146: +case 151: YY_RULE_SETUP -#line 362 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 367 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.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 @@ -2073,14 +2107,14 @@ YY_RULE_SETUP return STRINGCONSTANT; } YY_BREAK -case 147: +case 152: YY_RULE_SETUP -#line 373 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 378 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { Upgradelval.UInt64Val = atoull(yytext); return EUINT64VAL; } YY_BREAK -case 148: +case 153: YY_RULE_SETUP -#line 374 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 379 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { uint64_t Val = atoull(yytext+1); // +1: we have bigger negative range @@ -2090,17 +2124,17 @@ YY_RULE_SETUP return ESINT64VAL; } YY_BREAK -case 149: +case 154: YY_RULE_SETUP -#line 382 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 387 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { Upgradelval.UInt64Val = HexIntToVal(yytext+3); return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL; } YY_BREAK -case 150: +case 155: YY_RULE_SETUP -#line 387 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 392 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { uint64_t Val = atoull(yytext+1); if ((unsigned)Val != Val) @@ -2109,9 +2143,9 @@ YY_RULE_SETUP return UINTVAL; } YY_BREAK -case 151: +case 156: YY_RULE_SETUP -#line 394 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 399 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { uint64_t Val = atoull(yytext+2); // +1: we have bigger negative range @@ -2121,18 +2155,18 @@ YY_RULE_SETUP return SINTVAL; } YY_BREAK -case 152: +case 157: YY_RULE_SETUP -#line 403 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 408 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { Upgradelval.FPVal = atof(yytext); return FPVAL; } YY_BREAK -case 153: +case 158: YY_RULE_SETUP -#line 404 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 409 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { Upgradelval.FPVal = HexToFP(yytext); return FPVAL; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 406 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 411 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -2141,22 +2175,22 @@ case YY_STATE_EOF(INITIAL): return EOF; } YY_BREAK -case 154: +case 159: YY_RULE_SETUP -#line 414 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 419 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore whitespace */ } YY_BREAK -case 155: +case 160: YY_RULE_SETUP -#line 415 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 420 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { return yytext[0]; } YY_BREAK -case 156: +case 161: YY_RULE_SETUP -#line 417 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 422 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2160 "UpgradeLexer.cpp" +#line 2194 "UpgradeLexer.cpp" case YY_END_OF_BUFFER: { @@ -2443,7 +2477,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 >= 610 ) + if ( yy_current_state >= 620 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2473,11 +2507,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 >= 610 ) + if ( yy_current_state >= 620 ) 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 == 609); + yy_is_jam = (yy_current_state == 619); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -3034,5 +3068,5 @@ int main() return 0; } #endif -#line 417 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +#line 422 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" diff --git a/tools/llvm-upgrade/UpgradeLexer.l.cvs b/tools/llvm-upgrade/UpgradeLexer.l.cvs index f2757c4..ebab6db 100644 --- a/tools/llvm-upgrade/UpgradeLexer.l.cvs +++ b/tools/llvm-upgrade/UpgradeLexer.l.cvs @@ -152,14 +152,14 @@ using namespace llvm; Comment ;.* /* Variable(Value) identifiers start with a % sign */ -VarID %[-a-zA-Z$._][-a-zA-Z$._0-9]* +VarID [%@][-a-zA-Z$._][-a-zA-Z$._0-9]* /* Label identifiers end with a colon */ Label [-a-zA-Z$._0-9]+: QuoteLabel \"[^\"]+\": /* Quoted names can contain any character except " and \ */ -StringConstant \"[^\"]*\" +StringConstant @?\"[^\"]*\" /* [PN]Integer: match positive and negative literal integer values that @@ -240,14 +240,19 @@ x86_fastcallcc { return X86_FASTCALLCC_TOK; } sbyte { RET_TY(SBYTE, Type::Int8Ty, Signed); } ubyte { RET_TY(UBYTE, Type::Int8Ty, Unsigned); } +i8 { RET_TY(UBYTE, Type::Int8Ty, Unsigned); } short { RET_TY(SHORT, Type::Int16Ty, Signed); } ushort { RET_TY(USHORT, Type::Int16Ty, Unsigned); } +i16 { RET_TY(USHORT, Type::Int16Ty, Unsigned); } int { RET_TY(INT, Type::Int32Ty, Signed); } uint { RET_TY(UINT, Type::Int32Ty, Unsigned); } +i32 { RET_TY(UINT, Type::Int32Ty, Unsigned); } long { RET_TY(LONG, Type::Int64Ty, Signed); } ulong { RET_TY(ULONG, Type::Int64Ty, Unsigned); } +i64 { RET_TY(ULONG, Type::Int64Ty, Unsigned); } void { RET_TY(VOID, Type::VoidTy, Signless ); } bool { RET_TY(BOOL, Type::Int1Ty, Unsigned ); } +i1 { RET_TY(BOOL, Type::Int1Ty, Unsigned ); } float { RET_TY(FLOAT, Type::FloatTy, Signless ); } double { RET_TY(DOUBLE, Type::DoubleTy,Signless); } label { RET_TY(LABEL, Type::LabelTy, Signless ); } diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs index cee36df..239f6a4 100644 --- a/tools/llvm-upgrade/UpgradeParser.cpp.cvs +++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs @@ -2241,16 +2241,16 @@ static const unsigned short int yyrline[] = 2358, 2359, 2360, 2361, 2362, 2378, 2398, 2400, 2402, 2402, 2409, 2409, 2416, 2416, 2423, 2423, 2431, 2433, 2435, 2440, 2454, 2455, 2459, 2462, 2470, 2474, 2481, 2485, 2489, 2493, - 2501, 2501, 2505, 2506, 2510, 2518, 2523, 2531, 2532, 2539, - 2546, 2550, 2686, 2686, 2690, 2700, 2700, 2704, 2708, 2710, - 2711, 2715, 2715, 2727, 2728, 2733, 2734, 2735, 2736, 2737, - 2738, 2739, 2740, 2741, 2762, 2765, 2780, 2781, 2786, 2786, - 2794, 2803, 2806, 2815, 2825, 2830, 2839, 2850, 2850, 2853, - 2856, 2859, 2863, 2869, 2884, 2890, 2946, 2949, 2955, 2965, - 2978, 3007, 3015, 3023, 3027, 3034, 3035, 3039, 3042, 3048, - 3065, 3081, 3095, 3107, 3119, 3130, 3148, 3157, 3166, 3173, - 3194, 3218, 3224, 3230, 3236, 3252, 3330, 3338, 3339, 3343, - 3344, 3348, 3354, 3360, 3366, 3372, 3379, 3391, 3405 + 2501, 2501, 2506, 2507, 2511, 2519, 2524, 2532, 2533, 2540, + 2547, 2551, 2711, 2711, 2715, 2725, 2725, 2729, 2733, 2735, + 2736, 2740, 2740, 2752, 2753, 2758, 2759, 2760, 2761, 2762, + 2763, 2764, 2765, 2766, 2787, 2790, 2805, 2806, 2811, 2811, + 2819, 2828, 2831, 2840, 2850, 2855, 2864, 2875, 2875, 2878, + 2881, 2884, 2888, 2894, 2909, 2915, 2971, 2974, 2980, 2990, + 3003, 3032, 3040, 3048, 3052, 3059, 3060, 3064, 3067, 3073, + 3090, 3106, 3120, 3132, 3144, 3155, 3173, 3182, 3191, 3198, + 3219, 3243, 3249, 3255, 3261, 3277, 3355, 3363, 3364, 3368, + 3369, 3373, 3379, 3385, 3391, 3397, 3404, 3416, 3430 }; #endif @@ -4980,12 +4980,12 @@ yyreduce: break; case 213: -#line 2506 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2507 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = 0; ;} break; case 214: -#line 2510 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2511 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[-1].TypeVal).T->get() == Type::VoidTy) error("void typed arguments are invalid"); @@ -4994,7 +4994,7 @@ yyreduce: break; case 215: -#line 2518 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2519 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ArgList) = (yyvsp[-2].ArgList); (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal)); @@ -5003,7 +5003,7 @@ yyreduce: break; case 216: -#line 2523 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2524 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ArgList) = new std::vector<std::pair<PATypeInfo,char*> >(); (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal)); @@ -5012,12 +5012,12 @@ yyreduce: break; case 217: -#line 2531 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2532 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ArgList) = (yyvsp[0].ArgList); ;} break; case 218: -#line 2532 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2533 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ArgList) = (yyvsp[-2].ArgList); PATypeInfo VoidTI; @@ -5028,7 +5028,7 @@ yyreduce: break; case 219: -#line 2539 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2540 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ArgList) = new std::vector<std::pair<PATypeInfo,char*> >(); PATypeInfo VoidTI; @@ -5039,12 +5039,12 @@ yyreduce: break; case 220: -#line 2546 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2547 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ArgList) = 0; ;} break; case 221: -#line 2550 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2551 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { UnEscapeLexed((yyvsp[-5].StrVal)); std::string FunctionName((yyvsp[-5].StrVal)); @@ -5123,10 +5123,34 @@ yyreduce: InsertValue(Fn, CurModule.Values); RenameMapKey Key = std::make_pair(FunctionName,PFT); CurModule.RenameMap[Key] = NewName; + } else if (Fn->hasInternalLinkage()) { + // The function we are creating conflicts in name with another function + // that has internal linkage. We'll rename that one quietly to get rid + // of the conflict. + Fn->setName(makeNameUnique(Fn->getName())); + RenameMapKey Key = std::make_pair(FunctionName,PFT); + CurModule.RenameMap[Key] = Fn->getName(); + + Fn = new Function(FT, GlobalValue::ExternalLinkage, FunctionName, + CurModule.CurrentModule); + + InsertValue(Fn, CurModule.Values); + } else if (CurFun.Linkage == GlobalValue::InternalLinkage) { + // The function we are creating has internal linkage and conflicts with + // another function of the same name. We'll just rename this one + // quietly because its internal linkage can't conflict with anything + // else. + std::string NewName = makeNameUnique(FunctionName); + Fn = new Function(FT, GlobalValue::ExternalLinkage, NewName, + CurModule.CurrentModule); + InsertValue(Fn, CurModule.Values); + RenameMapKey Key = std::make_pair(FunctionName,PFT); + CurModule.RenameMap[Key] = NewName; } else { - // The types are the same. Either the existing or the current function - // needs to be a forward declaration. If not, they're attempting to - // redefine a function. + // The types are the same and they are both external linkage. Either + // the existing or the current function needs to be a forward + // declaration. If not, they're attempting to redefine two external + // functions. This wasn't allowed in llvm 1.9 and it isn't allowed now. if (!CurFun.isDeclare && !Fn->isDeclaration()) error("Redefinition of function '" + FunctionName + "'"); @@ -5181,7 +5205,7 @@ yyreduce: break; case 224: -#line 2690 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -5192,29 +5216,29 @@ yyreduce: break; case 227: -#line 2704 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2729 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); ;} break; case 229: -#line 2710 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2735 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.Linkage = GlobalValue::DLLImportLinkage; ;} break; case 230: -#line 2711 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2736 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; ;} break; case 231: -#line 2715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.isDeclare = true; ;} break; case 232: -#line 2715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; CurFun.FunctionDone(); @@ -5223,57 +5247,57 @@ yyreduce: break; case 233: -#line 2727 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2752 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BoolVal) = false; ;} break; case 234: -#line 2728 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2753 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BoolVal) = true; ;} break; case 235: -#line 2733 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2758 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val)); ;} break; case 236: -#line 2734 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2759 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val)); ;} break; case 237: -#line 2735 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2760 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal)); ;} break; case 238: -#line 2736 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2761 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::get(Type::Int1Ty, true)); ;} break; case 239: -#line 2737 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2762 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::get(Type::Int1Ty, false)); ;} break; case 240: -#line 2738 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2763 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::createNull(); ;} break; case 241: -#line 2739 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2764 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::createUndef(); ;} break; case 242: -#line 2740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2765 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::createZeroInit(); ;} break; case 243: -#line 2741 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2766 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[-1].ConstVector))[0].C->getType(); int NumElements = (yyvsp[-1].ConstVector)->size(); @@ -5298,14 +5322,14 @@ yyreduce: break; case 244: -#line 2762 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2787 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal).C); ;} break; case 245: -#line 2765 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2790 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { char *End = UnEscapeLexed((yyvsp[-2].StrVal), true); std::string AsmStr = std::string((yyvsp[-2].StrVal), End); @@ -5318,17 +5342,17 @@ yyreduce: break; case 246: -#line 2780 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2805 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal)); ;} break; case 247: -#line 2781 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2806 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal)); ;} break; case 250: -#line 2794 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2819 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-1].TypeVal).T->get(); (yyval.ValueVal).S = (yyvsp[-1].TypeVal).S; @@ -5338,21 +5362,21 @@ yyreduce: break; case 251: -#line 2803 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2828 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); ;} break; case 252: -#line 2806 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2831 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); ;} break; case 253: -#line 2815 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2840 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal)); InsertValue((yyvsp[0].TermInstVal)); @@ -5363,7 +5387,7 @@ yyreduce: break; case 254: -#line 2825 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2850 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].InstVal).I) (yyvsp[-1].BasicBlockVal)->getInstList().push_back((yyvsp[0].InstVal).I); @@ -5372,7 +5396,7 @@ yyreduce: break; case 255: -#line 2830 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2855 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true); // Make sure to move the basic block to the correct location in the @@ -5385,7 +5409,7 @@ yyreduce: break; case 256: -#line 2839 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2864 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[0].StrVal)), true); // Make sure to move the basic block to the correct location in the @@ -5398,21 +5422,21 @@ yyreduce: break; case 259: -#line 2853 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2878 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Return with a result... (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal).V); ;} break; case 260: -#line 2856 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2881 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Return with no result... (yyval.TermInstVal) = new ReturnInst(); ;} break; case 261: -#line 2859 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2884 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Unconditional Branch... BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal)); (yyval.TermInstVal) = new BranchInst(tmpBB); @@ -5420,7 +5444,7 @@ yyreduce: break; case 262: -#line 2863 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2888 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal)); BasicBlock* tmpBBB = getBBVal((yyvsp[0].ValIDVal)); @@ -5430,7 +5454,7 @@ yyreduce: break; case 263: -#line 2869 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2894 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { Value* tmpVal = getVal((yyvsp[-7].PrimType).T, (yyvsp[-6].ValIDVal)); BasicBlock* tmpBB = getBBVal((yyvsp[-3].ValIDVal)); @@ -5449,7 +5473,7 @@ yyreduce: break; case 264: -#line 2884 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2909 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { Value* tmpVal = getVal((yyvsp[-6].PrimType).T, (yyvsp[-5].ValIDVal)); BasicBlock* tmpBB = getBBVal((yyvsp[-2].ValIDVal)); @@ -5459,7 +5483,7 @@ yyreduce: break; case 265: -#line 2891 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2916 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -5518,21 +5542,21 @@ yyreduce: break; case 266: -#line 2946 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2971 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TermInstVal) = new UnwindInst(); ;} break; case 267: -#line 2949 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2974 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TermInstVal) = new UnreachableInst(); ;} break; case 268: -#line 2955 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2980 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.JumpTable) = (yyvsp[-5].JumpTable); Constant *V = cast<Constant>(getExistingValue((yyvsp[-4].PrimType).T, (yyvsp[-3].ValIDVal))); @@ -5546,7 +5570,7 @@ yyreduce: break; case 269: -#line 2965 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 2990 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >(); Constant *V = cast<Constant>(getExistingValue((yyvsp[-4].PrimType).T, (yyvsp[-3].ValIDVal))); @@ -5560,7 +5584,7 @@ yyreduce: break; case 270: -#line 2978 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3003 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { bool omit = false; if ((yyvsp[-1].StrVal)) @@ -5592,7 +5616,7 @@ yyreduce: break; case 271: -#line 3007 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3032 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Used for PHI nodes (yyval.PHIList).P = new std::list<std::pair<Value*, BasicBlock*> >(); (yyval.PHIList).S = (yyvsp[-5].TypeVal).S; @@ -5604,7 +5628,7 @@ yyreduce: break; case 272: -#line 3015 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3040 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.PHIList) = (yyvsp[-6].PHIList); Value* tmpVal = getVal((yyvsp[-6].PHIList).P->front().first->getType(), (yyvsp[-3].ValIDVal)); @@ -5614,7 +5638,7 @@ yyreduce: break; case 273: -#line 3023 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3048 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Used for call statements, and memory insts... (yyval.ValueList) = new std::vector<ValueInfo>(); (yyval.ValueList)->push_back((yyvsp[0].ValueVal)); @@ -5622,7 +5646,7 @@ yyreduce: break; case 274: -#line 3027 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3052 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValueList) = (yyvsp[-2].ValueList); (yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal)); @@ -5630,26 +5654,26 @@ yyreduce: break; case 276: -#line 3035 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3060 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValueList) = 0; ;} break; case 277: -#line 3039 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3064 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BoolVal) = true; ;} break; case 278: -#line 3042 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3067 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BoolVal) = false; ;} break; case 279: -#line 3048 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3073 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type* Ty = (yyvsp[-3].TypeVal).T->get(); if (!Ty->isInteger() && !Ty->isFloatingPoint() && !isa<PackedType>(Ty)) @@ -5670,7 +5694,7 @@ yyreduce: break; case 280: -#line 3065 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3090 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-3].TypeVal).T->get(); if (!Ty->isInteger()) { @@ -5690,7 +5714,7 @@ yyreduce: break; case 281: -#line 3081 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3106 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type* Ty = (yyvsp[-3].TypeVal).T->get(); if(isa<PackedType>(Ty)) @@ -5708,7 +5732,7 @@ yyreduce: break; case 282: -#line 3095 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3120 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-3].TypeVal).T->get(); if (isa<PackedType>(Ty)) @@ -5724,7 +5748,7 @@ yyreduce: break; case 283: -#line 3107 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3132 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-3].TypeVal).T->get(); if (isa<PackedType>(Ty)) @@ -5740,7 +5764,7 @@ yyreduce: break; case 284: -#line 3119 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3144 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { warning("Use of obsolete 'not' instruction: Replacing with 'xor"); const Type *Ty = (yyvsp[0].ValueVal).V->getType(); @@ -5755,7 +5779,7 @@ yyreduce: break; case 285: -#line 3130 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3155 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[0].ValueVal).V->getType()->isInteger() || cast<IntegerType>((yyvsp[0].ValueVal).V->getType())->getBitWidth() != 8) @@ -5777,7 +5801,7 @@ yyreduce: break; case 286: -#line 3148 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3173 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *DstTy = (yyvsp[0].TypeVal).T->get(); if (!DstTy->isFirstClassType()) @@ -5790,7 +5814,7 @@ yyreduce: break; case 287: -#line 3157 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3182 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].ValueVal).V->getType()->isInteger() || cast<IntegerType>((yyvsp[-4].ValueVal).V->getType())->getBitWidth() != 1) @@ -5803,7 +5827,7 @@ yyreduce: break; case 288: -#line 3166 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3191 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[0].TypeVal).T->get(); NewVarArgs = true; @@ -5814,7 +5838,7 @@ yyreduce: break; case 289: -#line 3173 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3198 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type* ArgTy = (yyvsp[-2].ValueVal).V->getType(); const Type* DstTy = (yyvsp[0].TypeVal).T->get(); @@ -5839,7 +5863,7 @@ yyreduce: break; case 290: -#line 3194 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3219 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type* ArgTy = (yyvsp[-2].ValueVal).V->getType(); const Type* DstTy = (yyvsp[0].TypeVal).T->get(); @@ -5867,7 +5891,7 @@ yyreduce: break; case 291: -#line 3218 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3243 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V)) error("Invalid extractelement operands"); @@ -5877,7 +5901,7 @@ yyreduce: break; case 292: -#line 3224 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3249 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal).V, (yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V)) error("Invalid insertelement operands"); @@ -5887,7 +5911,7 @@ yyreduce: break; case 293: -#line 3230 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3255 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal).V, (yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V)) error("Invalid shufflevector operands"); @@ -5897,7 +5921,7 @@ yyreduce: break; case 294: -#line 3236 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3261 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[0].PHIList).P->front().first->getType(); if (!Ty->isFirstClassType()) @@ -5917,7 +5941,7 @@ yyreduce: break; case 295: -#line 3252 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3277 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Handle the short call syntax @@ -5999,34 +6023,34 @@ yyreduce: break; case 296: -#line 3330 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3355 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.InstVal) = (yyvsp[0].InstVal); ;} break; case 297: -#line 3338 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3363 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValueList) = (yyvsp[0].ValueList); ;} break; case 298: -#line 3339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3364 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValueList) = new std::vector<ValueInfo>(); ;} break; case 299: -#line 3343 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3368 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BoolVal) = true; ;} break; case 300: -#line 3344 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3369 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.BoolVal) = false; ;} break; case 301: -#line 3348 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3373 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-1].TypeVal).T->get(); (yyval.InstVal).S = (yyvsp[-1].TypeVal).S; @@ -6036,7 +6060,7 @@ yyreduce: break; case 302: -#line 3354 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3379 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-4].TypeVal).T->get(); (yyval.InstVal).S = (yyvsp[-4].TypeVal).S; @@ -6046,7 +6070,7 @@ yyreduce: break; case 303: -#line 3360 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3385 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-1].TypeVal).T->get(); (yyval.InstVal).S = (yyvsp[-1].TypeVal).S; @@ -6056,7 +6080,7 @@ yyreduce: break; case 304: -#line 3366 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3391 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-4].TypeVal).T->get(); (yyval.InstVal).S = (yyvsp[-4].TypeVal).S; @@ -6066,7 +6090,7 @@ yyreduce: break; case 305: -#line 3372 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3397 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *PTy = (yyvsp[0].ValueVal).V->getType(); if (!isa<PointerType>(PTy)) @@ -6077,7 +6101,7 @@ yyreduce: break; case 306: -#line 3379 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3404 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type* Ty = (yyvsp[-1].TypeVal).T->get(); (yyval.InstVal).S = (yyvsp[-1].TypeVal).S; @@ -6093,7 +6117,7 @@ yyreduce: break; case 307: -#line 3391 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3416 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal).T->get()); if (!PTy) @@ -6111,7 +6135,7 @@ yyreduce: break; case 308: -#line 3405 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3430 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type* Ty = (yyvsp[-2].TypeVal).T->get(); if (!isa<PointerType>(Ty)) @@ -6133,7 +6157,7 @@ yyreduce: } /* Line 1126 of yacc.c. */ -#line 6137 "UpgradeParser.tab.c" +#line 6161 "UpgradeParser.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -6401,7 +6425,7 @@ yyreturn: } -#line 3421 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 3446 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" int yyerror(const char *ErrorMsg) { diff --git a/tools/llvm-upgrade/UpgradeParser.y.cvs b/tools/llvm-upgrade/UpgradeParser.y.cvs index 3091ea3..ba9fe6d 100644 --- a/tools/llvm-upgrade/UpgradeParser.y.cvs +++ b/tools/llvm-upgrade/UpgradeParser.y.cvs @@ -1655,13 +1655,13 @@ OptAssign }; OptLinkage - : INTERNAL { $$ = GlobalValue::InternalLinkage; } + : INTERNAL { $$ = GlobalValue::InternalLinkage; } | LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } | WEAK { $$ = GlobalValue::WeakLinkage; } | APPENDING { $$ = GlobalValue::AppendingLinkage; } | DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } | DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } - | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } + | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } | /*empty*/ { $$ = GlobalValue::ExternalLinkage; } ; @@ -2499,6 +2499,7 @@ LibList Name : VAR_ID | STRINGCONSTANT + //| '@' STRINGCONSTANT { $$ = $2; } ; OptName @@ -2625,10 +2626,34 @@ FunctionHeaderH InsertValue(Fn, CurModule.Values); RenameMapKey Key = std::make_pair(FunctionName,PFT); CurModule.RenameMap[Key] = NewName; + } else if (Fn->hasInternalLinkage()) { + // The function we are creating conflicts in name with another function + // that has internal linkage. We'll rename that one quietly to get rid + // of the conflict. + Fn->setName(makeNameUnique(Fn->getName())); + RenameMapKey Key = std::make_pair(FunctionName,PFT); + CurModule.RenameMap[Key] = Fn->getName(); + + Fn = new Function(FT, GlobalValue::ExternalLinkage, FunctionName, + CurModule.CurrentModule); + + InsertValue(Fn, CurModule.Values); + } else if (CurFun.Linkage == GlobalValue::InternalLinkage) { + // The function we are creating has internal linkage and conflicts with + // another function of the same name. We'll just rename this one + // quietly because its internal linkage can't conflict with anything + // else. + std::string NewName = makeNameUnique(FunctionName); + Fn = new Function(FT, GlobalValue::ExternalLinkage, NewName, + CurModule.CurrentModule); + InsertValue(Fn, CurModule.Values); + RenameMapKey Key = std::make_pair(FunctionName,PFT); + CurModule.RenameMap[Key] = NewName; } else { - // The types are the same. Either the existing or the current function - // needs to be a forward declaration. If not, they're attempting to - // redefine a function. + // The types are the same and they are both external linkage. Either + // the existing or the current function needs to be a forward + // declaration. If not, they're attempting to redefine two external + // functions. This wasn't allowed in llvm 1.9 and it isn't allowed now. if (!CurFun.isDeclare && !Fn->isDeclaration()) error("Redefinition of function '" + FunctionName + "'"); |