From: Devang Patel Date: Mon, 29 Sep 2008 20:49:50 +0000 (+0000) Subject: Support inreg, zext and sext as return value attributes. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=652203f3f3b6dd5062bb450d189a80d8aaa51693;p=oota-llvm.git Support inreg, zext and sext as return value attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56801 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs index 097fdb1102b..6140f0b7b4c 100644 --- a/lib/AsmParser/llvmAsmParser.cpp.cvs +++ b/lib/AsmParser/llvmAsmParser.cpp.cvs @@ -224,14 +224,12 @@ READNONE = 405, READONLY = 406, GC = 407, - FNNOTE = 408, - INLINE = 409, - ALWAYS = 410, - NEVER = 411, - OPTIMIZEFORSIZE = 412, - DEFAULT = 413, - HIDDEN = 414, - PROTECTED = 415 + OPTSIZE = 408, + NOINLINE = 409, + ALWAYSINLINE = 410, + DEFAULT = 411, + HIDDEN = 412, + PROTECTED = 413 }; #endif /* Tokens. */ @@ -385,20 +383,18 @@ #define READNONE 405 #define READONLY 406 #define GC 407 -#define FNNOTE 408 -#define INLINE 409 -#define ALWAYS 410 -#define NEVER 411 -#define OPTIMIZEFORSIZE 412 -#define DEFAULT 413 -#define HIDDEN 414 -#define PROTECTED 415 +#define OPTSIZE 408 +#define NOINLINE 409 +#define ALWAYSINLINE 410 +#define DEFAULT 411 +#define HIDDEN 412 +#define PROTECTED 413 /* Copy the first part of user declarations. */ -#line 14 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 14 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -1375,7 +1371,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 970 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 970 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1424,7 +1420,7 @@ typedef union YYSTYPE llvm::FCmpInst::Predicate FPredicate; } /* Line 193 of yacc.c. */ -#line 1428 "llvmAsmParser.tab.c" +#line 1424 "llvmAsmParser.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1437,7 +1433,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 1441 "llvmAsmParser.tab.c" +#line 1437 "llvmAsmParser.tab.c" #ifdef short # undef short @@ -1652,20 +1648,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 44 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2344 +#define YYLAST 2439 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 175 +#define YYNTOKENS 173 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 90 +#define YYNNTS 89 /* YYNRULES -- Number of rules. */ -#define YYNRULES 353 +#define YYNRULES 354 /* YYNRULES -- Number of states. */ -#define YYNSTATES 720 +#define YYNSTATES 717 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 415 +#define YYMAXUTOK 413 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1677,15 +1673,15 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 161, 162, 165, 2, 164, 2, 2, 2, 2, 2, + 159, 160, 163, 2, 162, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 170, 163, 171, 2, 2, 2, 2, 2, 2, 2, + 168, 161, 169, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 167, 166, 169, 2, 2, 2, 2, 2, 174, + 2, 165, 164, 167, 2, 2, 2, 2, 2, 172, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 168, 2, 2, 172, 2, 173, 2, 2, 2, 2, + 166, 2, 2, 170, 2, 171, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1714,7 +1710,7 @@ static const yytype_uint8 yytranslate[] = 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160 + 155, 156, 157, 158 }; #if YYDEBUG @@ -1734,36 +1730,36 @@ static const yytype_uint16 yyprhs[] = 179, 181, 183, 184, 186, 188, 190, 192, 193, 195, 197, 198, 200, 202, 204, 206, 208, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 232, 233, 236, - 238, 240, 242, 244, 246, 248, 250, 251, 254, 256, - 260, 264, 268, 270, 271, 276, 277, 280, 281, 284, - 285, 289, 292, 293, 295, 296, 300, 302, 305, 307, - 309, 311, 313, 315, 317, 319, 321, 323, 327, 329, - 332, 338, 344, 350, 356, 360, 363, 369, 374, 377, - 379, 381, 383, 387, 389, 393, 395, 396, 398, 402, - 407, 411, 415, 420, 425, 429, 436, 442, 445, 448, - 451, 454, 457, 460, 463, 466, 469, 472, 475, 478, - 485, 491, 500, 507, 514, 522, 530, 538, 546, 553, - 562, 571, 577, 585, 589, 591, 593, 595, 597, 598, - 601, 608, 610, 611, 613, 616, 617, 621, 622, 626, - 630, 634, 638, 639, 648, 649, 659, 660, 670, 676, - 679, 683, 685, 689, 693, 697, 701, 703, 704, 710, - 714, 716, 720, 722, 723, 735, 737, 739, 744, 746, - 748, 751, 755, 756, 758, 760, 762, 764, 766, 768, - 770, 772, 774, 776, 778, 782, 786, 789, 792, 796, - 799, 805, 810, 812, 818, 820, 822, 824, 826, 828, - 830, 833, 835, 839, 842, 845, 849, 853, 856, 857, - 859, 862, 865, 869, 879, 889, 898, 913, 915, 917, - 924, 930, 933, 936, 943, 951, 956, 961, 968, 975, - 976, 977, 981, 984, 988, 991, 993, 999, 1005, 1012, - 1019, 1026, 1033, 1038, 1045, 1050, 1055, 1062, 1069, 1072, - 1081, 1083, 1085, 1086, 1090, 1097, 1101, 1108, 1111, 1117, - 1125, 1131, 1136, 1141 + 238, 240, 242, 243, 246, 248, 250, 252, 254, 256, + 258, 260, 262, 264, 266, 267, 270, 271, 274, 275, + 278, 279, 283, 286, 287, 289, 290, 294, 296, 299, + 301, 303, 305, 307, 309, 311, 313, 315, 317, 321, + 323, 326, 332, 338, 344, 350, 354, 357, 363, 368, + 371, 373, 375, 377, 381, 383, 387, 389, 390, 392, + 396, 401, 405, 409, 414, 419, 423, 430, 436, 439, + 442, 445, 448, 451, 454, 457, 460, 463, 466, 469, + 472, 479, 485, 494, 501, 508, 516, 524, 532, 540, + 547, 556, 565, 571, 579, 583, 585, 587, 589, 591, + 592, 595, 602, 604, 605, 607, 610, 611, 615, 616, + 620, 624, 628, 632, 633, 642, 643, 653, 654, 664, + 670, 673, 677, 679, 683, 687, 691, 695, 697, 698, + 704, 708, 710, 714, 716, 717, 729, 731, 733, 738, + 740, 742, 745, 749, 750, 752, 754, 756, 758, 760, + 762, 764, 766, 768, 770, 772, 776, 780, 783, 786, + 790, 793, 799, 804, 806, 812, 814, 816, 818, 820, + 822, 824, 827, 829, 833, 836, 839, 843, 847, 850, + 851, 853, 856, 859, 863, 873, 883, 892, 908, 910, + 912, 919, 925, 928, 931, 938, 946, 951, 956, 963, + 970, 971, 972, 976, 979, 983, 986, 988, 994, 1000, + 1007, 1014, 1021, 1028, 1033, 1040, 1045, 1050, 1057, 1064, + 1067, 1077, 1079, 1081, 1082, 1086, 1093, 1097, 1104, 1107, + 1113, 1121, 1127, 1132, 1137 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 225, 0, -1, 75, -1, 76, -1, 77, -1, 78, + 222, 0, -1, 75, -1, 76, -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, 82, -1, 83, -1, 87, -1, 88, -1, 89, -1, 84, -1, 85, -1, 86, -1, 120, -1, 121, -1, 122, -1, 123, @@ -1775,150 +1771,150 @@ static const yytype_int16 yyrhs[] = -1, 111, -1, 112, -1, 113, -1, 100, -1, 101, -1, 102, -1, 103, -1, 26, -1, 27, -1, 11, -1, 12, -1, 13, -1, 16, -1, 15, -1, 14, - -1, 19, -1, 22, -1, 24, -1, 183, -1, -1, - 55, 161, 4, 162, -1, -1, 183, 163, -1, -1, - 7, 163, -1, 20, -1, 23, -1, 190, -1, -1, - 188, 163, -1, 42, -1, 44, -1, 43, -1, 45, + -1, 19, -1, 22, -1, 24, -1, 181, -1, -1, + 55, 159, 4, 160, -1, -1, 181, 161, -1, -1, + 7, 161, -1, 20, -1, 23, -1, 188, -1, -1, + 186, 161, -1, 42, -1, 44, -1, 43, -1, 45, -1, 47, -1, 49, -1, 46, -1, 48, -1, 51, - -1, -1, 158, -1, 159, -1, 160, -1, -1, 46, + -1, -1, 156, -1, 157, -1, 158, -1, -1, 46, -1, 48, -1, -1, 42, -1, 43, -1, 44, -1, 47, -1, -1, 44, -1, 42, -1, -1, 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, 62, 4, -1, 142, -1, 121, -1, 141, -1, 122, -1, 144, -1, 145, -1, 147, -1, 148, -1, 149, -1, 54, - 4, -1, -1, 199, 198, -1, 143, -1, 146, -1, + 4, -1, -1, 197, 196, -1, 144, -1, 142, -1, + 141, -1, -1, 199, 198, -1, 143, -1, 146, -1, 144, -1, 142, -1, 141, -1, 150, -1, 151, -1, - -1, 201, 200, -1, 203, -1, 202, 164, 203, -1, - 154, 163, 156, -1, 154, 163, 155, -1, 157, -1, - -1, 153, 161, 202, 162, -1, -1, 152, 22, -1, - -1, 54, 4, -1, -1, 164, 54, 4, -1, 34, - 22, -1, -1, 208, -1, -1, 164, 211, 210, -1, - 208, -1, 54, 4, -1, 11, -1, 12, -1, 13, - -1, 16, -1, 15, -1, 14, -1, 17, -1, 50, - -1, 212, -1, 213, 185, 165, -1, 247, -1, 166, - 4, -1, 213, 161, 217, 162, 201, -1, 10, 161, - 217, 162, 201, -1, 167, 4, 168, 213, 169, -1, - 170, 4, 168, 213, 171, -1, 172, 218, 173, -1, - 172, 173, -1, 170, 172, 218, 173, 171, -1, 170, - 172, 173, 171, -1, 213, 199, -1, 213, -1, 10, - -1, 214, -1, 216, 164, 214, -1, 216, -1, 216, - 164, 39, -1, 39, -1, -1, 213, -1, 218, 164, - 213, -1, 213, 167, 221, 169, -1, 213, 167, 169, - -1, 213, 174, 22, -1, 213, 170, 221, 171, -1, - 213, 172, 221, 173, -1, 213, 172, 173, -1, 213, - 170, 172, 221, 173, 171, -1, 213, 170, 172, 173, - 171, -1, 213, 40, -1, 213, 41, -1, 213, 247, - -1, 213, 220, -1, 213, 25, -1, 181, 3, -1, - 181, 5, -1, 181, 4, -1, 181, 6, -1, 11, - 26, -1, 11, 27, -1, 182, 9, -1, 178, 161, - 219, 38, 213, 162, -1, 119, 161, 219, 259, 162, - -1, 133, 161, 219, 164, 219, 164, 219, 162, -1, - 176, 161, 219, 164, 219, 162, -1, 177, 161, 219, - 164, 219, 162, -1, 90, 179, 161, 219, 164, 219, - 162, -1, 91, 180, 161, 219, 164, 219, 162, -1, - 92, 179, 161, 219, 164, 219, 162, -1, 93, 180, - 161, 219, 164, 219, 162, -1, 135, 161, 219, 164, - 219, 162, -1, 136, 161, 219, 164, 219, 164, 219, - 162, -1, 137, 161, 219, 164, 219, 164, 219, 162, - -1, 139, 161, 219, 260, 162, -1, 140, 161, 219, - 164, 219, 260, 162, -1, 221, 164, 219, -1, 219, - -1, 32, -1, 33, -1, 37, -1, -1, 215, 247, - -1, 125, 161, 224, 38, 213, 162, -1, 226, -1, - -1, 227, -1, 226, 227, -1, -1, 31, 228, 243, - -1, -1, 30, 229, 244, -1, 60, 59, 233, -1, - 186, 18, 213, -1, 186, 18, 10, -1, -1, 189, - 193, 223, 222, 219, 185, 230, 210, -1, -1, 189, - 191, 193, 223, 222, 219, 185, 231, 210, -1, -1, - 189, 192, 193, 223, 222, 213, 185, 232, 210, -1, - 189, 193, 35, 196, 224, -1, 52, 234, -1, 56, - 163, 235, -1, 22, -1, 53, 163, 22, -1, 68, - 163, 22, -1, 167, 236, 169, -1, 236, 164, 22, - -1, 22, -1, -1, 237, 164, 213, 199, 184, -1, - 213, 199, 184, -1, 237, -1, 237, 164, 39, -1, - 39, -1, -1, 197, 215, 188, 161, 238, 162, 201, - 209, 206, 205, 204, -1, 28, -1, 172, -1, 195, - 193, 239, 240, -1, 29, -1, 173, -1, 251, 242, - -1, 194, 193, 239, -1, -1, 61, -1, 3, -1, - 4, -1, 5, -1, 6, -1, 9, -1, 26, -1, - 27, -1, 40, -1, 41, -1, 25, -1, 170, 221, - 171, -1, 167, 221, 169, -1, 167, 169, -1, 174, - 22, -1, 172, 221, 173, -1, 172, 173, -1, 170, - 172, 221, 173, 171, -1, 170, 172, 173, 171, -1, - 220, -1, 59, 245, 22, 164, 22, -1, 7, -1, - 8, -1, 183, -1, 188, -1, 247, -1, 246, -1, - 213, 248, -1, 249, -1, 250, 164, 249, -1, 251, - 252, -1, 241, 252, -1, 253, 186, 254, -1, 253, - 187, 254, -1, 253, 256, -1, -1, 21, -1, 69, - 250, -1, 69, 10, -1, 70, 17, 248, -1, 70, - 11, 248, 164, 17, 248, 164, 17, 248, -1, 71, - 181, 248, 164, 17, 248, 167, 255, 169, -1, 71, - 181, 248, 164, 17, 248, 167, 169, -1, 72, 197, - 215, 248, 161, 258, 162, 201, 38, 17, 248, 73, - 17, 248, -1, 73, -1, 74, -1, 255, 181, 246, - 164, 17, 248, -1, 181, 246, 164, 17, 248, -1, - 186, 262, -1, 187, 262, -1, 213, 167, 248, 164, - 248, 169, -1, 257, 164, 167, 248, 164, 248, 169, - -1, 213, 199, 248, 199, -1, 17, 199, 248, 199, - -1, 258, 164, 213, 199, 248, 199, -1, 258, 164, - 17, 199, 248, 199, -1, -1, -1, 259, 164, 249, - -1, 164, 4, -1, 260, 164, 4, -1, 58, 57, - -1, 57, -1, 176, 213, 248, 164, 248, -1, 177, - 213, 248, 164, 248, -1, 90, 179, 213, 248, 164, - 248, -1, 91, 180, 213, 248, 164, 248, -1, 92, - 179, 213, 248, 164, 248, -1, 93, 180, 213, 248, - 164, 248, -1, 178, 249, 38, 213, -1, 133, 249, - 164, 249, 164, 249, -1, 134, 249, 164, 213, -1, - 135, 249, 164, 249, -1, 136, 249, 164, 249, 164, - 249, -1, 137, 249, 164, 249, 164, 249, -1, 132, - 257, -1, 261, 197, 215, 248, 161, 258, 162, 201, - -1, 264, -1, 36, -1, -1, 114, 213, 207, -1, - 114, 213, 164, 11, 248, 207, -1, 115, 213, 207, - -1, 115, 213, 164, 11, 248, 207, -1, 116, 249, - -1, 263, 117, 213, 248, 207, -1, 263, 118, 249, - 164, 213, 248, 207, -1, 138, 213, 248, 164, 4, - -1, 119, 213, 248, 259, -1, 139, 213, 248, 260, - -1, 140, 213, 248, 164, 213, 248, 260, -1 + 154, -1, 155, -1, 153, -1, -1, 201, 200, -1, + -1, 152, 22, -1, -1, 54, 4, -1, -1, 162, + 54, 4, -1, 34, 22, -1, -1, 205, -1, -1, + 162, 208, 207, -1, 205, -1, 54, 4, -1, 11, + -1, 12, -1, 13, -1, 16, -1, 15, -1, 14, + -1, 17, -1, 50, -1, 209, -1, 210, 183, 163, + -1, 244, -1, 164, 4, -1, 210, 159, 214, 160, + 201, -1, 10, 159, 214, 160, 201, -1, 165, 4, + 166, 210, 167, -1, 168, 4, 166, 210, 169, -1, + 170, 215, 171, -1, 170, 171, -1, 168, 170, 215, + 171, 169, -1, 168, 170, 171, 169, -1, 210, 197, + -1, 210, -1, 10, -1, 211, -1, 213, 162, 211, + -1, 213, -1, 213, 162, 39, -1, 39, -1, -1, + 210, -1, 215, 162, 210, -1, 210, 165, 218, 167, + -1, 210, 165, 167, -1, 210, 172, 22, -1, 210, + 168, 218, 169, -1, 210, 170, 218, 171, -1, 210, + 170, 171, -1, 210, 168, 170, 218, 171, 169, -1, + 210, 168, 170, 171, 169, -1, 210, 40, -1, 210, + 41, -1, 210, 244, -1, 210, 217, -1, 210, 25, + -1, 179, 3, -1, 179, 5, -1, 179, 4, -1, + 179, 6, -1, 11, 26, -1, 11, 27, -1, 180, + 9, -1, 176, 159, 216, 38, 210, 160, -1, 119, + 159, 216, 256, 160, -1, 133, 159, 216, 162, 216, + 162, 216, 160, -1, 174, 159, 216, 162, 216, 160, + -1, 175, 159, 216, 162, 216, 160, -1, 90, 177, + 159, 216, 162, 216, 160, -1, 91, 178, 159, 216, + 162, 216, 160, -1, 92, 177, 159, 216, 162, 216, + 160, -1, 93, 178, 159, 216, 162, 216, 160, -1, + 135, 159, 216, 162, 216, 160, -1, 136, 159, 216, + 162, 216, 162, 216, 160, -1, 137, 159, 216, 162, + 216, 162, 216, 160, -1, 139, 159, 216, 257, 160, + -1, 140, 159, 216, 162, 216, 257, 160, -1, 218, + 162, 216, -1, 216, -1, 32, -1, 33, -1, 37, + -1, -1, 212, 244, -1, 125, 159, 221, 38, 210, + 160, -1, 223, -1, -1, 224, -1, 223, 224, -1, + -1, 31, 225, 240, -1, -1, 30, 226, 241, -1, + 60, 59, 230, -1, 184, 18, 210, -1, 184, 18, + 10, -1, -1, 187, 191, 220, 219, 216, 183, 227, + 207, -1, -1, 187, 189, 191, 220, 219, 216, 183, + 228, 207, -1, -1, 187, 190, 191, 220, 219, 210, + 183, 229, 207, -1, 187, 191, 35, 194, 221, -1, + 52, 231, -1, 56, 161, 232, -1, 22, -1, 53, + 161, 22, -1, 68, 161, 22, -1, 165, 233, 167, + -1, 233, 162, 22, -1, 22, -1, -1, 234, 162, + 210, 197, 182, -1, 210, 197, 182, -1, 234, -1, + 234, 162, 39, -1, 39, -1, -1, 195, 199, 212, + 186, 159, 235, 160, 201, 206, 203, 202, -1, 28, + -1, 170, -1, 193, 191, 236, 237, -1, 29, -1, + 171, -1, 248, 239, -1, 192, 191, 236, -1, -1, + 61, -1, 3, -1, 4, -1, 5, -1, 6, -1, + 9, -1, 26, -1, 27, -1, 40, -1, 41, -1, + 25, -1, 168, 218, 169, -1, 165, 218, 167, -1, + 165, 167, -1, 172, 22, -1, 170, 218, 171, -1, + 170, 171, -1, 168, 170, 218, 171, 169, -1, 168, + 170, 171, 169, -1, 217, -1, 59, 242, 22, 162, + 22, -1, 7, -1, 8, -1, 181, -1, 186, -1, + 244, -1, 243, -1, 210, 245, -1, 246, -1, 247, + 162, 246, -1, 248, 249, -1, 238, 249, -1, 250, + 184, 251, -1, 250, 185, 251, -1, 250, 253, -1, + -1, 21, -1, 69, 247, -1, 69, 10, -1, 70, + 17, 245, -1, 70, 11, 245, 162, 17, 245, 162, + 17, 245, -1, 71, 179, 245, 162, 17, 245, 165, + 252, 167, -1, 71, 179, 245, 162, 17, 245, 165, + 167, -1, 72, 195, 199, 212, 245, 159, 255, 160, + 201, 38, 17, 245, 73, 17, 245, -1, 73, -1, + 74, -1, 252, 179, 243, 162, 17, 245, -1, 179, + 243, 162, 17, 245, -1, 184, 259, -1, 185, 259, + -1, 210, 165, 245, 162, 245, 167, -1, 254, 162, + 165, 245, 162, 245, 167, -1, 210, 197, 245, 197, + -1, 17, 197, 245, 197, -1, 255, 162, 210, 197, + 245, 197, -1, 255, 162, 17, 197, 245, 197, -1, + -1, -1, 256, 162, 246, -1, 162, 4, -1, 257, + 162, 4, -1, 58, 57, -1, 57, -1, 174, 210, + 245, 162, 245, -1, 175, 210, 245, 162, 245, -1, + 90, 177, 210, 245, 162, 245, -1, 91, 178, 210, + 245, 162, 245, -1, 92, 177, 210, 245, 162, 245, + -1, 93, 178, 210, 245, 162, 245, -1, 176, 246, + 38, 210, -1, 133, 246, 162, 246, 162, 246, -1, + 134, 246, 162, 210, -1, 135, 246, 162, 246, -1, + 136, 246, 162, 246, 162, 246, -1, 137, 246, 162, + 246, 162, 246, -1, 132, 254, -1, 258, 195, 199, + 212, 245, 159, 255, 160, 201, -1, 261, -1, 36, + -1, -1, 114, 210, 204, -1, 114, 210, 162, 11, + 245, 204, -1, 115, 210, 204, -1, 115, 210, 162, + 11, 245, 204, -1, 116, 246, -1, 260, 117, 210, + 245, 204, -1, 260, 118, 246, 162, 210, 245, 204, + -1, 138, 210, 245, 162, 4, -1, 119, 210, 245, + 256, -1, 139, 210, 245, 257, -1, 140, 210, 245, + 162, 210, 245, 257, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, - 1140, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142, 1142, - 1142, 1142, 1142, 1143, 1143, 1143, 1143, 1143, 1143, 1146, - 1146, 1147, 1147, 1148, 1148, 1149, 1149, 1150, 1150, 1154, - 1154, 1155, 1155, 1156, 1156, 1157, 1157, 1158, 1158, 1159, - 1159, 1160, 1160, 1161, 1162, 1167, 1168, 1168, 1168, 1168, - 1168, 1170, 1170, 1170, 1171, 1171, 1173, 1174, 1178, 1182, - 1187, 1193, 1193, 1195, 1196, 1201, 1207, 1208, 1209, 1210, - 1211, 1212, 1216, 1217, 1218, 1222, 1223, 1224, 1225, 1229, - 1230, 1231, 1235, 1236, 1237, 1238, 1239, 1243, 1244, 1245, - 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1274, 1275, 1280, - 1281, 1282, 1283, 1284, 1285, 1286, 1289, 1290, 1295, 1296, - 1309, 1310, 1311, 1314, 1315, 1320, 1321, 1328, 1329, 1335, - 1336, 1345, 1353, 1354, 1359, 1360, 1361, 1366, 1379, 1379, - 1379, 1379, 1379, 1379, 1379, 1382, 1386, 1390, 1397, 1402, - 1410, 1439, 1464, 1469, 1479, 1489, 1493, 1503, 1510, 1519, - 1526, 1531, 1536, 1543, 1544, 1551, 1558, 1566, 1572, 1584, - 1612, 1628, 1655, 1683, 1709, 1729, 1755, 1775, 1787, 1794, - 1860, 1870, 1880, 1886, 1896, 1902, 1912, 1918, 1924, 1937, - 1949, 1970, 1978, 1984, 1995, 2000, 2005, 2010, 2015, 2021, - 2027, 2033, 2041, 2052, 2056, 2064, 2064, 2067, 2067, 2070, - 2082, 2103, 2108, 2116, 2117, 2121, 2121, 2125, 2125, 2128, - 2131, 2155, 2167, 2166, 2178, 2177, 2187, 2186, 2197, 2237, - 2240, 2246, 2256, 2260, 2265, 2267, 2272, 2277, 2286, 2296, - 2307, 2311, 2320, 2329, 2334, 2485, 2485, 2487, 2496, 2496, - 2498, 2503, 2515, 2519, 2524, 2528, 2532, 2537, 2542, 2546, - 2550, 2554, 2558, 2562, 2566, 2588, 2610, 2616, 2629, 2641, - 2646, 2658, 2664, 2668, 2678, 2682, 2686, 2691, 2698, 2698, - 2704, 2713, 2718, 2723, 2727, 2736, 2745, 2758, 2767, 2771, - 2779, 2799, 2803, 2808, 2819, 2838, 2847, 2951, 2955, 2962, - 2973, 2986, 2995, 3008, 3019, 3029, 3040, 3048, 3058, 3065, - 3068, 3069, 3077, 3083, 3092, 3096, 3101, 3117, 3134, 3146, - 3158, 3172, 3186, 3198, 3219, 3226, 3232, 3238, 3244, 3259, - 3369, 3374, 3378, 3385, 3392, 3402, 3409, 3419, 3427, 3441, - 3458, 3472, 3487, 3502 + 0, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, + 1136, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 1138, 1138, + 1138, 1138, 1138, 1139, 1139, 1139, 1139, 1139, 1139, 1142, + 1142, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1146, 1150, + 1150, 1151, 1151, 1152, 1152, 1153, 1153, 1154, 1154, 1155, + 1155, 1156, 1156, 1157, 1158, 1163, 1164, 1164, 1164, 1164, + 1164, 1166, 1166, 1166, 1167, 1167, 1169, 1170, 1174, 1178, + 1183, 1189, 1189, 1191, 1192, 1197, 1203, 1204, 1205, 1206, + 1207, 1208, 1212, 1213, 1214, 1218, 1219, 1220, 1221, 1225, + 1226, 1227, 1231, 1232, 1233, 1234, 1235, 1239, 1240, 1241, + 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1257, 1258, 1259, + 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1270, 1271, 1276, + 1277, 1278, 1281, 1282, 1288, 1289, 1290, 1291, 1292, 1293, + 1294, 1295, 1296, 1297, 1300, 1301, 1307, 1308, 1315, 1316, + 1322, 1323, 1332, 1340, 1341, 1346, 1347, 1348, 1353, 1366, + 1366, 1366, 1366, 1366, 1366, 1366, 1369, 1373, 1377, 1384, + 1389, 1397, 1426, 1451, 1456, 1466, 1476, 1480, 1490, 1497, + 1506, 1513, 1518, 1523, 1530, 1531, 1538, 1545, 1553, 1559, + 1571, 1599, 1615, 1642, 1670, 1696, 1716, 1742, 1762, 1774, + 1781, 1847, 1857, 1867, 1873, 1883, 1889, 1899, 1905, 1911, + 1924, 1936, 1957, 1965, 1971, 1982, 1987, 1992, 1997, 2002, + 2008, 2014, 2020, 2028, 2039, 2043, 2051, 2051, 2054, 2054, + 2057, 2069, 2090, 2095, 2103, 2104, 2108, 2108, 2112, 2112, + 2115, 2118, 2142, 2154, 2153, 2165, 2164, 2174, 2173, 2184, + 2224, 2227, 2233, 2243, 2247, 2252, 2254, 2259, 2264, 2273, + 2283, 2294, 2298, 2307, 2316, 2321, 2469, 2469, 2471, 2480, + 2480, 2482, 2487, 2499, 2503, 2508, 2512, 2516, 2521, 2526, + 2530, 2534, 2538, 2542, 2546, 2550, 2572, 2594, 2600, 2613, + 2625, 2630, 2642, 2648, 2652, 2662, 2666, 2670, 2675, 2682, + 2682, 2688, 2697, 2702, 2707, 2711, 2720, 2729, 2742, 2751, + 2755, 2763, 2783, 2787, 2792, 2803, 2822, 2831, 2935, 2939, + 2946, 2957, 2970, 2979, 2992, 3003, 3013, 3024, 3032, 3042, + 3049, 3052, 3053, 3061, 3067, 3076, 3080, 3085, 3101, 3118, + 3130, 3142, 3156, 3170, 3182, 3203, 3210, 3216, 3222, 3228, + 3243, 3353, 3358, 3362, 3369, 3376, 3386, 3393, 3403, 3411, + 3425, 3442, 3456, 3471, 3486 }; #endif @@ -1950,28 +1946,28 @@ static const char *const yytname[] = "SELECT", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "GETRESULT", "EXTRACTVALUE", "INSERTVALUE", "SIGNEXT", "ZEROEXT", "NORETURN", "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", - "READNONE", "READONLY", "GC", "FNNOTE", "INLINE", "ALWAYS", "NEVER", - "OPTIMIZEFORSIZE", "DEFAULT", "HIDDEN", "PROTECTED", "'('", "')'", "'='", - "','", "'*'", "'\\\\'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", - "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps", - "IPredicates", "FPredicates", "IntType", "FPType", "LocalName", - "OptLocalName", "OptAddrSpace", "OptLocalAssign", "LocalNumber", - "GlobalName", "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage", + "READNONE", "READONLY", "GC", "OPTSIZE", "NOINLINE", "ALWAYSINLINE", + "DEFAULT", "HIDDEN", "PROTECTED", "'('", "')'", "'='", "','", "'*'", + "'\\\\'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'c'", + "$accept", "ArithmeticOps", "LogicalOps", "CastOps", "IPredicates", + "FPredicates", "IntType", "FPType", "LocalName", "OptLocalName", + "OptAddrSpace", "OptLocalAssign", "LocalNumber", "GlobalName", + "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage", "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage", "AliasLinkage", "OptCallingConv", "Attribute", - "OptAttributes", "FuncAttr", "OptFuncAttrs", "FuncNoteList", "FuncNote", - "OptFuncNotes", "OptGC", "OptAlign", "OptCAlign", "SectionString", - "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", - "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", - "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", - "ThreadLocal", "AliaseeRef", "Module", "DefinitionList", "Definition", - "@1", "@2", "@3", "@4", "@5", "AsmBlock", "TargetDefinition", - "LibrariesDefinition", "LibList", "ArgListH", "ArgList", - "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function", - "FunctionProto", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", - "ValueRef", "ResolvedVal", "ReturnedVal", "BasicBlockList", "BasicBlock", - "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", "PHIList", - "ParamList", "IndexList", "ConstantIndexList", "OptTailCall", "InstVal", + "OptAttributes", "RetAttr", "OptRetAttrs", "FuncAttr", "OptFuncAttrs", + "OptGC", "OptAlign", "OptCAlign", "SectionString", "OptSection", + "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", "Types", + "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", "TypeListI", + "ConstVal", "ConstExpr", "ConstVector", "GlobalType", "ThreadLocal", + "AliaseeRef", "Module", "DefinitionList", "Definition", "@1", "@2", "@3", + "@4", "@5", "AsmBlock", "TargetDefinition", "LibrariesDefinition", + "LibList", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", + "FunctionHeader", "END", "Function", "FunctionProto", "OptSideEffect", + "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal", + "ReturnedVal", "BasicBlockList", "BasicBlock", "InstructionList", + "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ParamList", + "IndexList", "ConstantIndexList", "OptTailCall", "InstVal", "OptVolatile", "MemoryInst", 0 }; #endif @@ -1996,51 +1992,51 @@ static const yytype_uint16 yytoknum[] = 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 40, 41, 61, 44, 42, 92, 91, 120, 93, - 60, 62, 123, 125, 99 + 405, 406, 407, 408, 409, 410, 411, 412, 413, 40, + 41, 61, 44, 42, 92, 91, 120, 93, 60, 62, + 123, 125, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 175, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 177, 177, 177, 177, 177, 177, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 181, 182, 182, 182, 182, - 182, 183, 183, 183, 184, 184, 185, 185, 186, 186, - 187, 188, 188, 189, 189, 190, 191, 191, 191, 191, - 191, 191, 192, 192, 192, 193, 193, 193, 193, 194, - 194, 194, 195, 195, 195, 195, 195, 196, 196, 196, - 197, 197, 197, 197, 197, 197, 197, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 199, 199, 200, - 200, 200, 200, 200, 200, 200, 201, 201, 202, 202, - 203, 203, 203, 204, 204, 205, 205, 206, 206, 207, - 207, 208, 209, 209, 210, 210, 211, 211, 212, 212, - 212, 212, 212, 212, 212, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 214, 215, - 215, 216, 216, 217, 217, 217, 217, 218, 218, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 220, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 220, 220, 220, 221, 221, 222, 222, 223, 223, 224, - 224, 225, 225, 226, 226, 228, 227, 229, 227, 227, - 227, 227, 230, 227, 231, 227, 232, 227, 227, 227, - 227, 233, 234, 234, 235, 236, 236, 236, 237, 237, - 238, 238, 238, 238, 239, 240, 240, 241, 242, 242, - 243, 244, 245, 245, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 247, 247, 247, 247, 248, 248, - 249, 250, 250, 251, 251, 252, 252, 253, 253, 253, - 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, - 255, 256, 256, 257, 257, 258, 258, 258, 258, 258, - 259, 259, 260, 260, 261, 261, 262, 262, 262, 262, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - 262, 263, 263, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264 + 0, 173, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 175, 175, 175, 175, 175, 175, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 178, 178, 178, 179, 180, 180, 180, 180, + 180, 181, 181, 181, 182, 182, 183, 183, 184, 184, + 185, 186, 186, 187, 187, 188, 189, 189, 189, 189, + 189, 189, 190, 190, 190, 191, 191, 191, 191, 192, + 192, 192, 193, 193, 193, 193, 193, 194, 194, 194, + 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 197, 197, 198, + 198, 198, 199, 199, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 201, 201, 202, 202, 203, 203, + 204, 204, 205, 206, 206, 207, 207, 208, 208, 209, + 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 211, + 212, 212, 213, 213, 214, 214, 214, 214, 215, 215, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 218, 218, 219, 219, 220, 220, + 221, 221, 222, 222, 223, 223, 225, 224, 226, 224, + 224, 224, 224, 227, 224, 228, 224, 229, 224, 224, + 224, 224, 230, 231, 231, 232, 233, 233, 233, 234, + 234, 235, 235, 235, 235, 236, 237, 237, 238, 239, + 239, 240, 241, 242, 242, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 244, 244, 244, 244, 245, + 245, 246, 247, 247, 248, 248, 249, 249, 250, 250, + 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 252, 252, 253, 253, 254, 254, 255, 255, 255, 255, + 255, 256, 256, 257, 257, 258, 258, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 260, 260, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -2058,30 +2054,30 @@ static const yytype_uint8 yyr2[] = 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, 1, - 1, 1, 1, 1, 1, 1, 0, 2, 1, 3, - 3, 3, 1, 0, 4, 0, 2, 0, 2, 0, - 3, 2, 0, 1, 0, 3, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, - 5, 5, 5, 5, 3, 2, 5, 4, 2, 1, - 1, 1, 3, 1, 3, 1, 0, 1, 3, 4, - 3, 3, 4, 4, 3, 6, 5, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, - 5, 8, 6, 6, 7, 7, 7, 7, 6, 8, - 8, 5, 7, 3, 1, 1, 1, 1, 0, 2, - 6, 1, 0, 1, 2, 0, 3, 0, 3, 3, - 3, 3, 0, 8, 0, 9, 0, 9, 5, 2, - 3, 1, 3, 3, 3, 3, 1, 0, 5, 3, - 1, 3, 1, 0, 11, 1, 1, 4, 1, 1, - 2, 3, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 2, 2, 3, 2, - 5, 4, 1, 5, 1, 1, 1, 1, 1, 1, - 2, 1, 3, 2, 2, 3, 3, 2, 0, 1, - 2, 2, 3, 9, 9, 8, 14, 1, 1, 6, - 5, 2, 2, 6, 7, 4, 4, 6, 6, 0, - 0, 3, 2, 3, 2, 1, 5, 5, 6, 6, - 6, 6, 4, 6, 4, 4, 6, 6, 2, 8, - 1, 1, 0, 3, 6, 3, 6, 2, 5, 7, - 5, 4, 4, 7 + 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 0, 2, 0, 2, + 0, 3, 2, 0, 1, 0, 3, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 2, 5, 5, 5, 5, 3, 2, 5, 4, 2, + 1, 1, 1, 3, 1, 3, 1, 0, 1, 3, + 4, 3, 3, 4, 4, 3, 6, 5, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 6, 5, 8, 6, 6, 7, 7, 7, 7, 6, + 8, 8, 5, 7, 3, 1, 1, 1, 1, 0, + 2, 6, 1, 0, 1, 2, 0, 3, 0, 3, + 3, 3, 3, 0, 8, 0, 9, 0, 9, 5, + 2, 3, 1, 3, 3, 3, 3, 1, 0, 5, + 3, 1, 3, 1, 0, 11, 1, 1, 4, 1, + 1, 2, 3, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 2, 2, 3, + 2, 5, 4, 1, 5, 1, 1, 1, 1, 1, + 1, 2, 1, 3, 2, 2, 3, 3, 2, 0, + 1, 2, 2, 3, 9, 9, 8, 15, 1, 1, + 6, 5, 2, 2, 6, 7, 4, 4, 6, 6, + 0, 0, 3, 2, 3, 2, 1, 5, 5, 6, + 6, 6, 6, 4, 6, 4, 4, 6, 6, 2, + 9, 1, 1, 0, 3, 6, 3, 6, 2, 5, + 7, 5, 4, 4, 7 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -2089,668 +2085,686 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 74, 61, 71, 62, 72, 63, 227, 225, 0, 0, - 0, 0, 0, 0, 85, 73, 0, 74, 223, 89, - 92, 0, 0, 239, 0, 0, 68, 0, 75, 76, + 74, 61, 71, 62, 72, 63, 228, 226, 0, 0, + 0, 0, 0, 0, 85, 73, 0, 74, 224, 89, + 92, 0, 0, 240, 0, 0, 68, 0, 75, 76, 78, 77, 79, 82, 80, 83, 81, 84, 86, 87, - 88, 85, 85, 218, 1, 224, 90, 91, 85, 228, - 93, 94, 95, 96, 85, 298, 226, 298, 0, 0, - 247, 240, 241, 229, 284, 285, 231, 148, 149, 150, - 153, 152, 151, 154, 155, 0, 0, 0, 0, 286, - 287, 156, 230, 158, 218, 218, 97, 217, 0, 100, - 100, 299, 294, 69, 258, 259, 260, 293, 242, 243, - 246, 0, 176, 159, 0, 0, 0, 0, 165, 177, - 0, 0, 176, 0, 0, 0, 99, 98, 0, 215, - 216, 0, 0, 101, 102, 103, 104, 105, 0, 261, - 0, 0, 342, 342, 297, 0, 244, 175, 117, 171, - 173, 0, 0, 0, 0, 0, 0, 164, 0, 0, - 157, 0, 0, 170, 0, 169, 0, 238, 148, 149, - 150, 153, 152, 151, 0, 0, 67, 67, 106, 0, - 255, 256, 257, 70, 341, 325, 0, 0, 0, 0, - 100, 307, 308, 2, 3, 4, 5, 6, 7, 8, + 88, 85, 85, 219, 1, 225, 90, 91, 85, 229, + 93, 94, 95, 96, 85, 299, 227, 299, 0, 0, + 248, 241, 242, 230, 285, 286, 232, 149, 150, 151, + 154, 153, 152, 155, 156, 0, 0, 0, 0, 287, + 288, 157, 231, 159, 219, 219, 97, 218, 0, 100, + 100, 300, 295, 69, 259, 260, 261, 294, 243, 244, + 247, 0, 177, 160, 0, 0, 0, 0, 166, 178, + 0, 0, 177, 0, 0, 0, 99, 98, 0, 216, + 217, 0, 0, 101, 102, 103, 104, 105, 122, 262, + 0, 0, 343, 343, 298, 0, 245, 176, 117, 172, + 174, 0, 0, 0, 0, 0, 0, 165, 0, 0, + 158, 0, 0, 171, 0, 170, 0, 239, 149, 150, + 151, 154, 153, 152, 0, 0, 67, 67, 106, 0, + 256, 257, 258, 70, 342, 326, 0, 0, 0, 0, + 100, 308, 309, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 295, 100, 311, 0, 340, 296, 312, 245, 168, 0, - 126, 67, 67, 167, 0, 178, 0, 126, 67, 67, - 0, 219, 196, 197, 192, 194, 193, 195, 198, 191, - 187, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 296, 100, 312, 0, 341, 297, 313, 246, 169, 0, + 134, 67, 67, 168, 0, 179, 0, 134, 67, 67, + 0, 220, 197, 198, 193, 195, 194, 196, 199, 192, + 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 190, 189, 232, 0, 324, 301, 67, 291, 300, 0, - 0, 55, 0, 0, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 0, 53, 54, 49, 50, 51, - 52, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 0, 0, 0, 139, 139, 347, 67, 67, 338, - 0, 0, 0, 0, 0, 67, 67, 67, 67, 67, - 0, 0, 0, 0, 0, 108, 110, 109, 107, 111, - 112, 113, 114, 115, 118, 174, 172, 161, 162, 163, - 166, 66, 160, 234, 236, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 180, 214, 0, - 0, 0, 184, 0, 181, 0, 0, 0, 144, 253, - 264, 265, 266, 267, 268, 273, 269, 270, 271, 272, - 262, 0, 0, 0, 0, 282, 289, 288, 290, 0, - 0, 302, 0, 0, 67, 67, 67, 67, 0, 343, - 0, 345, 320, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 67, 0, 116, - 123, 122, 119, 121, 120, 124, 125, 127, 144, 144, - 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, - 0, 0, 0, 179, 165, 177, 0, 182, 183, 0, - 0, 0, 0, 233, 252, 117, 250, 0, 263, 0, - 276, 0, 0, 0, 279, 0, 277, 292, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, - 0, 0, 334, 335, 0, 0, 0, 0, 352, 0, - 0, 0, 332, 0, 139, 0, 235, 237, 67, 0, + 191, 190, 233, 121, 120, 119, 123, 0, 325, 302, + 67, 292, 301, 0, 0, 55, 0, 122, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 0, 53, + 54, 49, 50, 51, 52, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 0, 0, 0, 140, 140, + 348, 67, 67, 339, 0, 0, 0, 0, 0, 67, + 67, 67, 67, 67, 0, 122, 0, 0, 0, 108, + 110, 109, 107, 111, 112, 113, 114, 115, 118, 175, + 173, 162, 163, 164, 167, 66, 161, 235, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 186, 0, 0, 0, 0, 0, 0, 146, 144, - 65, 0, 126, 0, 275, 165, 0, 274, 278, 0, - 0, 319, 0, 0, 0, 0, 139, 140, 139, 0, - 0, 0, 0, 0, 0, 350, 322, 0, 67, 326, - 327, 319, 0, 348, 67, 220, 0, 0, 0, 0, - 200, 0, 0, 0, 0, 211, 0, 185, 0, 0, - 67, 141, 147, 145, 64, 249, 251, 117, 142, 0, - 281, 0, 0, 0, 117, 117, 0, 328, 329, 330, - 331, 344, 346, 321, 0, 0, 333, 336, 337, 323, - 0, 0, 139, 0, 0, 0, 0, 0, 208, 0, - 0, 0, 202, 203, 199, 65, 143, 137, 283, 280, - 0, 0, 0, 0, 126, 0, 313, 0, 353, 126, - 349, 204, 205, 206, 207, 0, 0, 0, 212, 248, - 0, 135, 0, 305, 0, 0, 108, 110, 117, 117, - 0, 117, 117, 314, 339, 201, 209, 210, 138, 0, - 133, 303, 0, 304, 0, 316, 315, 0, 0, 0, - 136, 0, 254, 0, 0, 0, 117, 117, 0, 0, - 0, 0, 318, 317, 0, 132, 0, 128, 310, 0, - 0, 0, 134, 0, 309, 0, 131, 130, 129, 306 + 0, 181, 215, 0, 0, 0, 185, 0, 182, 0, + 0, 0, 145, 0, 265, 266, 267, 268, 269, 274, + 270, 271, 272, 273, 263, 0, 0, 0, 0, 283, + 290, 289, 291, 0, 0, 303, 0, 0, 67, 67, + 67, 67, 0, 344, 0, 346, 321, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 67, 0, 116, 128, 127, 124, 126, 125, 129, + 130, 133, 131, 132, 135, 145, 145, 0, 0, 0, + 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, + 180, 166, 178, 0, 183, 184, 0, 0, 0, 0, + 234, 254, 264, 0, 277, 0, 0, 0, 280, 0, + 278, 293, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 352, 0, 0, 0, 335, 336, 0, 0, + 0, 0, 353, 0, 0, 0, 333, 0, 140, 0, + 236, 238, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 214, 187, 0, 0, 0, 0, + 0, 0, 147, 145, 253, 117, 251, 0, 0, 276, + 166, 0, 275, 279, 0, 0, 0, 0, 0, 0, + 0, 140, 141, 140, 0, 0, 0, 0, 0, 0, + 351, 323, 0, 67, 327, 328, 0, 0, 349, 67, + 221, 0, 0, 0, 0, 201, 0, 0, 0, 0, + 212, 0, 186, 0, 0, 67, 142, 148, 146, 65, + 0, 134, 0, 282, 0, 0, 0, 320, 329, 330, + 331, 332, 345, 347, 322, 0, 0, 334, 337, 338, + 324, 0, 320, 140, 0, 0, 0, 0, 0, 209, + 0, 0, 0, 203, 204, 200, 64, 250, 252, 117, + 143, 284, 281, 0, 0, 117, 117, 0, 314, 0, + 354, 0, 350, 205, 206, 207, 208, 0, 0, 0, + 213, 65, 144, 138, 0, 306, 0, 0, 0, 0, + 134, 0, 315, 134, 202, 210, 211, 249, 0, 136, + 304, 0, 305, 0, 108, 110, 117, 117, 0, 117, + 117, 340, 139, 0, 255, 0, 0, 317, 316, 0, + 0, 0, 137, 0, 0, 0, 117, 117, 311, 0, + 0, 319, 318, 310, 0, 0, 307 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 277, 278, 279, 304, 321, 164, 165, 79, 595, + -1, 277, 278, 279, 308, 325, 164, 165, 79, 637, 113, 12, 133, 80, 14, 15, 41, 42, 43, 48, - 54, 118, 128, 354, 238, 447, 357, 706, 707, 692, - 680, 661, 419, 538, 637, 473, 539, 81, 166, 139, - 156, 140, 141, 110, 378, 405, 379, 121, 88, 157, - 16, 17, 18, 20, 19, 388, 448, 449, 63, 23, - 61, 101, 476, 477, 129, 172, 55, 96, 56, 49, - 479, 406, 83, 408, 287, 288, 57, 92, 93, 230, - 665, 134, 329, 606, 498, 508, 231, 232, 233, 234 + 54, 118, 128, 358, 238, 286, 169, 454, 361, 694, + 679, 423, 542, 663, 480, 543, 81, 166, 139, 156, + 140, 141, 110, 382, 409, 383, 121, 88, 157, 16, + 17, 18, 20, 19, 392, 455, 456, 63, 23, 61, + 101, 546, 547, 129, 172, 55, 96, 56, 49, 483, + 410, 83, 412, 291, 292, 57, 92, 93, 230, 667, + 134, 333, 647, 502, 512, 231, 232, 233, 234 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -628 +#define YYPACT_NINF -620 static const yytype_int16 yypact[] = { - 655, -628, -628, -628, -628, -628, -628, -628, 5, -121, - 42, -97, 97, 28, 2, -628, 124, 982, -628, 94, - 237, 69, 82, -628, 68, 231, -628, 1809, -628, -628, - -628, -628, -628, -628, -628, -628, -628, -628, -628, -628, - -628, 110, 110, 188, -628, -628, -628, -628, 110, -628, - -628, -628, -628, -628, 110, 240, -628, -10, 243, 278, - 283, -628, -628, -628, -628, -628, 152, -628, -628, -628, - -628, -628, -628, -628, -628, 318, 327, 3, 536, -628, - -628, -628, 23, -628, 288, 288, 185, -628, 182, 210, - 210, -628, -628, 72, -628, -628, -628, -628, -628, -628, - -628, -46, 1554, -628, 169, 189, 730, 152, -628, 23, - -130, 192, 1554, 195, 182, 182, -628, -628, 1598, -628, - -628, 1850, 366, -628, -628, -628, -628, -628, 1905, -628, - -14, 211, 2204, 2204, -628, 356, -628, -628, 23, -628, - 222, 232, 1934, 1934, 225, -109, 1934, -628, 393, 242, - -628, 1850, 1934, 152, 245, 23, 321, -628, 236, 389, - 398, 399, 402, 403, 305, 404, 1378, 360, -628, 134, - -628, -628, -628, -628, -628, -628, 361, 1975, 92, 409, - 210, -628, -628, -628, -628, -628, -628, -628, -628, -628, - -628, -628, -628, -628, -628, -628, -628, -628, 400, 464, - 400, 464, 1934, 1934, 1934, 1934, -628, -628, -628, -628, - -628, -628, -628, -628, -628, -628, -628, -628, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - -628, 210, -628, 131, -628, -628, -628, -628, 217, 1639, - -628, -40, -16, -628, 252, 23, 263, -628, 360, -34, - 1598, -628, -628, -628, -628, -628, -628, -628, -628, -628, - -628, -628, 400, 464, 400, 464, 265, 266, 270, 272, - 273, 282, 284, 1680, 2016, 848, 422, 285, 286, 292, - -628, -628, -628, 293, -628, 152, 798, -628, 291, 970, - 970, -628, 970, 1905, -628, -628, -628, -628, -628, -628, - -628, -628, -628, -628, 1934, -628, -628, -628, -628, -628, - -628, -628, -628, -628, -628, -628, -628, -628, -628, -628, - -628, 1934, 1934, 1934, 56, 86, -628, 798, -39, 294, - 295, 296, 297, 298, 299, 798, 798, 798, 798, 798, - 411, 1905, 1934, 1934, 453, -628, -628, -628, -628, -628, - -628, -628, -628, -628, -628, -628, -628, 148, -628, -628, - -628, -628, 148, -628, 195, 427, 306, 309, 314, 315, - 1850, 1850, 1850, 1850, 1850, 1850, 1850, -628, -628, -5, - 1424, -90, -628, -108, -628, 1850, 1850, 1850, 302, 1721, - -628, -628, -628, -628, -628, -628, -628, -628, -628, -628, - 416, 1739, 2034, 1469, 456, -628, -628, -628, -628, 1934, - 316, -628, 317, 970, 798, 798, 798, 798, 29, -628, - 43, -628, -628, 970, 319, 1934, 1934, 1934, 1934, 1934, - 328, 342, 349, 350, 357, 1934, 970, 798, 358, -628, - -628, -628, -628, -628, -628, -628, -628, -628, 302, 302, - 1934, 1850, 1850, 1850, 1850, -628, 359, 362, 364, 365, - 342, 367, 1850, -628, 311, 1243, -75, -628, -628, 368, - 371, 482, 7, -628, -628, 23, 375, 379, -628, 502, - -628, 62, 1513, -57, -628, -69, -628, -628, 513, 525, - 396, 390, 414, 415, 418, 970, 559, 970, 419, 420, - 970, 421, 23, -628, 423, 424, 576, 589, 431, 1934, - 970, 970, 23, 435, 433, 1934, -628, -628, 4, 436, - 437, 438, 439, 142, 1850, 1850, 1850, 1850, 150, 1850, - -628, -628, 434, 1850, 1850, 1934, 582, 602, -628, 302, - 363, 1768, -628, 445, -628, 440, -65, -628, -628, 970, - 970, 2075, 970, 970, 970, 970, 433, -628, 433, 1934, - 970, 446, 1934, 1934, 1934, -628, -628, 608, 798, -628, - -628, 2075, 561, -628, 798, -628, 1850, 1850, 1850, 1850, - -628, 449, 454, 457, 458, -628, 342, -628, 455, 461, - 12, -628, -628, -628, -628, -628, -628, 23, -7, 598, - -628, 459, 460, 462, 45, 23, 156, -628, -628, -628, - -628, -628, -628, -628, 463, 970, -628, -628, -628, -628, - 342, 157, 433, 465, 469, 471, 474, 1850, -628, 1850, - 1850, 205, -628, -628, -628, 363, -628, 571, -628, -628, - 609, -2, 642, 642, -628, 2100, -628, 468, 431, -628, - -628, -628, -628, -628, -628, 476, 477, 478, -628, -628, - 648, 501, 970, -628, 1108, -1, 493, 495, -628, -628, - 39, 45, 23, -628, 148, -628, -628, -628, -628, 635, - 505, -628, 496, -628, 1108, 217, 217, 646, 642, 642, - -628, 498, -628, 653, 507, 970, -628, -628, 50, 970, - 659, 599, 217, 217, 517, -628, 215, -628, -628, 970, - 664, 191, -628, 50, -628, 970, -628, -628, -628, -628 + 484, -620, -620, -620, -620, -620, -620, -620, -14, -116, + -6, -83, 104, -31, 24, -620, 161, 528, -620, 238, + 204, 43, 49, -620, 5, 196, -620, 1912, -620, -620, + -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, + -620, 173, 173, 227, -620, -620, -620, -620, 173, -620, + -620, -620, -620, -620, 173, 202, -620, -9, 234, 243, + 246, -620, -620, -620, -620, -620, 67, -620, -620, -620, + -620, -620, -620, -620, -620, 273, 285, 3, 624, -620, + -620, -620, 4, -620, 201, 201, 253, -620, 81, 240, + 240, -620, -620, 39, -620, -620, -620, -620, -620, -620, + -620, -59, 1564, -620, 128, 132, 643, 67, -620, 4, + -114, 165, 1564, 145, 81, 81, -620, -620, 1605, -620, + -620, 2014, 324, -620, -620, -620, -620, -620, -620, -620, + -13, 188, 2299, 2299, -620, 328, -620, -620, 4, -620, + 189, 194, 2076, 2076, 186, -111, 2076, -620, 352, 205, + -620, 2014, 2076, 67, 208, 4, 247, -620, 216, 351, + 355, 359, 365, 368, 269, 372, 1625, 306, -620, 1517, + -620, -620, -620, -620, -620, -620, 325, 2094, 38, 373, + 240, -620, -620, -620, -620, -620, -620, -620, -620, -620, + -620, -620, -620, -620, -620, -620, -620, -620, 298, 336, + 298, 336, 2076, 2076, 2076, 2076, -620, -620, -620, -620, + -620, -620, -620, -620, -620, -620, -620, -620, 2076, 2076, + 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, + -620, 240, -620, 66, -620, -620, -620, -620, 231, 1791, + -620, -17, -21, -620, 214, 4, 225, -620, 306, -5, + 1605, -620, -620, -620, -620, -620, -620, -620, -620, -620, + -620, -620, 298, 336, 298, 336, 229, 230, 249, 250, + 251, 252, 256, 1809, 2117, 690, 364, 257, 259, 261, + -620, -620, -620, -620, -620, -620, -620, 114, -620, 67, + 1019, -620, 262, 1189, 1189, -620, 1189, -620, -620, -620, + -620, -620, -620, -620, -620, -620, -620, -620, 2076, -620, + -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, + -620, -620, -620, -620, -620, 2076, 2076, 2076, -23, 28, + -620, 1019, -18, 265, 266, 268, 272, 288, 289, 1019, + 1019, 1019, 1019, 1019, 383, -620, 2076, 2076, 398, -620, + -620, -620, -620, -620, -620, -620, -620, -620, -620, -620, + -620, 137, -620, -620, -620, -620, 137, -620, 145, 385, + 293, 294, 295, 297, 2014, 2014, 2014, 2014, 2014, 2014, + 2014, -620, -620, -56, 1069, -74, -620, -80, -620, 2014, + 2014, 2014, 296, 300, -620, -620, -620, -620, -620, -620, + -620, -620, -620, -620, 396, 1832, 2135, 1239, 403, -620, + -620, -620, -620, 2076, 299, -620, 301, 1517, 1019, 1019, + 1019, 1019, 8, -620, 33, -620, -620, 1189, 303, 2076, + 2076, 2076, 2076, 2076, 302, 304, 307, 308, 309, 2076, + 1517, 1019, 312, -620, -620, -620, -620, -620, -620, -620, + -620, -620, -620, -620, -620, 296, 296, 2076, 2014, 2014, + 2014, 2014, -620, 317, 318, 319, 320, 304, 323, 2014, + -620, 326, 1471, -77, -620, -620, 327, 330, 424, 2, + -620, 1850, -620, 443, -620, -52, 1280, -73, -620, -72, + -620, -620, 469, 471, 1189, 332, 334, 337, 338, 1189, + 494, 1189, 339, 343, 1189, 347, 4, -620, 348, 349, + 508, 519, 362, 2076, 1189, 1189, 4, 1189, 363, 2076, + -620, -620, 26, 367, 375, 377, 387, 149, 2014, 2014, + 2014, 2014, 157, 2014, -620, -620, 357, 2014, 2014, 2076, + 505, 526, -620, 296, -620, 4, 391, 394, 393, -620, + 366, -62, -620, -620, 1189, 1189, 386, 1189, 1189, 1189, + 1189, 363, -620, 363, 2076, 1189, 395, 2076, 2076, 2076, + -620, -620, 552, 1019, -620, -620, 405, 511, -620, 1019, + -620, 2014, 2014, 2014, 2014, -620, 400, 406, 407, 408, + -620, 304, -620, 411, 412, 57, -620, -620, -620, 11, + 1891, -620, 545, -620, 399, 413, 414, 2179, -620, -620, + -620, -620, -620, -620, -620, 409, 1189, -620, -620, -620, + -620, 304, 2179, 363, 417, 418, 423, 425, 2014, -620, + 2014, 2014, 180, -620, -620, -620, -620, -620, -620, 4, + 172, -620, -620, 556, -3, 46, 4, 181, -620, 422, + 362, 184, -620, -620, -620, -620, -620, 430, 431, 432, + -620, 11, -620, 539, 1189, -620, 1337, -1, 865, 865, + -620, 2197, -620, -620, -620, -620, -620, -620, 590, 445, + -620, 433, -620, 1337, 446, 453, -620, -620, 86, 46, + 4, 137, -620, 582, -620, 596, 452, 231, 231, 598, + 865, 865, -620, 1189, 599, 1189, -620, -620, -620, 1189, + 544, 231, 231, -620, 603, 1189, -620 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -628, 248, 256, 258, -180, -175, -177, -628, 0, 49, - -143, 594, -628, 18, -628, -628, -628, -628, 71, -628, - -628, -628, -144, -628, -345, -628, -239, -628, -25, -628, - -628, -628, -292, 91, -628, -386, -628, -628, -26, 451, - -122, -628, 579, 587, 65, -163, -270, 235, 308, 447, - -628, -628, 681, -628, -628, -628, -628, -628, -628, -628, - -628, -628, -628, -628, 610, -628, -628, -628, -628, -628, - -628, -627, -81, -267, -191, -628, -628, 647, -628, 566, - -628, -628, -628, 139, 250, -448, -628, 580, -628, -628 + -620, 42, 112, 200, -160, -158, -177, -620, 0, -39, + -151, 531, -620, 9, -620, -620, -620, -620, 77, -620, + -620, -620, -152, -620, -518, -620, -268, -620, -244, -620, + -620, -311, -15, -620, -414, -620, -620, -26, 389, -164, + -620, 514, 523, 142, -162, -261, 220, 263, 380, -620, + -620, 625, -620, -620, -620, -620, -620, -620, -620, -620, + -620, -620, -620, 559, -620, -620, -620, -620, -620, -620, + -619, -82, 267, -198, -620, -620, 595, -620, 535, -620, + -620, -620, 47, 215, -456, -620, 543, -620, -620 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -223 +#define YYTABLE_NINF -224 static const yytype_int16 yytable[] = { - 11, 82, 292, 280, 381, 383, 169, 105, 362, 291, - 291, 91, 528, 326, 170, 111, 111, 11, 13, 94, - 322, 111, 410, 411, 282, 412, 323, 536, 330, 331, - 332, 333, 334, 421, 146, 13, 293, 682, 340, 111, - 495, 536, 24, 147, 29, 30, 31, 32, 33, 34, - 35, 36, 109, 37, 497, 146, 462, 694, 21, 111, - 422, 537, 516, 517, 244, 468, 26, 111, 430, 431, - 432, 433, 434, 22, 462, 251, 138, 687, 111, 131, - 109, 467, 366, 496, 368, 281, 138, 341, 367, 462, - 369, 1, 155, 11, 3, 462, 5, 496, 532, 462, - -154, 25, 155, 289, 548, 363, 364, 462, 601, 290, - 466, 111, 84, 85, 547, 27, 241, 242, 135, 89, - 245, 112, 112, 136, 44, 90, 249, 112, 423, 358, - 540, 481, 483, 485, 440, 441, 442, 443, 631, 444, - 46, 111, 47, 445, 446, 112, 490, 491, 492, 493, - 494, 286, 438, 593, 2, 359, 499, 4, 171, 462, - 38, 39, 40, 95, 463, 112, 575, 663, 683, 513, - 514, 413, 648, 112, 634, 106, 324, 325, 286, 327, - 440, 441, 442, 443, 112, 444, 167, 283, -67, 445, - 446, 28, 328, 286, 286, 286, 286, 286, 335, 336, - 337, 338, 339, 286, 704, 407, -154, 705, 407, 407, - -154, 407, 546, 138, 119, 120, 248, 112, 487, 436, - 418, -67, 573, 86, 155, 87, 462, 116, 556, 117, - 558, 544, 58, 561, 501, 60, 503, 504, 505, -55, - -55, -55, -55, 569, 570, 59, 407, 112, 342, 343, - 420, -67, 635, 62, 407, 407, 407, 407, 407, 642, - 643, 91, 252, 253, 611, 98, 612, 155, 38, 39, - 40, 344, 122, 123, 124, 125, 126, 127, 414, 50, - 51, 52, 602, 603, 53, 607, 608, 609, 610, 440, - 441, 442, 443, 614, 444, 415, 416, 417, 445, 446, - 99, 620, 280, 598, 580, 100, 559, 622, 254, 255, - 256, 257, 585, 102, 567, 155, 437, 286, 644, 649, - 645, 645, 103, 685, 686, 87, 688, 689, 64, 65, - 650, 104, 407, 407, 407, 407, 407, 142, 345, 346, - 1, 2, 407, 3, 4, 5, 716, 717, 647, 151, - 152, 702, 703, 148, 465, 407, 407, 143, 347, 348, - 150, 349, 350, 475, 351, 352, 353, 658, 613, 567, - 168, 616, 617, 618, 173, 668, 669, 712, 237, 713, - 227, 227, 1, 286, 281, 3, 239, 5, 228, 228, - 229, 229, 114, 115, 240, 681, 243, 246, -56, 286, - 502, 286, 286, 286, 247, 670, 250, -57, -60, 512, - 674, -59, -58, 258, 407, 111, 407, 344, 284, 407, - 291, 696, 697, 360, 518, 361, 370, 371, 701, 407, - 407, 372, 708, 373, 374, 455, 456, 457, 458, 459, - 460, 461, 714, 375, 384, 376, 385, 386, 719, 435, - 469, 470, 471, 387, 389, 409, 465, 439, 424, 425, - 426, 427, 428, 429, 664, 450, 472, 451, 407, 407, - 452, 407, 407, 407, 407, 453, 454, 478, 486, 407, - 488, 489, 531, 568, 345, 346, 500, 407, 684, 574, - 305, 306, 506, 407, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 347, 348, 507, 349, 350, 590, - 351, 352, 353, 509, 510, 597, 519, 520, 521, 522, - 535, 511, 515, 524, 543, 605, 525, 530, 526, 527, - 549, 529, 533, 286, 407, 534, 286, 286, 286, 541, - 594, 542, 550, 64, 65, 605, 107, 67, 68, 69, - 70, 71, 72, 73, 552, 1, 2, 551, 3, 4, - 5, 407, 407, 557, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 553, 554, - 565, 407, 555, 559, 560, 562, 74, 563, 564, 581, - 582, 583, 584, 566, 586, 567, 571, 572, 588, 589, - 576, 577, 578, 579, 591, 587, 592, 407, 407, 599, - 615, 600, 619, 627, 407, 496, 628, 632, 407, 672, - 638, 629, 630, 633, 640, 660, 662, 651, 407, 641, - 639, 652, 646, 653, 407, 594, 654, 673, 675, 676, - 677, 623, 624, 625, 626, 390, 391, 392, 393, 64, - 65, 394, 678, 679, -18, -222, -19, 690, 691, 698, - 693, 1, 2, 695, 3, 4, 5, 395, 396, 397, - 699, 700, 710, -69, 1, 2, 709, 3, 4, 5, - 711, 715, 398, 399, 659, 6, 7, 132, 718, 636, - 356, 149, 655, 145, 656, 657, 344, 365, 45, 235, - 130, 400, 75, 76, 97, 523, 77, 8, 78, 108, - 621, 9, 0, 236, 0, 10, 0, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 262, 263, 264, 265, 0, 64, 65, 0, - 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, + 11, 82, 296, 366, 280, 287, 330, 105, 295, 13, + 295, 532, 91, 385, 387, 170, 282, 11, 425, 499, + 94, 334, 335, 336, 337, 338, 13, 599, 297, 417, + 1, 344, 111, 3, 111, 5, 540, 111, 111, 21, + 326, 520, 521, 327, 501, 24, 131, 681, 146, 293, + 111, 146, 109, 25, 22, 294, 541, 147, 1, 111, + 244, 3, 500, 5, 696, 348, 29, 30, 31, 32, + 33, 34, 35, 36, 251, 37, 138, 440, 26, 345, + 109, 111, 469, 111, 281, 469, 138, 500, 469, 469, + 469, 475, 155, 11, 536, 474, 552, 367, 368, 553, + 469, -155, 370, 135, 372, 371, 469, 373, 136, 604, + 469, 470, 111, 119, 120, 549, 241, 242, 84, 85, + 245, 661, 27, 473, 699, 89, 249, 668, 669, 598, + 28, 90, 349, 350, 2, 632, 112, 4, 112, 422, + -67, 112, 112, 155, 485, 487, 489, 427, 363, 442, + 362, 290, 351, 352, 112, 353, 354, 171, 355, 356, + 357, 44, 95, 112, 665, 650, 682, -67, 697, 698, + 60, 700, 701, 106, 227, 227, 328, 329, 290, 331, + 38, 39, 40, 346, 347, 112, 580, 112, 711, 712, + 424, -67, 332, 290, 290, 290, 290, 290, 339, 340, + 341, 342, 343, 290, 58, -155, 540, 578, 411, -155, + 59, 411, 411, 138, 411, 491, 112, 635, 62, -55, + -55, -55, -55, 91, 155, 551, 102, 444, 445, 446, + 447, 505, 448, 507, 508, 509, 449, 450, 87, 451, + 452, 453, 252, 253, 228, 228, 50, 51, 52, 411, + 612, 53, 613, 494, 64, 65, 98, 411, 411, 411, + 411, 411, 86, 167, 87, 99, 1, 2, 100, 3, + 4, 5, 254, 255, 256, 257, 517, 103, 444, 445, + 446, 447, 418, 448, 46, 348, 47, 449, 450, 104, + 451, 452, 453, 248, 142, 116, 393, 117, 143, 419, + 420, 421, 122, 123, 124, 125, 126, 127, 150, 585, + 280, 564, 652, 444, 445, 446, 447, 590, 448, 572, + 441, 290, 449, 450, 148, 451, 452, 453, 168, 38, + 39, 40, 229, 229, 151, 152, 411, 411, 411, 411, + 660, 670, 572, 671, 673, 411, 671, 114, 115, 173, + 237, 239, 349, 350, 240, 243, 246, 640, 472, 411, + -56, 111, 309, 310, -57, 247, 614, 250, -60, 617, + 618, 619, 351, 352, -59, 353, 354, -58, 355, 356, + 357, 258, 288, 364, 295, 365, 388, 290, 374, 375, + 281, 155, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 443, 290, 506, 290, 290, 290, 376, 377, + 378, 379, 411, 516, 155, 380, 389, 411, 390, 411, + 391, 439, 411, 457, 413, 490, 688, 428, 429, 691, + 430, 522, 411, 411, 431, 411, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 432, 433, 458, 459, 460, 545, 461, 482, 479, 481, + 472, 492, 539, 493, 510, 548, 511, 666, 504, 513, + 514, 515, 411, 411, 519, 411, 411, 411, 411, 528, + 529, 530, 531, 411, -223, 533, 554, 573, 555, 537, + 683, 411, 538, 579, 557, 535, 558, 411, 562, 559, + 560, 564, -69, 1, 2, 565, 3, 4, 5, 567, + 568, 569, 570, 595, 6, 7, 462, 463, 464, 465, + 466, 467, 468, 571, 572, 577, 592, 596, -222, 581, + 597, 476, 477, 478, 411, 603, 8, 582, 290, 583, + 9, 290, 290, 290, 10, 607, -69, 1, 2, 584, + 3, 4, 5, 600, 601, 602, 620, 616, 6, 7, + 414, 415, 628, 416, 622, 500, 629, 641, 642, 630, + 631, 633, 634, 664, 639, 643, 648, 653, 654, 644, + 8, 646, 411, 655, 9, 656, 411, 411, 10, 672, + 674, 675, 676, 678, 692, 695, 646, 693, 426, 636, + 523, 524, 525, 526, 702, -18, 434, 435, 436, 437, + 438, 534, -19, 703, 704, 705, 709, 714, 411, 411, + 715, 411, 677, 411, 132, 662, 149, 411, 360, 145, + 369, 64, 65, 411, 107, 67, 68, 69, 70, 71, + 72, 73, 45, 1, 2, 690, 3, 4, 5, 130, + 64, 65, 97, 107, 67, 68, 69, 70, 71, 72, + 73, 636, 1, 2, 0, 3, 4, 5, 235, 651, + 586, 587, 588, 589, 74, 591, 236, 527, 0, 593, + 594, 0, 0, 0, 0, 495, 496, 497, 498, 0, + 0, 0, 0, 74, 503, 0, 0, 64, 65, 0, + 107, 158, 159, 160, 161, 162, 163, 73, 518, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, - 0, 266, 206, 666, 667, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 0, 267, 0, 268, 269, 270, - 74, 271, 272, 347, 348, 0, 349, 350, 0, 351, - 352, 353, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 390, 391, 392, 393, 64, 65, 394, 0, 401, - 0, 0, 402, 0, 403, 0, 404, 1, 2, 0, - 3, 4, 5, 395, 396, 397, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 398, 399, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 111, 0, 64, 65, 400, 107, 158, - 159, 160, 161, 162, 163, 73, 0, 1, 2, 0, - 3, 4, 5, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 262, 263, - 264, 265, 0, 0, 0, 0, 75, 76, 74, 0, - 77, 0, 78, 144, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 266, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 0, 267, 0, 268, 269, 270, 0, 271, 272, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 0, 0, 0, 0, 0, 401, 0, 0, 402, 0, - 403, 0, 404, 390, 391, 392, 393, 64, 65, 394, - 0, 0, -221, 0, 0, 0, 0, 0, 0, 1, - 2, 0, 3, 4, 5, 395, 396, 397, 0, 0, - -69, 1, 2, 0, 3, 4, 5, 0, 0, 0, - 398, 399, 6, 7, 75, 76, 0, 0, 77, 0, - 78, 382, 0, 0, 0, 0, 0, 0, 0, 400, - 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, - 0, 0, 10, 0, 0, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 262, 263, 264, 265, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 0, 267, 0, 268, 269, 270, 0, 271, - 272, 390, 391, 392, 393, 0, 0, 394, 0, 0, + 0, 0, 0, 624, 625, 626, 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 395, 396, 397, 0, 401, 0, 0, - 402, 0, 403, 0, 404, 0, 0, 0, 398, 399, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 262, 263, - 264, 265, 0, 0, 0, 0, 0, 0, 0, 0, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 266, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 0, 267, 0, 268, 269, 270, 0, 271, 272, 0, - 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 2, 0, 3, 4, 5, 259, 0, - 0, 0, 0, 0, 0, 401, 0, 0, 402, 0, - 403, 0, 404, 260, 261, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, + 0, 556, 0, 0, 0, 0, 561, 0, 563, 0, + 657, 566, 658, 659, 0, 0, 0, 0, 0, 0, + 0, 574, 575, 0, 576, 0, 0, 0, 75, 76, + 0, 0, 77, 0, 78, 108, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, + 0, 77, 0, 78, 144, 0, 0, 0, 0, 0, + 0, 605, 606, 0, 608, 609, 610, 611, 0, 0, + 0, 0, 615, 0, 0, 0, 0, 0, 0, 0, + 621, 0, 0, 0, 0, 0, 623, 0, 0, 0, + 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, + 78, 386, 0, 0, 0, 0, 0, 0, 394, 395, + 396, 397, 64, 65, 398, 0, 0, 0, 0, 0, + 0, 0, 0, 649, 1, 2, 0, 3, 4, 5, + 399, 400, 401, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 402, 403, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, + 0, 680, 0, 0, 0, 686, 687, 0, 0, 0, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 262, 263, 264, 265, 0, + 0, 0, 0, 0, 0, 0, 0, 706, 707, 0, + 708, 0, 710, 0, 0, 0, 713, 0, 0, 0, + 0, 0, 716, 0, 266, 206, 684, 685, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 0, 267, 0, + 268, 269, 270, 0, 271, 272, 351, 352, 0, 353, + 354, 0, 355, 356, 357, 0, 0, 0, 0, 0, + 0, 0, 394, 395, 396, 397, 64, 65, 398, 0, + 405, 0, 0, 406, 0, 407, 0, 408, 1, 2, + 0, 3, 4, 5, 399, 400, 401, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, + 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 111, 0, 64, 65, 404, 107, + 158, 159, 160, 161, 162, 163, 73, 0, 1, 2, + 0, 3, 4, 5, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 262, + 263, 264, 265, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 262, 263, 264, 265, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 266, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 0, 267, 0, 268, 269, 270, 0, 271, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 405, 0, 0, 406, 0, 407, + 0, 408, 394, 395, 396, 397, 64, 65, 398, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, + 0, 3, 4, 5, 399, 400, 401, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, + 403, 0, 0, 75, 76, 0, 0, 77, 0, 78, + 471, 0, 0, 0, 0, 0, 64, 65, 404, 107, + 158, 159, 160, 161, 162, 163, 73, 0, 1, 2, + 0, 3, 4, 5, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 262, + 263, 264, 265, 0, 0, 0, 0, 64, 65, 74, + 107, 158, 159, 160, 161, 162, 163, 73, 0, 1, + 2, 0, 3, 4, 5, 0, 0, 0, 266, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 0, 267, 0, 268, 269, 270, 0, 271, 272, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 394, 395, 396, 397, 0, 0, 398, 0, 0, 0, + 0, 0, 0, 0, 405, 0, 0, 406, 0, 407, + 0, 408, 399, 400, 401, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 266, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 0, 267, 0, 268, 269, - 270, 0, 271, 272, 0, 64, 65, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, - 3, 4, 5, 259, 112, 0, 0, 0, -67, 0, - 273, 0, 0, 274, 0, 275, 0, 276, 260, 261, + 0, 0, 0, 0, 0, 0, 404, 0, 0, 0, + 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, + 488, 0, 183, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 262, 263, 264, + 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, + 78, 550, 0, 0, 0, 0, 266, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 0, + 267, 0, 268, 269, 270, 0, 271, 272, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 64, 65, 111, 107, 158, 159, 160, 161, 162, - 163, 73, 0, 1, 2, 0, 3, 4, 5, 0, - 0, 0, 0, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 262, 263, - 264, 265, 0, 0, 74, 0, 64, 65, 0, 107, - 158, 159, 160, 161, 162, 163, 73, 0, 1, 2, - 0, 3, 4, 5, 0, 0, 0, 266, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 0, 267, 0, 268, 269, 270, 0, 271, 272, 74, - 64, 65, 0, 107, 158, 159, 160, 161, 162, 163, - 73, 0, 1, 2, 0, 3, 4, 5, 0, 112, - 0, 0, 0, 0, 0, 273, 0, 0, 274, 0, - 275, 0, 276, 0, 0, 0, 0, 0, 0, 0, - 0, 64, 65, 74, 107, 67, 68, 69, 70, 71, + 1, 2, 0, 3, 4, 5, 259, 0, 0, 0, + 0, 0, 405, 0, 0, 406, 0, 407, 0, 408, + 0, 260, 261, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 64, 65, 111, 153, 67, 68, + 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, + 4, 5, 0, 0, 0, 0, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 262, 263, 264, 265, 0, 0, 74, 0, 0, + 0, 64, 65, 0, 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, + 266, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 137, 267, 0, 268, 269, 270, 0, + 271, 272, 64, 65, 74, 153, 67, 68, 69, 70, + 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, + 112, 0, 64, 65, -67, 0, 273, 0, 0, 274, + 0, 275, 0, 276, 1, 2, 0, 3, 4, 5, + 259, 0, 0, 0, 0, 74, 0, 0, 283, 284, + 0, 285, 0, 0, 0, 260, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 75, 76, 0, 137, 77, 0, 78, 464, 0, 0, - 0, 0, 0, 0, 74, 64, 65, 0, 153, 67, - 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, - 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, - 0, 78, 484, 0, 0, 0, 64, 65, 74, 107, - 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, - 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 355, 75, - 76, 0, 0, 77, 0, 78, 545, 64, 65, 74, - 107, 158, 159, 160, 161, 162, 163, 73, 0, 1, - 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, + 111, 75, 76, 0, 0, 77, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 75, 76, 0, 154, 77, 0, 78, 0, 64, 65, - 74, 107, 67, 68, 69, 70, 71, 72, 73, 0, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 262, 263, 264, 265, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, + 154, 0, 77, 0, 78, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 266, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 0, 267, 0, + 268, 269, 270, 0, 271, 272, 0, 0, 0, 75, + 76, 0, 0, 77, 0, 78, 0, 0, 0, 0, + 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, + 273, 0, 0, 274, 0, 275, 0, 276, 64, 65, + 0, 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, 64, 65, 0, 107, 158, 159, 160, 161, 162, 163, 73, 0, 1, 2, - 474, 3, 4, 5, 75, 76, 0, 0, 77, 0, - 78, 74, 0, 0, 0, 64, 65, 0, 107, 67, - 68, 69, 70, 71, 72, 73, 0, 1, 2, 74, - 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 75, 76, 596, 0, 77, - 0, 78, 0, 0, 0, 0, 64, 65, 74, 66, - 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, - 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 75, 76, 0, 377, - 77, 0, 78, 0, 0, 0, 0, 64, 65, 74, - 107, 158, 159, 160, 161, 162, 163, 73, 0, 1, + 359, 3, 4, 5, 0, 0, 0, 0, 0, 64, + 65, 74, 107, 158, 159, 160, 161, 162, 163, 73, + 0, 1, 2, 0, 3, 4, 5, 64, 65, 74, + 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, - 0, 77, 0, 78, 0, 0, 0, 0, 0, 0, - 74, 0, 0, 0, 0, 75, 76, 0, 480, 77, - 0, 78, 64, 65, 0, 153, 67, 68, 69, 70, - 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, - 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, - 78, 64, 65, 0, 107, 67, 68, 69, 70, 71, - 72, 73, 0, 1, 2, 74, 3, 4, 5, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 74, 0, 0, 0, 0, 0, 0, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, + 74, 107, 67, 68, 69, 70, 71, 72, 73, 0, + 1, 2, 0, 3, 4, 5, 0, 0, 0, 64, + 65, 0, 66, 67, 68, 69, 70, 71, 72, 73, + 638, 1, 2, 0, 3, 4, 5, 0, 0, 0, + 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, - 0, 78, 64, 65, 74, 285, 67, 68, 69, 70, - 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, + 0, 78, 74, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 75, 76, 0, 381, 77, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 75, 76, 0, 0, - 77, 0, 78, 64, 65, 74, 107, 158, 159, 160, - 161, 162, 163, 73, 0, 1, 2, 0, 3, 4, - 5, 64, 65, 0, 107, 158, 159, 160, 161, 162, + 0, 0, 0, 0, 0, 0, 75, 76, 0, 484, + 77, 0, 78, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, + 78, 64, 65, 0, 107, 158, 159, 160, 161, 162, 163, 73, 0, 1, 2, 0, 3, 4, 5, 0, - 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, - 0, 75, 76, 0, 0, 77, 0, 78, 0, 0, - 0, 0, 64, 65, 74, 107, 67, 68, 69, 70, - 71, 72, 604, 0, 1, 2, 0, 3, 4, 5, - 75, 76, 0, 0, 77, 0, 78, 64, 65, 0, - 107, 67, 68, 69, 70, 71, 72, 671, 0, 1, - 2, 0, 3, 4, 5, 74, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 76, 0, 0, 77, 0, 78, 0, 0, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 75, 76, 0, 0, 77, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 75, 76, 0, 0, 77, 0, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, + 0, 78, 0, 0, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 76, 0, 0, + 77, 0, 78, 64, 65, 0, 107, 67, 68, 69, + 70, 71, 72, 73, 0, 1, 2, 0, 3, 4, + 5, 64, 65, 0, 289, 67, 68, 69, 70, 71, + 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, + 0, 0, 0, 0, 64, 65, 74, 107, 158, 159, + 160, 161, 162, 163, 73, 0, 1, 2, 0, 3, + 4, 5, 64, 65, 74, 107, 158, 159, 160, 161, + 162, 163, 73, 0, 1, 2, 0, 3, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, + 0, 0, 77, 0, 78, 74, 64, 65, 0, 107, + 67, 68, 69, 70, 71, 72, 645, 0, 1, 2, + 0, 3, 4, 5, 64, 65, 0, 107, 67, 68, + 69, 70, 71, 72, 689, 0, 1, 2, 0, 3, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 75, 76, 0, 0, 77, 0, 78, 74, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, + 0, 0, 77, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 75, 76, 0, 0, 77, 0, 384, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 76, 0, 0, 77, 0, 486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 75, 76, 0, 0, 77, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 175, 176, 0, 0, 0, 75, 76, 0, 0, - 77, 0, 78, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 0, 0, + 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, + 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, + 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, + 0, 75, 76, 0, 0, 77, 0, 78, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 202, 203, - 204, 0, 0, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226 + 0, 0, 0, 202, 203, 204, 0, 0, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226 }; static const yytype_int16 yycheck[] = { - 0, 27, 179, 166, 274, 275, 128, 4, 247, 11, - 11, 21, 460, 204, 28, 55, 55, 17, 0, 29, - 200, 55, 289, 290, 167, 292, 201, 34, 219, 220, - 221, 222, 223, 325, 164, 17, 180, 664, 229, 55, - 11, 34, 163, 173, 42, 43, 44, 45, 46, 47, - 48, 49, 78, 51, 11, 164, 164, 684, 53, 55, - 327, 54, 448, 449, 173, 173, 163, 55, 335, 336, - 337, 338, 339, 68, 164, 156, 102, 38, 55, 7, - 106, 171, 262, 54, 264, 166, 112, 231, 263, 164, - 265, 19, 118, 93, 22, 164, 24, 54, 173, 164, - 55, 59, 128, 11, 173, 248, 249, 164, 173, 17, - 380, 55, 41, 42, 171, 18, 142, 143, 164, 48, - 146, 161, 161, 169, 0, 54, 152, 161, 167, 169, - 475, 401, 402, 403, 141, 142, 143, 144, 586, 146, - 46, 55, 48, 150, 151, 161, 413, 414, 415, 416, - 417, 177, 343, 539, 20, 171, 423, 23, 172, 164, - 158, 159, 160, 173, 169, 161, 162, 169, 169, 436, - 437, 293, 620, 161, 162, 172, 202, 203, 204, 205, - 141, 142, 143, 144, 161, 146, 121, 169, 165, 150, - 151, 163, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 154, 286, 161, 157, 289, 290, - 165, 292, 482, 239, 32, 33, 151, 161, 409, 341, - 164, 165, 514, 35, 250, 37, 164, 42, 495, 44, - 497, 169, 163, 500, 425, 167, 427, 428, 429, 3, - 4, 5, 6, 510, 511, 163, 327, 161, 117, 118, - 164, 165, 597, 22, 335, 336, 337, 338, 339, 604, - 605, 21, 26, 27, 556, 22, 558, 293, 158, 159, - 160, 54, 62, 63, 64, 65, 66, 67, 304, 42, - 43, 44, 549, 550, 47, 552, 553, 554, 555, 141, - 142, 143, 144, 560, 146, 321, 322, 323, 150, 151, - 22, 568, 465, 542, 162, 22, 164, 574, 3, 4, - 5, 6, 162, 161, 164, 341, 342, 343, 162, 162, - 164, 164, 4, 668, 669, 37, 671, 672, 7, 8, - 622, 4, 413, 414, 415, 416, 417, 168, 121, 122, - 19, 20, 423, 22, 23, 24, 155, 156, 615, 114, - 115, 696, 697, 161, 380, 436, 437, 168, 141, 142, - 165, 144, 145, 389, 147, 148, 149, 162, 559, 164, - 4, 562, 563, 564, 163, 642, 643, 162, 22, 164, - 132, 133, 19, 409, 465, 22, 164, 24, 132, 133, - 132, 133, 84, 85, 162, 662, 171, 4, 9, 425, - 426, 427, 428, 429, 162, 644, 161, 9, 9, 435, - 649, 9, 9, 9, 495, 55, 497, 54, 57, 500, - 11, 688, 689, 171, 450, 162, 161, 161, 695, 510, - 511, 161, 699, 161, 161, 370, 371, 372, 373, 374, - 375, 376, 709, 161, 22, 161, 161, 161, 715, 38, - 385, 386, 387, 161, 161, 164, 482, 4, 164, 164, - 164, 164, 164, 164, 641, 38, 164, 161, 549, 550, - 161, 552, 553, 554, 555, 161, 161, 61, 22, 560, - 164, 164, 171, 509, 121, 122, 167, 568, 665, 515, - 26, 27, 164, 574, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 141, 142, 164, 144, 145, 535, - 147, 148, 149, 164, 164, 541, 451, 452, 453, 454, - 38, 164, 164, 164, 22, 551, 164, 462, 164, 164, - 17, 164, 164, 559, 615, 164, 562, 563, 564, 164, - 540, 162, 17, 7, 8, 571, 10, 11, 12, 13, - 14, 15, 16, 17, 164, 19, 20, 161, 22, 23, - 24, 642, 643, 4, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 164, 164, - 4, 662, 164, 164, 164, 164, 50, 164, 164, 524, - 525, 526, 527, 4, 529, 164, 161, 164, 533, 534, - 164, 164, 164, 164, 22, 171, 4, 688, 689, 164, - 164, 171, 4, 164, 695, 54, 162, 162, 699, 645, - 22, 164, 164, 162, 164, 54, 17, 162, 709, 167, - 171, 162, 169, 162, 715, 635, 162, 169, 162, 162, - 162, 576, 577, 578, 579, 3, 4, 5, 6, 7, - 8, 9, 4, 152, 161, 0, 161, 22, 153, 161, - 164, 19, 20, 17, 22, 23, 24, 25, 26, 27, - 17, 164, 73, 18, 19, 20, 17, 22, 23, 24, - 163, 17, 40, 41, 635, 30, 31, 93, 713, 598, - 239, 112, 627, 106, 629, 630, 54, 250, 17, 133, - 90, 59, 166, 167, 57, 455, 170, 52, 172, 173, - 571, 56, -1, 133, -1, 60, -1, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, -1, 7, 8, -1, - 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, + 0, 27, 179, 247, 166, 169, 204, 4, 11, 0, + 11, 467, 21, 274, 275, 28, 167, 17, 329, 11, + 29, 219, 220, 221, 222, 223, 17, 545, 180, 297, + 19, 229, 55, 22, 55, 24, 34, 55, 55, 53, + 200, 455, 456, 201, 11, 161, 7, 666, 162, 11, + 55, 162, 78, 59, 68, 17, 54, 171, 19, 55, + 171, 22, 54, 24, 683, 54, 42, 43, 44, 45, + 46, 47, 48, 49, 156, 51, 102, 345, 161, 231, + 106, 55, 162, 55, 166, 162, 112, 54, 162, 162, + 162, 171, 118, 93, 171, 169, 169, 248, 249, 171, + 162, 55, 262, 162, 264, 263, 162, 265, 167, 171, + 162, 167, 55, 32, 33, 167, 142, 143, 41, 42, + 146, 639, 18, 384, 38, 48, 152, 645, 646, 543, + 161, 54, 121, 122, 20, 591, 159, 23, 159, 162, + 163, 159, 159, 169, 405, 406, 407, 165, 169, 347, + 167, 177, 141, 142, 159, 144, 145, 170, 147, 148, + 149, 0, 171, 159, 167, 621, 167, 163, 686, 687, + 165, 689, 690, 170, 132, 133, 202, 203, 204, 205, + 156, 157, 158, 117, 118, 159, 160, 159, 706, 707, + 162, 163, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 161, 159, 34, 518, 290, 163, + 161, 293, 294, 239, 296, 413, 159, 160, 22, 3, + 4, 5, 6, 21, 250, 486, 159, 141, 142, 143, + 144, 429, 146, 431, 432, 433, 150, 151, 37, 153, + 154, 155, 26, 27, 132, 133, 42, 43, 44, 331, + 561, 47, 563, 417, 7, 8, 22, 339, 340, 341, + 342, 343, 35, 121, 37, 22, 19, 20, 22, 22, + 23, 24, 3, 4, 5, 6, 440, 4, 141, 142, + 143, 144, 308, 146, 46, 54, 48, 150, 151, 4, + 153, 154, 155, 151, 166, 42, 287, 44, 166, 325, + 326, 327, 62, 63, 64, 65, 66, 67, 163, 160, + 472, 162, 623, 141, 142, 143, 144, 160, 146, 162, + 346, 347, 150, 151, 159, 153, 154, 155, 4, 156, + 157, 158, 132, 133, 114, 115, 418, 419, 420, 421, + 160, 160, 162, 162, 160, 427, 162, 84, 85, 161, + 22, 162, 121, 122, 160, 169, 4, 601, 384, 441, + 9, 55, 26, 27, 9, 160, 564, 159, 9, 567, + 568, 569, 141, 142, 9, 144, 145, 9, 147, 148, + 149, 9, 57, 169, 11, 160, 22, 413, 159, 159, + 472, 417, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 4, 429, 430, 431, 432, 433, 159, 159, + 159, 159, 494, 439, 440, 159, 159, 499, 159, 501, + 159, 38, 504, 38, 162, 22, 670, 162, 162, 673, + 162, 457, 514, 515, 162, 517, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 162, 162, 159, 159, 159, 481, 159, 61, 162, 159, + 486, 162, 38, 162, 162, 22, 162, 644, 165, 162, + 162, 162, 554, 555, 162, 557, 558, 559, 560, 162, + 162, 162, 162, 565, 0, 162, 17, 513, 17, 162, + 667, 573, 162, 519, 162, 169, 162, 579, 4, 162, + 162, 162, 18, 19, 20, 162, 22, 23, 24, 162, + 162, 162, 4, 539, 30, 31, 374, 375, 376, 377, + 378, 379, 380, 4, 162, 162, 169, 22, 0, 162, + 4, 389, 390, 391, 616, 169, 52, 162, 564, 162, + 56, 567, 568, 569, 60, 159, 18, 19, 20, 162, + 22, 23, 24, 162, 160, 162, 4, 162, 30, 31, + 293, 294, 162, 296, 159, 54, 160, 22, 169, 162, + 162, 160, 160, 17, 600, 162, 167, 160, 160, 165, + 52, 607, 664, 160, 56, 160, 668, 669, 60, 167, + 160, 160, 160, 54, 4, 162, 622, 152, 331, 599, + 458, 459, 460, 461, 22, 159, 339, 340, 341, 342, + 343, 469, 159, 17, 162, 17, 17, 73, 700, 701, + 17, 703, 661, 705, 93, 640, 112, 709, 239, 106, + 250, 7, 8, 715, 10, 11, 12, 13, 14, 15, + 16, 17, 17, 19, 20, 671, 22, 23, 24, 90, + 7, 8, 57, 10, 11, 12, 13, 14, 15, 16, + 17, 661, 19, 20, -1, 22, 23, 24, 133, 622, + 528, 529, 530, 531, 50, 533, 133, 462, -1, 537, + 538, -1, -1, -1, -1, 418, 419, 420, 421, -1, + -1, -1, -1, 50, 427, -1, -1, 7, 8, -1, + 10, 11, 12, 13, 14, 15, 16, 17, 441, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, - -1, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, -1, 133, -1, 135, 136, 137, - 50, 139, 140, 141, 142, -1, 144, 145, -1, 147, - 148, 149, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, -1, 167, - -1, -1, 170, -1, 172, -1, 174, 19, 20, -1, - 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, -1, 7, 8, 59, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, -1, -1, -1, -1, 166, 167, 50, -1, - 170, -1, 172, 173, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - -1, 133, -1, 135, 136, 137, -1, 139, 140, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, - -1, -1, -1, -1, -1, 167, -1, -1, 170, -1, - 172, -1, 174, 3, 4, 5, 6, 7, 8, 9, - -1, -1, 0, -1, -1, -1, -1, -1, -1, 19, - 20, -1, 22, 23, 24, 25, 26, 27, -1, -1, - 18, 19, 20, -1, 22, 23, 24, -1, -1, -1, - 40, 41, 30, 31, 166, 167, -1, -1, 170, -1, - 172, 173, -1, -1, -1, -1, -1, -1, -1, 59, - -1, -1, -1, -1, 52, -1, -1, -1, 56, -1, - -1, -1, 60, -1, -1, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, -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, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, -1, 133, -1, 135, 136, 137, -1, 139, - 140, 3, 4, 5, 6, -1, -1, 9, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 25, 26, 27, -1, 167, -1, -1, - 170, -1, 172, -1, 174, -1, -1, -1, 40, 41, + -1, -1, -1, 581, 582, 583, 584, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, -1, -1, -1, -1, -1, -1, -1, -1, + 50, -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, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - -1, 133, -1, 135, 136, 137, -1, 139, 140, -1, - 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 19, 20, -1, 22, 23, 24, 25, -1, - -1, -1, -1, -1, -1, 167, -1, -1, 170, -1, - 172, -1, 174, 40, 41, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, + -1, 494, -1, -1, -1, -1, 499, -1, 501, -1, + 628, 504, 630, 631, -1, -1, -1, -1, -1, -1, + -1, 514, 515, -1, 517, -1, -1, -1, 164, 165, + -1, -1, 168, -1, 170, 171, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 164, 165, -1, + -1, 168, -1, 170, 171, -1, -1, -1, -1, -1, + -1, 554, 555, -1, 557, 558, 559, 560, -1, -1, + -1, -1, 565, -1, -1, -1, -1, -1, -1, -1, + 573, -1, -1, -1, -1, -1, 579, -1, -1, -1, + -1, -1, -1, -1, 164, 165, -1, -1, 168, -1, + 170, 171, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, + -1, -1, -1, 616, 19, 20, -1, 22, 23, 24, + 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 40, 41, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, + -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, 664, -1, -1, -1, 668, 669, -1, -1, -1, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + -1, -1, -1, -1, -1, -1, -1, 700, 701, -1, + 703, -1, 705, -1, -1, -1, 709, -1, -1, -1, + -1, -1, 715, -1, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, -1, 133, -1, + 135, 136, 137, -1, 139, 140, 141, 142, -1, 144, + 145, -1, 147, 148, 149, -1, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, -1, + 165, -1, -1, 168, -1, 170, -1, 172, 19, 20, + -1, 22, 23, 24, 25, 26, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, + 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, -1, 7, 8, 59, 10, + 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, + -1, 22, 23, 24, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, -1, 133, -1, 135, 136, 137, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 159, -1, + -1, -1, -1, -1, 165, -1, -1, 168, -1, 170, + -1, 172, 3, 4, 5, 6, 7, 8, 9, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 19, 20, + -1, 22, 23, 24, 25, 26, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, + 41, -1, -1, 164, 165, -1, -1, 168, -1, 170, + 171, -1, -1, -1, -1, -1, 7, 8, 59, 10, + 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, + -1, 22, 23, 24, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, -1, -1, -1, 7, 8, 50, + 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, + 20, -1, 22, 23, 24, -1, -1, -1, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, -1, 133, -1, 135, 136, 137, -1, 139, 140, + 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, -1, -1, 9, -1, -1, -1, + -1, -1, -1, -1, 165, -1, -1, 168, -1, 170, + -1, 172, 25, 26, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, -1, 133, -1, 135, 136, - 137, -1, 139, 140, -1, 7, 8, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 19, 20, -1, - 22, 23, 24, 25, 161, -1, -1, -1, 165, -1, - 167, -1, -1, 170, -1, 172, -1, 174, 40, 41, + -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, + -1, -1, -1, 164, 165, -1, -1, 168, -1, 170, + 171, -1, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 164, 165, -1, -1, 168, -1, + 170, 171, -1, -1, -1, -1, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, -1, + 133, -1, 135, 136, 137, -1, 139, 140, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 7, 8, 55, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, - -1, -1, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, -1, -1, 50, -1, 7, 8, -1, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, -1, -1, -1, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - -1, 133, -1, 135, 136, 137, -1, 139, 140, 50, - 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, - 17, -1, 19, 20, -1, 22, 23, 24, -1, 161, - -1, -1, -1, -1, -1, 167, -1, -1, 170, -1, - 172, -1, 174, -1, -1, -1, -1, -1, -1, -1, - -1, 7, 8, 50, 10, 11, 12, 13, 14, 15, + 19, 20, -1, 22, 23, 24, 25, -1, -1, -1, + -1, -1, 165, -1, -1, 168, -1, 170, -1, 172, + -1, 40, 41, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 7, 8, 55, 10, 11, 12, + 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, + 23, 24, -1, -1, -1, -1, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, -1, 50, -1, -1, + -1, 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 39, 133, -1, 135, 136, 137, -1, + 139, 140, 7, 8, 50, 10, 11, 12, 13, 14, + 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, + 159, -1, 7, 8, 163, -1, 165, -1, -1, 168, + -1, 170, -1, 172, 19, 20, -1, 22, 23, 24, + 25, -1, -1, -1, -1, 50, -1, -1, 141, 142, + -1, 144, -1, -1, -1, 40, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 166, 167, -1, 39, 170, -1, 172, 173, -1, -1, - -1, -1, -1, -1, 50, 7, 8, -1, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 166, 167, -1, -1, 170, - -1, 172, 173, -1, -1, -1, 7, 8, 50, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 39, 166, - 167, -1, -1, 170, -1, 172, 173, 7, 8, 50, - 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, + 55, 164, 165, -1, -1, 168, -1, 170, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 166, 167, -1, 125, 170, -1, 172, -1, 7, 8, - 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 164, 165, + 125, -1, 168, -1, 170, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, -1, 133, -1, + 135, 136, 137, -1, 139, 140, -1, -1, -1, 164, + 165, -1, -1, 168, -1, 170, -1, -1, -1, -1, + -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, + 165, -1, -1, 168, -1, 170, -1, 172, 7, 8, + -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - 39, 22, 23, 24, 166, 167, -1, -1, 170, -1, - 172, 50, -1, -1, -1, 7, 8, -1, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, 50, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 166, 167, 39, -1, 170, - -1, 172, -1, -1, -1, -1, 7, 8, 50, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 166, 167, -1, 169, - 170, -1, 172, -1, -1, -1, -1, 7, 8, 50, + 39, 22, 23, 24, -1, -1, -1, -1, -1, 7, + 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, + -1, 19, 20, -1, 22, 23, 24, 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 166, 167, -1, - -1, 170, -1, 172, -1, -1, -1, -1, -1, -1, - 50, -1, -1, -1, -1, 166, 167, -1, 169, 170, - -1, 172, 7, 8, -1, 10, 11, 12, 13, 14, - 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, - -1, -1, -1, -1, 166, 167, -1, -1, 170, -1, - 172, 7, 8, -1, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, 50, 22, 23, 24, -1, + -1, -1, 50, -1, -1, -1, -1, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 7, 8, + 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, + 19, 20, -1, 22, 23, 24, -1, -1, -1, 7, + 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, + 39, 19, 20, -1, 22, 23, 24, -1, -1, -1, + -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 164, 165, -1, -1, 168, + -1, 170, 50, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 164, 165, -1, 167, 168, -1, 170, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 166, 167, -1, -1, 170, - -1, 172, 7, 8, 50, 10, 11, 12, 13, 14, - 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, + -1, -1, -1, -1, -1, -1, 164, 165, -1, 167, + 168, -1, 170, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 164, 165, -1, -1, 168, -1, + 170, 7, 8, -1, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 166, 167, -1, -1, - 170, -1, 172, 7, 8, 50, 10, 11, 12, 13, + -1, -1, -1, -1, -1, 164, 165, -1, -1, 168, + -1, 170, -1, -1, 50, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 164, 165, -1, -1, + 168, -1, 170, 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, - -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, - -1, 166, 167, -1, -1, 170, -1, 172, -1, -1, - -1, -1, 7, 8, 50, 10, 11, 12, 13, 14, + -1, -1, -1, -1, 7, 8, 50, 10, 11, 12, + 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, + 23, 24, 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, - 166, 167, -1, -1, 170, -1, 172, 7, 8, -1, - 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, -1, 22, 23, 24, 50, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 166, 167, -1, -1, 170, -1, 172, -1, -1, - 50, -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, 166, 167, -1, -1, 170, -1, 172, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 166, 167, -1, -1, 170, -1, 172, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 164, 165, + -1, -1, 168, -1, 170, 50, 7, 8, -1, 10, + 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, + -1, 22, 23, 24, 7, 8, -1, 10, 11, 12, + 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, + 23, 24, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 164, 165, -1, -1, 168, -1, 170, 50, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 164, 165, + -1, -1, 168, -1, 170, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 164, 165, -1, -1, 168, -1, 170, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 164, + 165, -1, -1, 168, -1, 170, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 36, 166, 167, -1, -1, 170, -1, 172, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 57, 58, -1, -1, -1, 166, 167, -1, -1, - 170, -1, 172, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, -1, -1, + -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, + -1, -1, -1, 164, 165, -1, -1, 168, -1, 170, + -1, -1, -1, -1, -1, -1, 57, 58, -1, -1, + -1, 164, 165, -1, -1, 168, -1, 170, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -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, 114, 115, - 116, -1, -1, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140 + -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2758,77 +2772,77 @@ static const yytype_int16 yycheck[] = static const yytype_uint16 yystos[] = { 0, 19, 20, 22, 23, 24, 30, 31, 52, 56, - 60, 183, 186, 188, 189, 190, 225, 226, 227, 229, - 228, 53, 68, 234, 163, 59, 163, 18, 163, 42, - 43, 44, 45, 46, 47, 48, 49, 51, 158, 159, - 160, 191, 192, 193, 0, 227, 46, 48, 194, 244, - 42, 43, 44, 47, 195, 241, 243, 251, 163, 163, - 167, 235, 22, 233, 7, 8, 10, 11, 12, 13, - 14, 15, 16, 17, 50, 166, 167, 170, 172, 183, - 188, 212, 213, 247, 193, 193, 35, 37, 223, 193, - 193, 21, 252, 253, 29, 173, 242, 252, 22, 22, - 22, 236, 161, 4, 4, 4, 172, 10, 173, 213, - 218, 55, 161, 185, 223, 223, 42, 44, 196, 32, - 33, 222, 62, 63, 64, 65, 66, 67, 197, 239, - 239, 7, 186, 187, 256, 164, 169, 39, 213, 214, - 216, 217, 168, 168, 173, 218, 164, 173, 161, 217, - 165, 222, 222, 10, 125, 213, 215, 224, 11, 12, - 13, 14, 15, 16, 181, 182, 213, 219, 4, 215, - 28, 172, 240, 163, 36, 57, 58, 69, 70, 71, + 60, 181, 184, 186, 187, 188, 222, 223, 224, 226, + 225, 53, 68, 231, 161, 59, 161, 18, 161, 42, + 43, 44, 45, 46, 47, 48, 49, 51, 156, 157, + 158, 189, 190, 191, 0, 224, 46, 48, 192, 241, + 42, 43, 44, 47, 193, 238, 240, 248, 161, 161, + 165, 232, 22, 230, 7, 8, 10, 11, 12, 13, + 14, 15, 16, 17, 50, 164, 165, 168, 170, 181, + 186, 209, 210, 244, 191, 191, 35, 37, 220, 191, + 191, 21, 249, 250, 29, 171, 239, 249, 22, 22, + 22, 233, 159, 4, 4, 4, 170, 10, 171, 210, + 215, 55, 159, 183, 220, 220, 42, 44, 194, 32, + 33, 219, 62, 63, 64, 65, 66, 67, 195, 236, + 236, 7, 184, 185, 253, 162, 167, 39, 210, 211, + 213, 214, 166, 166, 171, 215, 162, 171, 159, 214, + 163, 219, 219, 10, 125, 210, 212, 221, 11, 12, + 13, 14, 15, 16, 179, 180, 210, 216, 4, 199, + 28, 170, 237, 161, 36, 57, 58, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 114, 115, 116, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 176, 177, 178, - 254, 261, 262, 263, 264, 254, 262, 22, 199, 164, - 162, 213, 213, 171, 173, 213, 4, 162, 219, 213, - 161, 247, 26, 27, 3, 4, 5, 6, 9, 25, + 134, 135, 136, 137, 138, 139, 140, 174, 175, 176, + 251, 258, 259, 260, 261, 251, 259, 22, 197, 162, + 160, 210, 210, 169, 171, 210, 4, 160, 216, 210, + 159, 244, 26, 27, 3, 4, 5, 6, 9, 25, 40, 41, 90, 91, 92, 93, 119, 133, 135, 136, - 137, 139, 140, 167, 170, 172, 174, 176, 177, 178, - 220, 247, 185, 188, 57, 10, 213, 249, 250, 11, - 17, 11, 181, 197, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 179, 26, 27, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 180, 179, 180, 213, 213, 249, 213, 213, 257, - 249, 249, 249, 249, 249, 213, 213, 213, 213, 213, - 249, 197, 117, 118, 54, 121, 122, 141, 142, 144, - 145, 147, 148, 149, 198, 39, 214, 201, 169, 171, - 171, 162, 201, 185, 185, 224, 179, 180, 179, 180, - 161, 161, 161, 161, 161, 161, 161, 169, 219, 221, - 172, 221, 173, 221, 22, 161, 161, 161, 230, 161, - 3, 4, 5, 6, 9, 25, 26, 27, 40, 41, - 59, 167, 170, 172, 174, 220, 246, 247, 248, 164, - 248, 248, 248, 215, 213, 213, 213, 213, 164, 207, - 164, 207, 248, 167, 164, 164, 164, 164, 164, 164, - 248, 248, 248, 248, 248, 38, 215, 213, 249, 4, - 141, 142, 143, 144, 146, 150, 151, 200, 231, 232, - 38, 161, 161, 161, 161, 219, 219, 219, 219, 219, - 219, 219, 164, 169, 173, 213, 221, 171, 173, 219, - 219, 219, 164, 210, 39, 213, 237, 238, 61, 245, - 169, 221, 172, 221, 173, 221, 22, 249, 164, 164, - 248, 248, 248, 248, 248, 11, 54, 11, 259, 248, - 167, 249, 213, 249, 249, 249, 164, 164, 260, 164, - 164, 164, 213, 248, 248, 164, 210, 210, 213, 219, - 219, 219, 219, 259, 164, 164, 164, 164, 260, 164, - 219, 171, 173, 164, 164, 38, 34, 54, 208, 211, - 199, 164, 162, 22, 169, 173, 221, 171, 173, 17, - 17, 161, 164, 164, 164, 164, 248, 4, 248, 164, - 164, 248, 164, 164, 164, 4, 4, 164, 213, 248, - 248, 161, 164, 207, 213, 162, 164, 164, 164, 164, - 162, 219, 219, 219, 219, 162, 219, 171, 219, 219, - 213, 22, 4, 210, 183, 184, 39, 213, 201, 164, - 171, 173, 248, 248, 17, 213, 258, 248, 248, 248, - 248, 207, 207, 249, 248, 164, 249, 249, 249, 4, - 248, 258, 248, 219, 219, 219, 219, 164, 162, 164, - 164, 260, 162, 162, 162, 199, 208, 209, 22, 171, - 164, 167, 199, 199, 162, 164, 169, 248, 260, 162, - 207, 162, 162, 162, 162, 219, 219, 219, 162, 184, - 54, 206, 17, 169, 181, 255, 121, 122, 248, 248, - 201, 17, 213, 169, 201, 162, 162, 162, 4, 152, - 205, 248, 246, 169, 181, 199, 199, 38, 199, 199, - 22, 153, 204, 164, 246, 17, 248, 248, 161, 17, - 164, 248, 199, 199, 154, 157, 202, 203, 248, 17, - 73, 163, 162, 164, 248, 17, 155, 156, 203, 248 + 137, 139, 140, 165, 168, 170, 172, 174, 175, 176, + 217, 244, 183, 141, 142, 144, 198, 212, 57, 10, + 210, 246, 247, 11, 17, 11, 179, 195, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 177, 26, + 27, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 178, 177, 178, 210, 210, + 246, 210, 210, 254, 246, 246, 246, 246, 246, 210, + 210, 210, 210, 210, 246, 195, 117, 118, 54, 121, + 122, 141, 142, 144, 145, 147, 148, 149, 196, 39, + 211, 201, 167, 169, 169, 160, 201, 183, 183, 221, + 177, 178, 177, 178, 159, 159, 159, 159, 159, 159, + 159, 167, 216, 218, 170, 218, 171, 218, 22, 159, + 159, 159, 227, 186, 3, 4, 5, 6, 9, 25, + 26, 27, 40, 41, 59, 165, 168, 170, 172, 217, + 243, 244, 245, 162, 245, 245, 245, 199, 210, 210, + 210, 210, 162, 204, 162, 204, 245, 165, 162, 162, + 162, 162, 162, 162, 245, 245, 245, 245, 245, 38, + 199, 210, 246, 4, 141, 142, 143, 144, 146, 150, + 151, 153, 154, 155, 200, 228, 229, 38, 159, 159, + 159, 159, 216, 216, 216, 216, 216, 216, 216, 162, + 167, 171, 210, 218, 169, 171, 216, 216, 216, 162, + 207, 159, 61, 242, 167, 218, 170, 218, 171, 218, + 22, 246, 162, 162, 212, 245, 245, 245, 245, 11, + 54, 11, 256, 245, 165, 246, 210, 246, 246, 246, + 162, 162, 257, 162, 162, 162, 210, 212, 245, 162, + 207, 207, 210, 216, 216, 216, 216, 256, 162, 162, + 162, 162, 257, 162, 216, 169, 171, 162, 162, 38, + 34, 54, 205, 208, 39, 210, 234, 235, 22, 167, + 171, 218, 169, 171, 17, 17, 245, 162, 162, 162, + 162, 245, 4, 245, 162, 162, 245, 162, 162, 162, + 4, 4, 162, 210, 245, 245, 245, 162, 204, 210, + 160, 162, 162, 162, 162, 160, 216, 216, 216, 216, + 160, 216, 169, 216, 216, 210, 22, 4, 207, 197, + 162, 160, 162, 169, 171, 245, 245, 159, 245, 245, + 245, 245, 204, 204, 246, 245, 162, 246, 246, 246, + 4, 245, 159, 245, 216, 216, 216, 216, 162, 160, + 162, 162, 257, 160, 160, 160, 181, 182, 39, 210, + 201, 22, 169, 162, 165, 17, 210, 255, 167, 245, + 257, 255, 204, 160, 160, 160, 160, 216, 216, 216, + 160, 197, 205, 206, 17, 167, 179, 252, 197, 197, + 160, 162, 167, 160, 160, 160, 160, 182, 54, 203, + 245, 243, 167, 179, 121, 122, 245, 245, 201, 17, + 210, 201, 4, 152, 202, 162, 243, 197, 197, 38, + 197, 197, 22, 17, 162, 17, 245, 245, 245, 17, + 245, 197, 197, 245, 73, 17, 245 }; #define yyerrok (yyerrstatus = 0) @@ -3643,152 +3657,152 @@ yyreduce: switch (yyn) { case 29: -#line 1146 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1142 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;} break; case 30: -#line 1146 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1142 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;} break; case 31: -#line 1147 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1143 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;} break; case 32: -#line 1147 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1143 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;} break; case 33: -#line 1148 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1144 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;} break; case 34: -#line 1148 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1144 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;} break; case 35: -#line 1149 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1145 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;} break; case 36: -#line 1149 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1145 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;} break; case 37: -#line 1150 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1146 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;} break; case 38: -#line 1150 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1146 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;} break; case 39: -#line 1154 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1150 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;} break; case 40: -#line 1154 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1150 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;} break; case 41: -#line 1155 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1151 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;} break; case 42: -#line 1155 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1151 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;} break; case 43: -#line 1156 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1152 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;} break; case 44: -#line 1156 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1152 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;} break; case 45: -#line 1157 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1153 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;} break; case 46: -#line 1157 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1153 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;} break; case 47: -#line 1158 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1154 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;} break; case 48: -#line 1158 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1154 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;} break; case 49: -#line 1159 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1155 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;} break; case 50: -#line 1159 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1155 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;} break; case 51: -#line 1160 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1156 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;} break; case 52: -#line 1160 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1156 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;} break; case 53: -#line 1161 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1157 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;} break; case 54: -#line 1162 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1158 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;} break; case 65: -#line 1171 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1167 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; case 66: -#line 1173 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1169 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal)=(yyvsp[(3) - (4)].UInt64Val); ;} break; case 67: -#line 1174 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1170 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal)=0; ;} break; case 68: -#line 1178 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1174 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal); CHECK_FOR_ERROR @@ -3796,7 +3810,7 @@ yyreduce: break; case 69: -#line 1182 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1178 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3804,7 +3818,7 @@ yyreduce: break; case 70: -#line 1187 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1183 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(1) - (2)].UIntVal); CHECK_FOR_ERROR @@ -3812,7 +3826,7 @@ yyreduce: break; case 74: -#line 1196 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1192 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3820,7 +3834,7 @@ yyreduce: break; case 75: -#line 1201 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1197 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal); CHECK_FOR_ERROR @@ -3828,157 +3842,157 @@ yyreduce: break; case 76: -#line 1207 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1203 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 77: -#line 1208 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1204 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 78: -#line 1209 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1205 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 79: -#line 1210 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1206 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 80: -#line 1211 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1207 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 81: -#line 1212 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1208 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::CommonLinkage; ;} break; case 82: -#line 1216 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1212 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 83: -#line 1217 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1213 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 84: -#line 1218 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1214 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 85: -#line 1222 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1218 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;} break; case 86: -#line 1223 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1219 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;} break; case 87: -#line 1224 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1220 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::HiddenVisibility; ;} break; case 88: -#line 1225 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1221 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;} break; case 89: -#line 1229 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1225 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 90: -#line 1230 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1226 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 91: -#line 1231 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1227 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 92: -#line 1235 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1231 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 93: -#line 1236 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1232 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 94: -#line 1237 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1233 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 95: -#line 1238 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1234 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 96: -#line 1239 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1235 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 97: -#line 1243 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1239 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 98: -#line 1244 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1240 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 99: -#line 1245 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1241 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 100: -#line 1248 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1244 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::C; ;} break; case 101: -#line 1249 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1245 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::C; ;} break; case 102: -#line 1250 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1246 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Fast; ;} break; case 103: -#line 1251 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1247 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Cold; ;} break; case 104: -#line 1252 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1248 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} break; case 105: -#line 1253 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1249 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} break; case 106: -#line 1254 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1250 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) GEN_ERROR("Calling conv too large"); @@ -3988,181 +4002,176 @@ yyreduce: break; case 107: -#line 1261 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1257 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ZExt; ;} break; case 108: -#line 1262 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1258 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ZExt; ;} break; case 109: -#line 1263 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1259 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::SExt; ;} break; case 110: -#line 1264 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1260 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::SExt; ;} break; case 111: -#line 1265 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1261 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::InReg; ;} break; case 112: -#line 1266 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1262 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::StructRet; ;} break; case 113: -#line 1267 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1263 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::NoAlias; ;} break; case 114: -#line 1268 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1264 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ByVal; ;} break; case 115: -#line 1269 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1265 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::Nest; ;} break; case 116: -#line 1270 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1266 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val)); ;} break; case 117: -#line 1274 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1270 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::None; ;} break; case 118: -#line 1275 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1271 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); ;} break; case 119: -#line 1280 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::NoReturn; ;} +#line 1276 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::InReg; ;} break; case 120: -#line 1281 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::NoUnwind; ;} +#line 1277 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::ZExt; ;} break; case 121: -#line 1282 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::InReg; ;} +#line 1278 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::SExt; ;} break; case 122: -#line 1283 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ZExt; ;} +#line 1281 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::None; ;} break; case 123: -#line 1284 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::SExt; ;} +#line 1282 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { + (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); + ;} break; case 124: -#line 1285 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ReadNone; ;} +#line 1288 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::NoReturn; ;} break; case 125: -#line 1286 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ReadOnly; ;} +#line 1289 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::NoUnwind; ;} break; case 126: -#line 1289 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::None; ;} +#line 1290 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::InReg; ;} break; case 127: -#line 1290 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { - (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); - ;} +#line 1291 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::ZExt; ;} break; case 128: -#line 1295 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = (yyvsp[(1) - (1)].Attributes); ;} +#line 1292 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::SExt; ;} break; case 129: -#line 1296 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { - unsigned tmp = (yyvsp[(1) - (3)].Attributes) | (yyvsp[(3) - (3)].Attributes); - if ((yyvsp[(3) - (3)].Attributes) == Attribute::NoInline - && ((yyvsp[(1) - (3)].Attributes) & Attribute::AlwaysInline)) - GEN_ERROR("Function Notes may include only one inline notes!") - if ((yyvsp[(3) - (3)].Attributes) == Attribute::AlwaysInline - && ((yyvsp[(1) - (3)].Attributes) & Attribute::NoInline)) - GEN_ERROR("Function Notes may include only one inline notes!") - (yyval.Attributes) = tmp; - CHECK_FOR_ERROR - ;} +#line 1293 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::ReadNone; ;} break; case 130: -#line 1309 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::NoInline; ;} +#line 1294 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::ReadOnly; ;} break; case 131: -#line 1310 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::AlwaysInline; ;} +#line 1295 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::NoInline ;} break; case 132: -#line 1311 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::OptimizeForSize; ;} +#line 1296 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::AlwaysInline ;} break; case 133: -#line 1314 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::None; ;} +#line 1297 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::OptimizeForSize ;} break; case 134: -#line 1315 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1300 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::None; ;} + break; + + case 135: +#line 1301 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { - (yyval.Attributes) = (yyvsp[(3) - (4)].Attributes); + (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); ;} break; - case 135: -#line 1320 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 136: +#line 1307 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 136: -#line 1321 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 137: +#line 1308 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal); ;} break; - case 137: -#line 1328 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 138: +#line 1315 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 138: -#line 1329 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 139: +#line 1316 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4171,13 +4180,13 @@ yyreduce: ;} break; - case 139: -#line 1335 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 140: +#line 1322 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 140: -#line 1336 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 141: +#line 1323 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4186,8 +4195,8 @@ yyreduce: ;} break; - case 141: -#line 1345 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 142: +#line 1332 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { for (unsigned i = 0, e = (yyvsp[(2) - (2)].StrVal)->length(); i != e; ++i) if ((*(yyvsp[(2) - (2)].StrVal))[i] == '"' || (*(yyvsp[(2) - (2)].StrVal))[i] == '\\') @@ -4197,28 +4206,28 @@ yyreduce: ;} break; - case 142: -#line 1353 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 143: +#line 1340 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 143: -#line 1354 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 144: +#line 1341 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;} break; - case 144: -#line 1359 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 145: +#line 1346 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" {;} break; - case 145: -#line 1360 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 146: +#line 1347 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" {;} break; - case 146: -#line 1361 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 147: +#line 1348 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV->setSection(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -4226,8 +4235,8 @@ yyreduce: ;} break; - case 147: -#line 1366 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 148: +#line 1353 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val))) GEN_ERROR("Alignment must be a power of two"); @@ -4236,24 +4245,24 @@ yyreduce: ;} break; - case 155: -#line 1382 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 156: +#line 1369 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR ;} break; - case 156: -#line 1386 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 157: +#line 1373 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); CHECK_FOR_ERROR ;} break; - case 157: -#line 1390 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 158: +#line 1377 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Pointer type? if (*(yyvsp[(1) - (3)].TypeVal) == Type::LabelTy) GEN_ERROR("Cannot form a pointer to a basic block"); @@ -4263,8 +4272,8 @@ yyreduce: ;} break; - case 158: -#line 1397 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 159: +#line 1384 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal)); CHECK_FOR_ERROR @@ -4272,8 +4281,8 @@ yyreduce: ;} break; - case 159: -#line 1402 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 160: +#line 1389 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Type UpReference if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder @@ -4284,8 +4293,8 @@ yyreduce: ;} break; - case 160: -#line 1410 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 161: +#line 1397 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4317,8 +4326,8 @@ yyreduce: ;} break; - case 161: -#line 1439 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 162: +#line 1426 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4345,8 +4354,8 @@ yyreduce: ;} break; - case 162: -#line 1464 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 163: +#line 1451 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Sized array type? (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (yyvsp[(2) - (5)].UInt64Val)))); delete (yyvsp[(4) - (5)].TypeVal); @@ -4354,8 +4363,8 @@ yyreduce: ;} break; - case 163: -#line 1469 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 164: +#line 1456 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Vector type? const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get(); if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val)) @@ -4368,8 +4377,8 @@ yyreduce: ;} break; - case 164: -#line 1479 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 165: +#line 1466 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(), @@ -4382,16 +4391,16 @@ yyreduce: ;} break; - case 165: -#line 1489 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 166: +#line 1476 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector())); CHECK_FOR_ERROR ;} break; - case 166: -#line 1493 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 167: +#line 1480 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements; for (std::list::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(), @@ -4404,16 +4413,16 @@ yyreduce: ;} break; - case 167: -#line 1503 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 168: +#line 1490 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR ;} break; - case 168: -#line 1510 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 169: +#line 1497 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4422,8 +4431,8 @@ yyreduce: ;} break; - case 169: -#line 1519 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 170: +#line 1506 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription()); @@ -4433,15 +4442,15 @@ yyreduce: ;} break; - case 170: -#line 1526 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 171: +#line 1513 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(Type::VoidTy); ;} break; - case 171: -#line 1531 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 172: +#line 1518 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs)); @@ -4449,16 +4458,16 @@ yyreduce: ;} break; - case 172: -#line 1536 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 173: +#line 1523 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs)); CHECK_FOR_ERROR ;} break; - case 174: -#line 1544 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 175: +#line 1531 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList); TypeWithAttrs TWA; TWA.Attrs = Attribute::None; @@ -4468,8 +4477,8 @@ yyreduce: ;} break; - case 175: -#line 1551 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 176: +#line 1538 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList; TypeWithAttrs TWA; TWA.Attrs = Attribute::None; @@ -4479,16 +4488,16 @@ yyreduce: ;} break; - case 176: -#line 1558 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 177: +#line 1545 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); CHECK_FOR_ERROR ;} break; - case 177: -#line 1566 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 178: +#line 1553 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); @@ -4497,8 +4506,8 @@ yyreduce: ;} break; - case 178: -#line 1572 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 179: +#line 1559 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal); @@ -4506,8 +4515,8 @@ yyreduce: ;} break; - case 179: -#line 1584 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 180: +#line 1571 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4538,8 +4547,8 @@ yyreduce: ;} break; - case 180: -#line 1612 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 181: +#line 1599 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4558,8 +4567,8 @@ yyreduce: ;} break; - case 181: -#line 1628 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 182: +#line 1615 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4589,8 +4598,8 @@ yyreduce: ;} break; - case 182: -#line 1655 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 183: +#line 1642 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4621,8 +4630,8 @@ yyreduce: ;} break; - case 183: -#line 1683 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 184: +#line 1670 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get()); if (STy == 0) @@ -4651,8 +4660,8 @@ yyreduce: ;} break; - case 184: -#line 1709 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 185: +#line 1696 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4675,8 +4684,8 @@ yyreduce: ;} break; - case 185: -#line 1729 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 186: +#line 1716 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (6)].TypeVal)->get()); if (STy == 0) @@ -4705,8 +4714,8 @@ yyreduce: ;} break; - case 186: -#line 1755 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 187: +#line 1742 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription()); @@ -4729,8 +4738,8 @@ yyreduce: ;} break; - case 187: -#line 1775 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 188: +#line 1762 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4745,8 +4754,8 @@ yyreduce: ;} break; - case 188: -#line 1787 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 189: +#line 1774 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4756,8 +4765,8 @@ yyreduce: ;} break; - case 189: -#line 1794 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 190: +#line 1781 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4826,8 +4835,8 @@ yyreduce: ;} break; - case 190: -#line 1860 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 191: +#line 1847 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4840,8 +4849,8 @@ yyreduce: ;} break; - case 191: -#line 1870 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 192: +#line 1857 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4854,8 +4863,8 @@ yyreduce: ;} break; - case 192: -#line 1880 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 193: +#line 1867 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val))) GEN_ERROR("Constant value doesn't fit in type"); @@ -4864,8 +4873,8 @@ yyreduce: ;} break; - case 193: -#line 1886 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 194: +#line 1873 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants uint32_t BitWidth = cast((yyvsp[(1) - (2)].PrimType))->getBitWidth(); if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) { @@ -4878,8 +4887,8 @@ yyreduce: ;} break; - case 194: -#line 1896 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 195: +#line 1883 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val))) GEN_ERROR("Constant value doesn't fit in type"); @@ -4888,8 +4897,8 @@ yyreduce: ;} break; - case 195: -#line 1902 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 196: +#line 1889 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants uint32_t BitWidth = cast((yyvsp[(1) - (2)].PrimType))->getBitWidth(); if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) { @@ -4902,8 +4911,8 @@ yyreduce: ;} break; - case 196: -#line 1912 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 197: +#line 1899 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if (cast((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1) GEN_ERROR("Constant true must have type i1"); @@ -4912,8 +4921,8 @@ yyreduce: ;} break; - case 197: -#line 1918 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 198: +#line 1905 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if (cast((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1) GEN_ERROR("Constant false must have type i1"); @@ -4922,8 +4931,8 @@ yyreduce: ;} break; - case 198: -#line 1924 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 199: +#line 1911 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Floating point constants if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), *(yyvsp[(2) - (2)].FPVal))) GEN_ERROR("Floating point constant invalid for type"); @@ -4937,8 +4946,8 @@ yyreduce: ;} break; - case 199: -#line 1937 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 200: +#line 1924 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription()); @@ -4953,8 +4962,8 @@ yyreduce: ;} break; - case 200: -#line 1949 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 201: +#line 1936 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("GetElementPtr requires a pointer operand"); @@ -4978,8 +4987,8 @@ yyreduce: ;} break; - case 201: -#line 1970 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 202: +#line 1957 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty) GEN_ERROR("Select condition must be of boolean type"); @@ -4990,8 +4999,8 @@ yyreduce: ;} break; - case 202: -#line 1978 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 203: +#line 1965 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Binary operator types must match"); @@ -5000,8 +5009,8 @@ yyreduce: ;} break; - case 203: -#line 1984 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 204: +#line 1971 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Logical operator types must match"); @@ -5015,8 +5024,8 @@ yyreduce: ;} break; - case 204: -#line 1995 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 205: +#line 1982 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("icmp operand types must match"); @@ -5024,8 +5033,8 @@ yyreduce: ;} break; - case 205: -#line 2000 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 206: +#line 1987 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("fcmp operand types must match"); @@ -5033,8 +5042,8 @@ yyreduce: ;} break; - case 206: -#line 2005 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 207: +#line 1992 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vicmp operand types must match"); @@ -5042,8 +5051,8 @@ yyreduce: ;} break; - case 207: -#line 2010 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 208: +#line 1997 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vfcmp operand types must match"); @@ -5051,8 +5060,8 @@ yyreduce: ;} break; - case 208: -#line 2015 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 209: +#line 2002 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal))) GEN_ERROR("Invalid extractelement operands"); @@ -5061,8 +5070,8 @@ yyreduce: ;} break; - case 209: -#line 2021 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 210: +#line 2008 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid insertelement operands"); @@ -5071,8 +5080,8 @@ yyreduce: ;} break; - case 210: -#line 2027 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 211: +#line 2014 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid shufflevector operands"); @@ -5081,8 +5090,8 @@ yyreduce: ;} break; - case 211: -#line 2033 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 212: +#line 2020 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType()) && !isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("ExtractValue requires an aggregate operand"); @@ -5093,8 +5102,8 @@ yyreduce: ;} break; - case 212: -#line 2041 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 213: +#line 2028 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (7)].ConstVal)->getType()) && !isa((yyvsp[(3) - (7)].ConstVal)->getType())) GEN_ERROR("InsertValue requires an aggregate operand"); @@ -5105,16 +5114,16 @@ yyreduce: ;} break; - case 213: -#line 2052 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 214: +#line 2039 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 214: -#line 2056 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 215: +#line 2043 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector) = new std::vector(); (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal)); @@ -5122,28 +5131,28 @@ yyreduce: ;} break; - case 215: -#line 2064 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 216: +#line 2051 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 216: -#line 2064 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 217: +#line 2051 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 217: -#line 2067 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 218: +#line 2054 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 218: -#line 2067 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 219: +#line 2054 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 219: -#line 2070 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 220: +#line 2057 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get(); Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal)); @@ -5158,8 +5167,8 @@ yyreduce: ;} break; - case 220: -#line 2082 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 221: +#line 2069 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { Constant *Val = (yyvsp[(3) - (6)].ConstVal); const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get(); @@ -5174,8 +5183,8 @@ yyreduce: ;} break; - case 221: -#line 2103 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 222: +#line 2090 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5183,8 +5192,8 @@ yyreduce: ;} break; - case 222: -#line 2108 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 223: +#line 2095 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5192,40 +5201,40 @@ yyreduce: ;} break; - case 225: -#line 2121 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 226: +#line 2108 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = false; ;} break; - case 226: -#line 2121 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 227: +#line 2108 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.FunctionDone(); CHECK_FOR_ERROR ;} break; - case 227: -#line 2125 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 228: +#line 2112 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = true; ;} break; - case 228: -#line 2125 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 229: +#line 2112 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 229: -#line 2128 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 230: +#line 2115 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 230: -#line 2131 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 231: +#line 2118 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription()); @@ -5252,8 +5261,8 @@ yyreduce: ;} break; - case 231: -#line 2155 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 232: +#line 2142 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType)); @@ -5267,8 +5276,8 @@ yyreduce: ;} break; - case 232: -#line 2167 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 233: +#line 2154 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { /* "Externally Visible" Linkage */ if ((yyvsp[(5) - (6)].ConstVal) == 0) @@ -5279,15 +5288,15 @@ yyreduce: ;} break; - case 233: -#line 2174 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 234: +#line 2161 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 234: -#line 2178 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 235: +#line 2165 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(6) - (7)].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant"); @@ -5296,15 +5305,15 @@ yyreduce: ;} break; - case 235: -#line 2183 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 236: +#line 2170 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 236: -#line 2187 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 237: +#line 2174 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription()); @@ -5314,16 +5323,16 @@ yyreduce: ;} break; - case 237: -#line 2193 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 238: +#line 2180 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR ;} break; - case 238: -#line 2197 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 239: +#line 2184 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { std::string Name; if ((yyvsp[(1) - (5)].StrVal)) { @@ -5366,22 +5375,22 @@ yyreduce: ;} break; - case 239: -#line 2237 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 240: +#line 2224 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 240: -#line 2240 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 241: +#line 2227 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 241: -#line 2246 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 242: +#line 2233 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm(); if (AsmSoFar.empty()) @@ -5393,24 +5402,24 @@ yyreduce: ;} break; - case 242: -#line 2256 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 243: +#line 2243 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); ;} break; - case 243: -#line 2260 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 244: +#line 2247 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); ;} break; - case 245: -#line 2267 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 246: +#line 2254 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); @@ -5418,8 +5427,8 @@ yyreduce: ;} break; - case 246: -#line 2272 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 247: +#line 2259 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5427,15 +5436,15 @@ yyreduce: ;} break; - case 247: -#line 2277 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 248: +#line 2264 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 248: -#line 2286 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 249: +#line 2273 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -5448,8 +5457,8 @@ yyreduce: ;} break; - case 249: -#line 2296 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 250: +#line 2283 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -5462,16 +5471,16 @@ yyreduce: ;} break; - case 250: -#line 2307 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 251: +#line 2294 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList); CHECK_FOR_ERROR ;} break; - case 251: -#line 2311 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 252: +#line 2298 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList); struct ArgListEntry E; @@ -5483,8 +5492,8 @@ yyreduce: ;} break; - case 252: -#line 2320 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 253: +#line 2307 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = new ArgListType; struct ArgListEntry E; @@ -5496,52 +5505,52 @@ yyreduce: ;} break; - case 253: -#line 2329 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 254: +#line 2316 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = 0; CHECK_FOR_ERROR ;} break; - case 254: -#line 2335 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 255: +#line 2322 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { - std::string FunctionName(*(yyvsp[(3) - (11)].StrVal)); - delete (yyvsp[(3) - (11)].StrVal); // Free strdup'd memory! + std::string FunctionName(*(yyvsp[(4) - (11)].StrVal)); + delete (yyvsp[(4) - (11)].StrVal); // Free strdup'd memory! // Check the function result for abstractness if this is a define. We should // have no abstract types at this point - if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (11)].TypeVal))) - GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (11)].TypeVal)->get()->getDescription()); + if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(3) - (11)].TypeVal))) + GEN_ERROR("Reference to abstract result: "+ (yyvsp[(3) - (11)].TypeVal)->get()->getDescription()); - if (!FunctionType::isValidReturnType(*(yyvsp[(2) - (11)].TypeVal))) + if (!FunctionType::isValidReturnType(*(yyvsp[(3) - (11)].TypeVal))) GEN_ERROR("Invalid result type for LLVM function"); std::vector ParamTypeList; SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ((yyvsp[(7) - (11)].Attributes) != Attribute::None) { - if ((yyvsp[(7) - (11)].Attributes) & Attribute::ZExt) { + Attributes RetAttrs = (yyvsp[(2) - (11)].Attributes); + if ((yyvsp[(8) - (11)].Attributes) != Attribute::None) { + if ((yyvsp[(8) - (11)].Attributes) & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - (yyvsp[(7) - (11)].Attributes) = (yyvsp[(7) - (11)].Attributes) ^ Attribute::ZExt; + (yyvsp[(8) - (11)].Attributes) = (yyvsp[(8) - (11)].Attributes) ^ Attribute::ZExt; } - if ((yyvsp[(7) - (11)].Attributes) & Attribute::SExt) { + if ((yyvsp[(8) - (11)].Attributes) & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - (yyvsp[(7) - (11)].Attributes) = (yyvsp[(7) - (11)].Attributes) ^ Attribute::SExt; + (yyvsp[(8) - (11)].Attributes) = (yyvsp[(8) - (11)].Attributes) ^ Attribute::SExt; } - if ((yyvsp[(7) - (11)].Attributes) & Attribute::InReg) { + if ((yyvsp[(8) - (11)].Attributes) & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - (yyvsp[(7) - (11)].Attributes) = (yyvsp[(7) - (11)].Attributes) ^ Attribute::InReg; + (yyvsp[(8) - (11)].Attributes) = (yyvsp[(8) - (11)].Attributes) ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } - if ((yyvsp[(5) - (11)].ArgList)) { // If there are arguments... + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); + if ((yyvsp[(6) - (11)].ArgList)) { // If there are arguments... unsigned index = 1; - for (ArgListType::iterator I = (yyvsp[(5) - (11)].ArgList)->begin(); I != (yyvsp[(5) - (11)].ArgList)->end(); ++I, ++index) { + for (ArgListType::iterator I = (yyvsp[(6) - (11)].ArgList)->begin(); I != (yyvsp[(6) - (11)].ArgList)->end(); ++I, ++index) { const Type* Ty = I->Ty->get(); if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty)) GEN_ERROR("Reference to abstract argument: " + Ty->getDescription()); @@ -5550,8 +5559,8 @@ yyreduce: Attrs.push_back(AttributeWithIndex::get(index, I->Attrs)); } } - if ((yyvsp[(7) - (11)].Attributes) != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, (yyvsp[(7) - (11)].Attributes))); + if ((yyvsp[(8) - (11)].Attributes) != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, (yyvsp[(8) - (11)].Attributes))); bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy; if (isVarArg) ParamTypeList.pop_back(); @@ -5560,9 +5569,9 @@ yyreduce: if (!Attrs.empty()) PAL = AttrListPtr::get(Attrs.begin(), Attrs.end()); - FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (11)].TypeVal), ParamTypeList, isVarArg); + FunctionType *FT = FunctionType::get(*(yyvsp[(3) - (11)].TypeVal), ParamTypeList, isVarArg); const PointerType *PFT = PointerType::getUnqual(FT); - delete (yyvsp[(2) - (11)].TypeVal); + delete (yyvsp[(3) - (11)].TypeVal); ValID ID; if (!FunctionName.empty()) { @@ -5618,32 +5627,29 @@ yyreduce: } Fn->setCallingConv((yyvsp[(1) - (11)].UIntVal)); Fn->setAttributes(PAL); - Fn->setAlignment((yyvsp[(9) - (11)].UIntVal)); - if ((yyvsp[(8) - (11)].StrVal)) { - Fn->setSection(*(yyvsp[(8) - (11)].StrVal)); - delete (yyvsp[(8) - (11)].StrVal); - } - if ((yyvsp[(10) - (11)].StrVal)) { - Fn->setGC((yyvsp[(10) - (11)].StrVal)->c_str()); - delete (yyvsp[(10) - (11)].StrVal); + Fn->setAlignment((yyvsp[(10) - (11)].UIntVal)); + if ((yyvsp[(9) - (11)].StrVal)) { + Fn->setSection(*(yyvsp[(9) - (11)].StrVal)); + delete (yyvsp[(9) - (11)].StrVal); } - if ((yyvsp[(11) - (11)].Attributes)) { - Fn->setNotes((yyvsp[(11) - (11)].Attributes)); + if ((yyvsp[(11) - (11)].StrVal)) { + Fn->setGC((yyvsp[(11) - (11)].StrVal)->c_str()); + delete (yyvsp[(11) - (11)].StrVal); } // Add all of the arguments we parsed to the function... - if ((yyvsp[(5) - (11)].ArgList)) { // Is null if empty... + if ((yyvsp[(6) - (11)].ArgList)) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert((yyvsp[(5) - (11)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (11)].ArgList)->back().Name == 0 && + assert((yyvsp[(6) - (11)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(6) - (11)].ArgList)->back().Name == 0 && "Not a varargs marker!"); - delete (yyvsp[(5) - (11)].ArgList)->back().Ty; - (yyvsp[(5) - (11)].ArgList)->pop_back(); // Delete the last entry + delete (yyvsp[(6) - (11)].ArgList)->back().Ty; + (yyvsp[(6) - (11)].ArgList)->pop_back(); // Delete the last entry } Function::arg_iterator ArgIt = Fn->arg_begin(); Function::arg_iterator ArgEnd = Fn->arg_end(); unsigned Idx = 1; - for (ArgListType::iterator I = (yyvsp[(5) - (11)].ArgList)->begin(); - I != (yyvsp[(5) - (11)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { + for (ArgListType::iterator I = (yyvsp[(6) - (11)].ArgList)->begin(); + I != (yyvsp[(6) - (11)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { delete I->Ty; // Delete the typeholder... setValueName(ArgIt, I->Name); // Insert arg into symtab... CHECK_FOR_ERROR @@ -5651,14 +5657,14 @@ yyreduce: Idx++; } - delete (yyvsp[(5) - (11)].ArgList); // We're now done with the argument list + delete (yyvsp[(6) - (11)].ArgList); // We're now done with the argument list } CHECK_FOR_ERROR ;} break; - case 257: -#line 2487 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 258: +#line 2471 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -5669,16 +5675,16 @@ yyreduce: ;} break; - case 260: -#line 2498 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 261: +#line 2482 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 261: -#line 2503 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 262: +#line 2487 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage)); CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility)); @@ -5688,40 +5694,40 @@ yyreduce: ;} break; - case 262: -#line 2515 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 263: +#line 2499 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 263: -#line 2519 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 264: +#line 2503 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 264: -#line 2524 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 265: +#line 2508 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val)); CHECK_FOR_ERROR ;} break; - case 265: -#line 2528 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 266: +#line 2512 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val)); CHECK_FOR_ERROR ;} break; - case 266: -#line 2532 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 267: +#line 2516 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), true); delete (yyvsp[(1) - (1)].APIntVal); @@ -5729,8 +5735,8 @@ yyreduce: ;} break; - case 267: -#line 2537 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 268: +#line 2521 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), false); delete (yyvsp[(1) - (1)].APIntVal); @@ -5738,56 +5744,56 @@ yyreduce: ;} break; - case 268: -#line 2542 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 269: +#line 2526 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal)); CHECK_FOR_ERROR ;} break; - case 269: -#line 2546 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 270: +#line 2530 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue()); CHECK_FOR_ERROR ;} break; - case 270: -#line 2550 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 271: +#line 2534 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse()); CHECK_FOR_ERROR ;} break; - case 271: -#line 2554 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 272: +#line 2538 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createNull(); CHECK_FOR_ERROR ;} break; - case 272: -#line 2558 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 273: +#line 2542 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createUndef(); CHECK_FOR_ERROR ;} break; - case 273: -#line 2562 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 274: +#line 2546 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // A vector zero constant. (yyval.ValIDVal) = ValID::createZeroInit(); CHECK_FOR_ERROR ;} break; - case 274: -#line 2566 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 275: +#line 2550 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); unsigned NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5812,8 +5818,8 @@ yyreduce: ;} break; - case 275: -#line 2588 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 276: +#line 2572 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); uint64_t NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5838,8 +5844,8 @@ yyreduce: ;} break; - case 276: -#line 2610 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 277: +#line 2594 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Use undef instead of an array because it's inconvenient to determine // the element type at this point, there being no elements to examine. @@ -5848,8 +5854,8 @@ yyreduce: ;} break; - case 277: -#line 2616 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 278: +#line 2600 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { uint64_t NumElements = (yyvsp[(2) - (2)].StrVal)->length(); const Type *ETy = Type::Int8Ty; @@ -5865,8 +5871,8 @@ yyreduce: ;} break; - case 278: -#line 2629 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 279: +#line 2613 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(2) - (3)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(2) - (3)].ConstVector)->size(); i != e; ++i) @@ -5881,8 +5887,8 @@ yyreduce: ;} break; - case 279: -#line 2641 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 280: +#line 2625 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector()); (yyval.ValIDVal) = ValID::create(ConstantStruct::get(STy, std::vector())); @@ -5890,8 +5896,8 @@ yyreduce: ;} break; - case 280: -#line 2646 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 281: +#line 2630 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(3) - (5)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(3) - (5)].ConstVector)->size(); i != e; ++i) @@ -5906,8 +5912,8 @@ yyreduce: ;} break; - case 281: -#line 2658 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 282: +#line 2642 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector(), /*isPacked=*/true); @@ -5916,16 +5922,16 @@ yyreduce: ;} break; - case 282: -#line 2664 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 283: +#line 2648 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 283: -#line 2668 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 284: +#line 2652 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal)); delete (yyvsp[(3) - (5)].StrVal); @@ -5934,24 +5940,24 @@ yyreduce: ;} break; - case 284: -#line 2678 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 285: +#line 2662 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? (yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR ;} break; - case 285: -#line 2682 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 286: +#line 2666 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR ;} break; - case 286: -#line 2686 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 287: +#line 2670 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5959,8 +5965,8 @@ yyreduce: ;} break; - case 287: -#line 2691 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 288: +#line 2675 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5968,8 +5974,8 @@ yyreduce: ;} break; - case 290: -#line 2704 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 291: +#line 2688 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -5979,8 +5985,8 @@ yyreduce: ;} break; - case 291: -#line 2713 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 292: +#line 2697 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal)); @@ -5988,32 +5994,32 @@ yyreduce: ;} break; - case 292: -#line 2718 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 293: +#line 2702 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal)); CHECK_FOR_ERROR ;} break; - case 293: -#line 2723 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 294: +#line 2707 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 294: -#line 2727 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 295: +#line 2711 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 295: -#line 2736 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 296: +#line 2720 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal)); CHECK_FOR_ERROR @@ -6024,8 +6030,8 @@ yyreduce: ;} break; - case 296: -#line 2745 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 297: +#line 2729 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(3) - (3)].TermInstVal)); @@ -6039,8 +6045,8 @@ yyreduce: ;} break; - case 297: -#line 2758 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 298: +#line 2742 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (CastInst *CI1 = dyn_cast((yyvsp[(2) - (2)].InstVal))) if (CastInst *CI2 = dyn_cast(CI1->getOperand(0))) @@ -6052,16 +6058,16 @@ yyreduce: ;} break; - case 298: -#line 2767 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 299: +#line 2751 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty space between instruction lists (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum)); CHECK_FOR_ERROR ;} break; - case 299: -#line 2771 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 300: +#line 2755 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Labelled (named) basic block (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal))); delete (yyvsp[(1) - (1)].StrVal); @@ -6070,8 +6076,8 @@ yyreduce: ;} break; - case 300: -#line 2779 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 301: +#line 2763 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with a result... ValueList &VL = *(yyvsp[(2) - (2)].ValueList); assert(!VL.empty() && "Invalid ret operands!"); @@ -6094,16 +6100,16 @@ yyreduce: ;} break; - case 301: -#line 2799 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 302: +#line 2783 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with no result... (yyval.TermInstVal) = ReturnInst::Create(); CHECK_FOR_ERROR ;} break; - case 302: -#line 2803 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 303: +#line 2787 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal)); CHECK_FOR_ERROR @@ -6111,8 +6117,8 @@ yyreduce: ;} break; - case 303: -#line 2808 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 304: +#line 2792 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (cast((yyvsp[(2) - (9)].PrimType))->getBitWidth() != 1) GEN_ERROR("Branch condition must have type i1"); @@ -6126,8 +6132,8 @@ yyreduce: ;} break; - case 304: -#line 2819 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 305: +#line 2803 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal)); CHECK_FOR_ERROR @@ -6149,8 +6155,8 @@ yyreduce: ;} break; - case 305: -#line 2838 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 306: +#line 2822 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal)); CHECK_FOR_ERROR @@ -6162,18 +6168,18 @@ yyreduce: ;} break; - case 306: -#line 2848 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 307: +#line 2832 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - if (!(PFTy = dyn_cast((yyvsp[(3) - (14)].TypeVal)->get())) || + if (!(PFTy = dyn_cast((yyvsp[(4) - (15)].TypeVal)->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - ParamList::iterator I = (yyvsp[(6) - (14)].ParamList)->begin(), E = (yyvsp[(6) - (14)].ParamList)->end(); + ParamList::iterator I = (yyvsp[(7) - (15)].ParamList)->begin(), E = (yyvsp[(7) - (15)].ParamList)->end(); for (; I != E; ++I) { const Type *Ty = I->Val->getType(); if (Ty == Type::VoidTy) @@ -6181,46 +6187,46 @@ yyreduce: ParamTypes.push_back(Ty); } - if (!FunctionType::isValidReturnType(*(yyvsp[(3) - (14)].TypeVal))) + if (!FunctionType::isValidReturnType(*(yyvsp[(4) - (15)].TypeVal))) GEN_ERROR("Invalid result type for LLVM function"); - Ty = FunctionType::get((yyvsp[(3) - (14)].TypeVal)->get(), ParamTypes, false); + Ty = FunctionType::get((yyvsp[(4) - (15)].TypeVal)->get(), ParamTypes, false); PFTy = PointerType::getUnqual(Ty); } - delete (yyvsp[(3) - (14)].TypeVal); + delete (yyvsp[(4) - (15)].TypeVal); - Value *V = getVal(PFTy, (yyvsp[(4) - (14)].ValIDVal)); // Get the function we're calling... + Value *V = getVal(PFTy, (yyvsp[(5) - (15)].ValIDVal)); // Get the function we're calling... CHECK_FOR_ERROR - BasicBlock *Normal = getBBVal((yyvsp[(11) - (14)].ValIDVal)); + BasicBlock *Normal = getBBVal((yyvsp[(12) - (15)].ValIDVal)); CHECK_FOR_ERROR - BasicBlock *Except = getBBVal((yyvsp[(14) - (14)].ValIDVal)); + BasicBlock *Except = getBBVal((yyvsp[(15) - (15)].ValIDVal)); CHECK_FOR_ERROR SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ((yyvsp[(8) - (14)].Attributes) != Attribute::None) { - if ((yyvsp[(8) - (14)].Attributes) & Attribute::ZExt) { + Attributes RetAttrs = (yyvsp[(3) - (15)].Attributes); + if ((yyvsp[(9) - (15)].Attributes) != Attribute::None) { + if ((yyvsp[(9) - (15)].Attributes) & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - (yyvsp[(8) - (14)].Attributes) = (yyvsp[(8) - (14)].Attributes) ^ Attribute::ZExt; + (yyvsp[(9) - (15)].Attributes) = (yyvsp[(9) - (15)].Attributes) ^ Attribute::ZExt; } - if ((yyvsp[(8) - (14)].Attributes) & Attribute::SExt) { + if ((yyvsp[(9) - (15)].Attributes) & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - (yyvsp[(8) - (14)].Attributes) = (yyvsp[(8) - (14)].Attributes) ^ Attribute::SExt; + (yyvsp[(9) - (15)].Attributes) = (yyvsp[(9) - (15)].Attributes) ^ Attribute::SExt; } - if ((yyvsp[(8) - (14)].Attributes) & Attribute::InReg) { + if ((yyvsp[(9) - (15)].Attributes) & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - (yyvsp[(8) - (14)].Attributes) = (yyvsp[(8) - (14)].Attributes) ^ Attribute::InReg; + (yyvsp[(9) - (15)].Attributes) = (yyvsp[(9) - (15)].Attributes) ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); // Check the arguments ValueList Args; - if ((yyvsp[(6) - (14)].ParamList)->empty()) { // Has no arguments? + if ((yyvsp[(7) - (15)].ParamList)->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " @@ -6230,7 +6236,7 @@ yyreduce: // correctly! FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - ParamList::iterator ArgI = (yyvsp[(6) - (14)].ParamList)->begin(), ArgE = (yyvsp[(6) - (14)].ParamList)->end(); + ParamList::iterator ArgI = (yyvsp[(7) - (15)].ParamList)->begin(), ArgE = (yyvsp[(7) - (15)].ParamList)->end(); unsigned index = 1; for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) { @@ -6252,8 +6258,8 @@ yyreduce: } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected"); } - if ((yyvsp[(8) - (14)].Attributes) != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, (yyvsp[(8) - (14)].Attributes))); + if ((yyvsp[(9) - (15)].Attributes) != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, (yyvsp[(9) - (15)].Attributes))); AttrListPtr PAL; if (!Attrs.empty()) PAL = AttrListPtr::get(Attrs.begin(), Attrs.end()); @@ -6261,32 +6267,32 @@ yyreduce: // Create the InvokeInst InvokeInst *II = InvokeInst::Create(V, Normal, Except, Args.begin(), Args.end()); - II->setCallingConv((yyvsp[(2) - (14)].UIntVal)); + II->setCallingConv((yyvsp[(2) - (15)].UIntVal)); II->setAttributes(PAL); (yyval.TermInstVal) = II; - delete (yyvsp[(6) - (14)].ParamList); + delete (yyvsp[(7) - (15)].ParamList); CHECK_FOR_ERROR ;} break; - case 307: -#line 2951 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 308: +#line 2935 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnwindInst(); CHECK_FOR_ERROR ;} break; - case 308: -#line 2955 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 309: +#line 2939 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnreachableInst(); CHECK_FOR_ERROR ;} break; - case 309: -#line 2962 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 310: +#line 2946 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable); Constant *V = cast(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal))); @@ -6300,8 +6306,8 @@ yyreduce: ;} break; - case 310: -#line 2973 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 311: +#line 2957 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = new std::vector >(); Constant *V = cast(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal))); @@ -6316,8 +6322,8 @@ yyreduce: ;} break; - case 311: -#line 2986 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 312: +#line 2970 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal)); @@ -6328,8 +6334,8 @@ yyreduce: ;} break; - case 312: -#line 2995 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 313: +#line 2979 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(2) - (2)].InstVal)); @@ -6343,8 +6349,8 @@ yyreduce: ;} break; - case 313: -#line 3008 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 314: +#line 2992 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription()); @@ -6358,8 +6364,8 @@ yyreduce: ;} break; - case 314: -#line 3019 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 315: +#line 3003 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList); Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal)); @@ -6370,8 +6376,8 @@ yyreduce: ;} break; - case 315: -#line 3029 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 316: +#line 3013 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6385,8 +6391,8 @@ yyreduce: ;} break; - case 316: -#line 3040 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 317: +#line 3024 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 // Labels are only valid in ASMs @@ -6397,8 +6403,8 @@ yyreduce: ;} break; - case 317: -#line 3048 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 318: +#line 3032 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6411,8 +6417,8 @@ yyreduce: ;} break; - case 318: -#line 3058 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 319: +#line 3042 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList); @@ -6422,18 +6428,18 @@ yyreduce: ;} break; - case 319: -#line 3065 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 320: +#line 3049 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamList) = new ParamList(); ;} break; - case 320: -#line 3068 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 321: +#line 3052 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); ;} break; - case 321: -#line 3069 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 322: +#line 3053 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList); (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal)); @@ -6441,8 +6447,8 @@ yyreduce: ;} break; - case 322: -#line 3077 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 323: +#line 3061 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = new std::vector(); if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) @@ -6451,8 +6457,8 @@ yyreduce: ;} break; - case 323: -#line 3083 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 324: +#line 3067 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = (yyvsp[(1) - (3)].ConstantList); if ((unsigned)(yyvsp[(3) - (3)].UInt64Val) != (yyvsp[(3) - (3)].UInt64Val)) @@ -6462,24 +6468,24 @@ yyreduce: ;} break; - case 324: -#line 3092 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 325: +#line 3076 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 325: -#line 3096 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 326: +#line 3080 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 326: -#line 3101 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 327: +#line 3085 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6498,8 +6504,8 @@ yyreduce: ;} break; - case 327: -#line 3117 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 328: +#line 3101 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6519,8 +6525,8 @@ yyreduce: ;} break; - case 328: -#line 3134 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 329: +#line 3118 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6535,8 +6541,8 @@ yyreduce: ;} break; - case 329: -#line 3146 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 330: +#line 3130 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6551,8 +6557,8 @@ yyreduce: ;} break; - case 330: -#line 3158 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 331: +#line 3142 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6569,8 +6575,8 @@ yyreduce: ;} break; - case 331: -#line 3172 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 332: +#line 3156 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6587,8 +6593,8 @@ yyreduce: ;} break; - case 332: -#line 3186 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 333: +#line 3170 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6603,8 +6609,8 @@ yyreduce: ;} break; - case 333: -#line 3198 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 334: +#line 3182 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (isa((yyvsp[(2) - (6)].ValueVal)->getType())) { // vector select @@ -6628,8 +6634,8 @@ yyreduce: ;} break; - case 334: -#line 3219 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 335: +#line 3203 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6639,8 +6645,8 @@ yyreduce: ;} break; - case 335: -#line 3226 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 336: +#line 3210 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal))) GEN_ERROR("Invalid extractelement operands"); @@ -6649,8 +6655,8 @@ yyreduce: ;} break; - case 336: -#line 3232 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 337: +#line 3216 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid insertelement operands"); @@ -6659,8 +6665,8 @@ yyreduce: ;} break; - case 337: -#line 3238 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 338: +#line 3222 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid shufflevector operands"); @@ -6669,8 +6675,8 @@ yyreduce: ;} break; - case 338: -#line 3244 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 339: +#line 3228 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType(); if (!Ty->isFirstClassType()) @@ -6688,18 +6694,18 @@ yyreduce: ;} break; - case 339: -#line 3260 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 340: +#line 3244 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - if (!(PFTy = dyn_cast((yyvsp[(3) - (8)].TypeVal)->get())) || + if (!(PFTy = dyn_cast((yyvsp[(4) - (9)].TypeVal)->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - ParamList::iterator I = (yyvsp[(6) - (8)].ParamList)->begin(), E = (yyvsp[(6) - (8)].ParamList)->end(); + ParamList::iterator I = (yyvsp[(7) - (9)].ParamList)->begin(), E = (yyvsp[(7) - (9)].ParamList)->end(); for (; I != E; ++I) { const Type *Ty = I->Val->getType(); if (Ty == Type::VoidTy) @@ -6707,14 +6713,14 @@ yyreduce: ParamTypes.push_back(Ty); } - if (!FunctionType::isValidReturnType(*(yyvsp[(3) - (8)].TypeVal))) + if (!FunctionType::isValidReturnType(*(yyvsp[(4) - (9)].TypeVal))) GEN_ERROR("Invalid result type for LLVM function"); - Ty = FunctionType::get((yyvsp[(3) - (8)].TypeVal)->get(), ParamTypes, false); + Ty = FunctionType::get((yyvsp[(4) - (9)].TypeVal)->get(), ParamTypes, false); PFTy = PointerType::getUnqual(Ty); } - Value *V = getVal(PFTy, (yyvsp[(4) - (8)].ValIDVal)); // Get the function we're calling... + Value *V = getVal(PFTy, (yyvsp[(5) - (9)].ValIDVal)); // Get the function we're calling... CHECK_FOR_ERROR // Check for call to invalid intrinsic to avoid crashing later. @@ -6730,27 +6736,27 @@ yyreduce: SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ((yyvsp[(8) - (8)].Attributes) != Attribute::None) { - if ((yyvsp[(8) - (8)].Attributes) & Attribute::ZExt) { + Attributes RetAttrs = (yyvsp[(3) - (9)].Attributes); + if ((yyvsp[(9) - (9)].Attributes) != Attribute::None) { + if ((yyvsp[(9) - (9)].Attributes) & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - (yyvsp[(8) - (8)].Attributes) = (yyvsp[(8) - (8)].Attributes) ^ Attribute::ZExt; + (yyvsp[(9) - (9)].Attributes) = (yyvsp[(9) - (9)].Attributes) ^ Attribute::ZExt; } - if ((yyvsp[(8) - (8)].Attributes) & Attribute::SExt) { + if ((yyvsp[(9) - (9)].Attributes) & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - (yyvsp[(8) - (8)].Attributes) = (yyvsp[(8) - (8)].Attributes) ^ Attribute::SExt; + (yyvsp[(9) - (9)].Attributes) = (yyvsp[(9) - (9)].Attributes) ^ Attribute::SExt; } - if ((yyvsp[(8) - (8)].Attributes) & Attribute::InReg) { + if ((yyvsp[(9) - (9)].Attributes) & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - (yyvsp[(8) - (8)].Attributes) = (yyvsp[(8) - (8)].Attributes) ^ Attribute::InReg; + (yyvsp[(9) - (9)].Attributes) = (yyvsp[(9) - (9)].Attributes) ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); // Check the arguments ValueList Args; - if ((yyvsp[(6) - (8)].ParamList)->empty()) { // Has no arguments? + if ((yyvsp[(7) - (9)].ParamList)->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " @@ -6760,7 +6766,7 @@ yyreduce: // correctly. Also, gather any parameter attributes. FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - ParamList::iterator ArgI = (yyvsp[(6) - (8)].ParamList)->begin(), ArgE = (yyvsp[(6) - (8)].ParamList)->end(); + ParamList::iterator ArgI = (yyvsp[(7) - (9)].ParamList)->begin(), ArgE = (yyvsp[(7) - (9)].ParamList)->end(); unsigned index = 1; for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) { @@ -6781,8 +6787,8 @@ yyreduce: } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected"); } - if ((yyvsp[(8) - (8)].Attributes) != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, (yyvsp[(8) - (8)].Attributes))); + if ((yyvsp[(9) - (9)].Attributes) != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, (yyvsp[(9) - (9)].Attributes))); // Finish off the Attributes and check them AttrListPtr PAL; @@ -6791,42 +6797,42 @@ yyreduce: // Create the call node CallInst *CI = CallInst::Create(V, Args.begin(), Args.end()); - CI->setTailCall((yyvsp[(1) - (8)].BoolVal)); - CI->setCallingConv((yyvsp[(2) - (8)].UIntVal)); + CI->setTailCall((yyvsp[(1) - (9)].BoolVal)); + CI->setCallingConv((yyvsp[(2) - (9)].UIntVal)); CI->setAttributes(PAL); (yyval.InstVal) = CI; - delete (yyvsp[(6) - (8)].ParamList); - delete (yyvsp[(3) - (8)].TypeVal); + delete (yyvsp[(7) - (9)].ParamList); + delete (yyvsp[(4) - (9)].TypeVal); CHECK_FOR_ERROR ;} break; - case 340: -#line 3369 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 341: +#line 3353 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal); CHECK_FOR_ERROR ;} break; - case 341: -#line 3374 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 342: +#line 3358 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 342: -#line 3378 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 343: +#line 3362 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 343: -#line 3385 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 344: +#line 3369 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6836,8 +6842,8 @@ yyreduce: ;} break; - case 344: -#line 3392 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 345: +#line 3376 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6850,8 +6856,8 @@ yyreduce: ;} break; - case 345: -#line 3402 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 346: +#line 3386 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6861,8 +6867,8 @@ yyreduce: ;} break; - case 346: -#line 3409 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 347: +#line 3393 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6875,8 +6881,8 @@ yyreduce: ;} break; - case 347: -#line 3419 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 348: +#line 3403 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(2) - (2)].ValueVal)->getType())) GEN_ERROR("Trying to free nonpointer type " + @@ -6886,8 +6892,8 @@ yyreduce: ;} break; - case 348: -#line 3427 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 349: +#line 3411 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -6904,8 +6910,8 @@ yyreduce: ;} break; - case 349: -#line 3441 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 350: +#line 3425 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription()); @@ -6925,8 +6931,8 @@ yyreduce: ;} break; - case 350: -#line 3458 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 351: +#line 3442 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6943,8 +6949,8 @@ yyreduce: ;} break; - case 351: -#line 3472 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 352: +#line 3456 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -6962,8 +6968,8 @@ yyreduce: ;} break; - case 352: -#line 3487 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 353: +#line 3471 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -6981,8 +6987,8 @@ yyreduce: ;} break; - case 353: -#line 3502 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" + case 354: +#line 3486 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (7)].TypeVal))->getDescription()); @@ -7004,7 +7010,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7008 "llvmAsmParser.tab.c" +#line 7014 "llvmAsmParser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7218,7 +7224,7 @@ yyreturn: } -#line 3521 "/Volumes/MacOS9/gcc/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3505 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y" // common code from the two 'RunVMAsmParser' functions diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index fa86c1887e9..f5d5c79a15b 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1089,6 +1089,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { %type OptCallingConv LocalNumber %type OptAttributes Attribute %type OptFuncAttrs FuncAttr +%type OptRetAttrs RetAttr // Basic Block Terminating Operators %token RET BR SWITCH INVOKE UNWIND UNREACHABLE @@ -1272,6 +1273,18 @@ OptAttributes : /* empty */ { $$ = Attribute::None; } } ; +RetAttr : INREG { $$ = Attribute::InReg; } + | ZEROEXT { $$ = Attribute::ZExt; } + | SIGNEXT { $$ = Attribute::SExt; } + ; + +OptRetAttrs : /* empty */ { $$ = Attribute::None; } + | OptRetAttrs RetAttr { + $$ = $1 | $2; + } + ; + + FuncAttr : NORETURN { $$ = Attribute::NoReturn; } | NOUNWIND { $$ = Attribute::NoUnwind; } | INREG { $$ = Attribute::InReg; } @@ -1290,6 +1303,7 @@ OptFuncAttrs : /* empty */ { $$ = Attribute::None; } } ; + OptGC : /* empty */ { $$ = 0; } | GC STRINGCONSTANT { $$ = $2; @@ -2304,43 +2318,43 @@ ArgList : ArgListH { CHECK_FOR_ERROR }; -FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' +FunctionHeaderH : OptCallingConv OptRetAttrs ResultTypes GlobalName '(' ArgList ')' OptFuncAttrs OptSection OptAlign OptGC { - std::string FunctionName(*$3); - delete $3; // Free strdup'd memory! + std::string FunctionName(*$4); + delete $4; // Free strdup'd memory! // Check the function result for abstractness if this is a define. We should // have no abstract types at this point - if (!CurFun.isDeclare && CurModule.TypeIsUnresolved($2)) - GEN_ERROR("Reference to abstract result: "+ $2->get()->getDescription()); + if (!CurFun.isDeclare && CurModule.TypeIsUnresolved($3)) + GEN_ERROR("Reference to abstract result: "+ $3->get()->getDescription()); - if (!FunctionType::isValidReturnType(*$2)) + if (!FunctionType::isValidReturnType(*$3)) GEN_ERROR("Invalid result type for LLVM function"); std::vector ParamTypeList; SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ($7 != Attribute::None) { - if ($7 & Attribute::ZExt) { + Attributes RetAttrs = $2; + if ($8 != Attribute::None) { + if ($8 & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - $7 = $7 ^ Attribute::ZExt; + $8 = $8 ^ Attribute::ZExt; } - if ($7 & Attribute::SExt) { + if ($8 & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - $7 = $7 ^ Attribute::SExt; + $8 = $8 ^ Attribute::SExt; } - if ($7 & Attribute::InReg) { + if ($8 & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - $7 = $7 ^ Attribute::InReg; + $8 = $8 ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } - if ($5) { // If there are arguments... + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); + if ($6) { // If there are arguments... unsigned index = 1; - for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I, ++index) { + for (ArgListType::iterator I = $6->begin(); I != $6->end(); ++I, ++index) { const Type* Ty = I->Ty->get(); if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty)) GEN_ERROR("Reference to abstract argument: " + Ty->getDescription()); @@ -2349,8 +2363,8 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' Attrs.push_back(AttributeWithIndex::get(index, I->Attrs)); } } - if ($7 != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, $7)); + if ($8 != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, $8)); bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy; if (isVarArg) ParamTypeList.pop_back(); @@ -2359,9 +2373,9 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' if (!Attrs.empty()) PAL = AttrListPtr::get(Attrs.begin(), Attrs.end()); - FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg); + FunctionType *FT = FunctionType::get(*$3, ParamTypeList, isVarArg); const PointerType *PFT = PointerType::getUnqual(FT); - delete $2; + delete $3; ValID ID; if (!FunctionName.empty()) { @@ -2417,29 +2431,29 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' } Fn->setCallingConv($1); Fn->setAttributes(PAL); - Fn->setAlignment($9); - if ($8) { - Fn->setSection(*$8); - delete $8; + Fn->setAlignment($10); + if ($9) { + Fn->setSection(*$9); + delete $9; } - if ($10) { - Fn->setGC($10->c_str()); - delete $10; + if ($11) { + Fn->setGC($11->c_str()); + delete $11; } // Add all of the arguments we parsed to the function... - if ($5) { // Is null if empty... + if ($6) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert($5->back().Ty->get() == Type::VoidTy && $5->back().Name == 0 && + assert($6->back().Ty->get() == Type::VoidTy && $6->back().Name == 0 && "Not a varargs marker!"); - delete $5->back().Ty; - $5->pop_back(); // Delete the last entry + delete $6->back().Ty; + $6->pop_back(); // Delete the last entry } Function::arg_iterator ArgIt = Fn->arg_begin(); Function::arg_iterator ArgEnd = Fn->arg_end(); unsigned Idx = 1; - for (ArgListType::iterator I = $5->begin(); - I != $5->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { + for (ArgListType::iterator I = $6->begin(); + I != $6->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { delete I->Ty; // Delete the typeholder... setValueName(ArgIt, I->Name); // Insert arg into symtab... CHECK_FOR_ERROR @@ -2447,7 +2461,7 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' Idx++; } - delete $5; // We're now done with the argument list + delete $6; // We're now done with the argument list } CHECK_FOR_ERROR }; @@ -2814,17 +2828,17 @@ BBTerminatorInst : $$ = S; CHECK_FOR_ERROR } - | INVOKE OptCallingConv ResultTypes ValueRef '(' ParamList ')' OptFuncAttrs - TO LABEL ValueRef UNWIND LABEL ValueRef { + | INVOKE OptCallingConv OptRetAttrs ResultTypes ValueRef '(' ParamList ')' + OptFuncAttrs TO LABEL ValueRef UNWIND LABEL ValueRef { // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - if (!(PFTy = dyn_cast($3->get())) || + if (!(PFTy = dyn_cast($4->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - ParamList::iterator I = $6->begin(), E = $6->end(); + ParamList::iterator I = $7->begin(), E = $7->end(); for (; I != E; ++I) { const Type *Ty = I->Val->getType(); if (Ty == Type::VoidTy) @@ -2832,46 +2846,46 @@ BBTerminatorInst : ParamTypes.push_back(Ty); } - if (!FunctionType::isValidReturnType(*$3)) + if (!FunctionType::isValidReturnType(*$4)) GEN_ERROR("Invalid result type for LLVM function"); - Ty = FunctionType::get($3->get(), ParamTypes, false); + Ty = FunctionType::get($4->get(), ParamTypes, false); PFTy = PointerType::getUnqual(Ty); } - delete $3; + delete $4; - Value *V = getVal(PFTy, $4); // Get the function we're calling... + Value *V = getVal(PFTy, $5); // Get the function we're calling... CHECK_FOR_ERROR - BasicBlock *Normal = getBBVal($11); + BasicBlock *Normal = getBBVal($12); CHECK_FOR_ERROR - BasicBlock *Except = getBBVal($14); + BasicBlock *Except = getBBVal($15); CHECK_FOR_ERROR SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ($8 != Attribute::None) { - if ($8 & Attribute::ZExt) { + Attributes RetAttrs = $3; + if ($9 != Attribute::None) { + if ($9 & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - $8 = $8 ^ Attribute::ZExt; + $9 = $9 ^ Attribute::ZExt; } - if ($8 & Attribute::SExt) { + if ($9 & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - $8 = $8 ^ Attribute::SExt; + $9 = $9 ^ Attribute::SExt; } - if ($8 & Attribute::InReg) { + if ($9 & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - $8 = $8 ^ Attribute::InReg; + $9 = $9 ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); // Check the arguments ValueList Args; - if ($6->empty()) { // Has no arguments? + if ($7->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " @@ -2881,7 +2895,7 @@ BBTerminatorInst : // correctly! FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - ParamList::iterator ArgI = $6->begin(), ArgE = $6->end(); + ParamList::iterator ArgI = $7->begin(), ArgE = $7->end(); unsigned index = 1; for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) { @@ -2903,8 +2917,8 @@ BBTerminatorInst : } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected"); } - if ($8 != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, $8)); + if ($9 != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, $9)); AttrListPtr PAL; if (!Attrs.empty()) PAL = AttrListPtr::get(Attrs.begin(), Attrs.end()); @@ -2915,7 +2929,7 @@ BBTerminatorInst : II->setCallingConv($2); II->setAttributes(PAL); $$ = II; - delete $6; + delete $7; CHECK_FOR_ERROR } | UNWIND { @@ -3226,17 +3240,17 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { delete $2; // Free the list... CHECK_FOR_ERROR } - | OptTailCall OptCallingConv ResultTypes ValueRef '(' ParamList ')' + | OptTailCall OptCallingConv OptRetAttrs ResultTypes ValueRef '(' ParamList ')' OptFuncAttrs { // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - if (!(PFTy = dyn_cast($3->get())) || + if (!(PFTy = dyn_cast($4->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - ParamList::iterator I = $6->begin(), E = $6->end(); + ParamList::iterator I = $7->begin(), E = $7->end(); for (; I != E; ++I) { const Type *Ty = I->Val->getType(); if (Ty == Type::VoidTy) @@ -3244,14 +3258,14 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { ParamTypes.push_back(Ty); } - if (!FunctionType::isValidReturnType(*$3)) + if (!FunctionType::isValidReturnType(*$4)) GEN_ERROR("Invalid result type for LLVM function"); - Ty = FunctionType::get($3->get(), ParamTypes, false); + Ty = FunctionType::get($4->get(), ParamTypes, false); PFTy = PointerType::getUnqual(Ty); } - Value *V = getVal(PFTy, $4); // Get the function we're calling... + Value *V = getVal(PFTy, $5); // Get the function we're calling... CHECK_FOR_ERROR // Check for call to invalid intrinsic to avoid crashing later. @@ -3267,27 +3281,27 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ($8 != Attribute::None) { - if ($8 & Attribute::ZExt) { + Attributes RetAttrs = $3; + if ($9 != Attribute::None) { + if ($9 & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - $8 = $8 ^ Attribute::ZExt; + $9 = $9 ^ Attribute::ZExt; } - if ($8 & Attribute::SExt) { + if ($9 & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - $8 = $8 ^ Attribute::SExt; + $9 = $9 ^ Attribute::SExt; } - if ($8 & Attribute::InReg) { + if ($9 & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - $8 = $8 ^ Attribute::InReg; + $9 = $9 ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); // Check the arguments ValueList Args; - if ($6->empty()) { // Has no arguments? + if ($7->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " @@ -3297,7 +3311,7 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { // correctly. Also, gather any parameter attributes. FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - ParamList::iterator ArgI = $6->begin(), ArgE = $6->end(); + ParamList::iterator ArgI = $7->begin(), ArgE = $7->end(); unsigned index = 1; for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) { @@ -3318,8 +3332,8 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected"); } - if ($8 != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, $8)); + if ($9 != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, $9)); // Finish off the Attributes and check them AttrListPtr PAL; @@ -3332,8 +3346,8 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { CI->setCallingConv($2); CI->setAttributes(PAL); $$ = CI; - delete $6; - delete $3; + delete $7; + delete $4; CHECK_FOR_ERROR } | MemoryInst { diff --git a/lib/AsmParser/llvmAsmParser.y.cvs b/lib/AsmParser/llvmAsmParser.y.cvs index fa86c1887e9..f5d5c79a15b 100644 --- a/lib/AsmParser/llvmAsmParser.y.cvs +++ b/lib/AsmParser/llvmAsmParser.y.cvs @@ -1089,6 +1089,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { %type OptCallingConv LocalNumber %type OptAttributes Attribute %type OptFuncAttrs FuncAttr +%type OptRetAttrs RetAttr // Basic Block Terminating Operators %token RET BR SWITCH INVOKE UNWIND UNREACHABLE @@ -1272,6 +1273,18 @@ OptAttributes : /* empty */ { $$ = Attribute::None; } } ; +RetAttr : INREG { $$ = Attribute::InReg; } + | ZEROEXT { $$ = Attribute::ZExt; } + | SIGNEXT { $$ = Attribute::SExt; } + ; + +OptRetAttrs : /* empty */ { $$ = Attribute::None; } + | OptRetAttrs RetAttr { + $$ = $1 | $2; + } + ; + + FuncAttr : NORETURN { $$ = Attribute::NoReturn; } | NOUNWIND { $$ = Attribute::NoUnwind; } | INREG { $$ = Attribute::InReg; } @@ -1290,6 +1303,7 @@ OptFuncAttrs : /* empty */ { $$ = Attribute::None; } } ; + OptGC : /* empty */ { $$ = 0; } | GC STRINGCONSTANT { $$ = $2; @@ -2304,43 +2318,43 @@ ArgList : ArgListH { CHECK_FOR_ERROR }; -FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' +FunctionHeaderH : OptCallingConv OptRetAttrs ResultTypes GlobalName '(' ArgList ')' OptFuncAttrs OptSection OptAlign OptGC { - std::string FunctionName(*$3); - delete $3; // Free strdup'd memory! + std::string FunctionName(*$4); + delete $4; // Free strdup'd memory! // Check the function result for abstractness if this is a define. We should // have no abstract types at this point - if (!CurFun.isDeclare && CurModule.TypeIsUnresolved($2)) - GEN_ERROR("Reference to abstract result: "+ $2->get()->getDescription()); + if (!CurFun.isDeclare && CurModule.TypeIsUnresolved($3)) + GEN_ERROR("Reference to abstract result: "+ $3->get()->getDescription()); - if (!FunctionType::isValidReturnType(*$2)) + if (!FunctionType::isValidReturnType(*$3)) GEN_ERROR("Invalid result type for LLVM function"); std::vector ParamTypeList; SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ($7 != Attribute::None) { - if ($7 & Attribute::ZExt) { + Attributes RetAttrs = $2; + if ($8 != Attribute::None) { + if ($8 & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - $7 = $7 ^ Attribute::ZExt; + $8 = $8 ^ Attribute::ZExt; } - if ($7 & Attribute::SExt) { + if ($8 & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - $7 = $7 ^ Attribute::SExt; + $8 = $8 ^ Attribute::SExt; } - if ($7 & Attribute::InReg) { + if ($8 & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - $7 = $7 ^ Attribute::InReg; + $8 = $8 ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } - if ($5) { // If there are arguments... + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); + if ($6) { // If there are arguments... unsigned index = 1; - for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I, ++index) { + for (ArgListType::iterator I = $6->begin(); I != $6->end(); ++I, ++index) { const Type* Ty = I->Ty->get(); if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty)) GEN_ERROR("Reference to abstract argument: " + Ty->getDescription()); @@ -2349,8 +2363,8 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' Attrs.push_back(AttributeWithIndex::get(index, I->Attrs)); } } - if ($7 != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, $7)); + if ($8 != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, $8)); bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy; if (isVarArg) ParamTypeList.pop_back(); @@ -2359,9 +2373,9 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' if (!Attrs.empty()) PAL = AttrListPtr::get(Attrs.begin(), Attrs.end()); - FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg); + FunctionType *FT = FunctionType::get(*$3, ParamTypeList, isVarArg); const PointerType *PFT = PointerType::getUnqual(FT); - delete $2; + delete $3; ValID ID; if (!FunctionName.empty()) { @@ -2417,29 +2431,29 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' } Fn->setCallingConv($1); Fn->setAttributes(PAL); - Fn->setAlignment($9); - if ($8) { - Fn->setSection(*$8); - delete $8; + Fn->setAlignment($10); + if ($9) { + Fn->setSection(*$9); + delete $9; } - if ($10) { - Fn->setGC($10->c_str()); - delete $10; + if ($11) { + Fn->setGC($11->c_str()); + delete $11; } // Add all of the arguments we parsed to the function... - if ($5) { // Is null if empty... + if ($6) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert($5->back().Ty->get() == Type::VoidTy && $5->back().Name == 0 && + assert($6->back().Ty->get() == Type::VoidTy && $6->back().Name == 0 && "Not a varargs marker!"); - delete $5->back().Ty; - $5->pop_back(); // Delete the last entry + delete $6->back().Ty; + $6->pop_back(); // Delete the last entry } Function::arg_iterator ArgIt = Fn->arg_begin(); Function::arg_iterator ArgEnd = Fn->arg_end(); unsigned Idx = 1; - for (ArgListType::iterator I = $5->begin(); - I != $5->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { + for (ArgListType::iterator I = $6->begin(); + I != $6->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { delete I->Ty; // Delete the typeholder... setValueName(ArgIt, I->Name); // Insert arg into symtab... CHECK_FOR_ERROR @@ -2447,7 +2461,7 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' Idx++; } - delete $5; // We're now done with the argument list + delete $6; // We're now done with the argument list } CHECK_FOR_ERROR }; @@ -2814,17 +2828,17 @@ BBTerminatorInst : $$ = S; CHECK_FOR_ERROR } - | INVOKE OptCallingConv ResultTypes ValueRef '(' ParamList ')' OptFuncAttrs - TO LABEL ValueRef UNWIND LABEL ValueRef { + | INVOKE OptCallingConv OptRetAttrs ResultTypes ValueRef '(' ParamList ')' + OptFuncAttrs TO LABEL ValueRef UNWIND LABEL ValueRef { // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - if (!(PFTy = dyn_cast($3->get())) || + if (!(PFTy = dyn_cast($4->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - ParamList::iterator I = $6->begin(), E = $6->end(); + ParamList::iterator I = $7->begin(), E = $7->end(); for (; I != E; ++I) { const Type *Ty = I->Val->getType(); if (Ty == Type::VoidTy) @@ -2832,46 +2846,46 @@ BBTerminatorInst : ParamTypes.push_back(Ty); } - if (!FunctionType::isValidReturnType(*$3)) + if (!FunctionType::isValidReturnType(*$4)) GEN_ERROR("Invalid result type for LLVM function"); - Ty = FunctionType::get($3->get(), ParamTypes, false); + Ty = FunctionType::get($4->get(), ParamTypes, false); PFTy = PointerType::getUnqual(Ty); } - delete $3; + delete $4; - Value *V = getVal(PFTy, $4); // Get the function we're calling... + Value *V = getVal(PFTy, $5); // Get the function we're calling... CHECK_FOR_ERROR - BasicBlock *Normal = getBBVal($11); + BasicBlock *Normal = getBBVal($12); CHECK_FOR_ERROR - BasicBlock *Except = getBBVal($14); + BasicBlock *Except = getBBVal($15); CHECK_FOR_ERROR SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ($8 != Attribute::None) { - if ($8 & Attribute::ZExt) { + Attributes RetAttrs = $3; + if ($9 != Attribute::None) { + if ($9 & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - $8 = $8 ^ Attribute::ZExt; + $9 = $9 ^ Attribute::ZExt; } - if ($8 & Attribute::SExt) { + if ($9 & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - $8 = $8 ^ Attribute::SExt; + $9 = $9 ^ Attribute::SExt; } - if ($8 & Attribute::InReg) { + if ($9 & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - $8 = $8 ^ Attribute::InReg; + $9 = $9 ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); // Check the arguments ValueList Args; - if ($6->empty()) { // Has no arguments? + if ($7->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " @@ -2881,7 +2895,7 @@ BBTerminatorInst : // correctly! FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - ParamList::iterator ArgI = $6->begin(), ArgE = $6->end(); + ParamList::iterator ArgI = $7->begin(), ArgE = $7->end(); unsigned index = 1; for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) { @@ -2903,8 +2917,8 @@ BBTerminatorInst : } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected"); } - if ($8 != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, $8)); + if ($9 != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, $9)); AttrListPtr PAL; if (!Attrs.empty()) PAL = AttrListPtr::get(Attrs.begin(), Attrs.end()); @@ -2915,7 +2929,7 @@ BBTerminatorInst : II->setCallingConv($2); II->setAttributes(PAL); $$ = II; - delete $6; + delete $7; CHECK_FOR_ERROR } | UNWIND { @@ -3226,17 +3240,17 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { delete $2; // Free the list... CHECK_FOR_ERROR } - | OptTailCall OptCallingConv ResultTypes ValueRef '(' ParamList ')' + | OptTailCall OptCallingConv OptRetAttrs ResultTypes ValueRef '(' ParamList ')' OptFuncAttrs { // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - if (!(PFTy = dyn_cast($3->get())) || + if (!(PFTy = dyn_cast($4->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - ParamList::iterator I = $6->begin(), E = $6->end(); + ParamList::iterator I = $7->begin(), E = $7->end(); for (; I != E; ++I) { const Type *Ty = I->Val->getType(); if (Ty == Type::VoidTy) @@ -3244,14 +3258,14 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { ParamTypes.push_back(Ty); } - if (!FunctionType::isValidReturnType(*$3)) + if (!FunctionType::isValidReturnType(*$4)) GEN_ERROR("Invalid result type for LLVM function"); - Ty = FunctionType::get($3->get(), ParamTypes, false); + Ty = FunctionType::get($4->get(), ParamTypes, false); PFTy = PointerType::getUnqual(Ty); } - Value *V = getVal(PFTy, $4); // Get the function we're calling... + Value *V = getVal(PFTy, $5); // Get the function we're calling... CHECK_FOR_ERROR // Check for call to invalid intrinsic to avoid crashing later. @@ -3267,27 +3281,27 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { SmallVector Attrs; //FIXME : In 3.0, stop accepting zext, sext and inreg as optional function //attributes. - Attributes RetAttrs = 0; - if ($8 != Attribute::None) { - if ($8 & Attribute::ZExt) { + Attributes RetAttrs = $3; + if ($9 != Attribute::None) { + if ($9 & Attribute::ZExt) { RetAttrs = RetAttrs | Attribute::ZExt; - $8 = $8 ^ Attribute::ZExt; + $9 = $9 ^ Attribute::ZExt; } - if ($8 & Attribute::SExt) { + if ($9 & Attribute::SExt) { RetAttrs = RetAttrs | Attribute::SExt; - $8 = $8 ^ Attribute::SExt; + $9 = $9 ^ Attribute::SExt; } - if ($8 & Attribute::InReg) { + if ($9 & Attribute::InReg) { RetAttrs = RetAttrs | Attribute::InReg; - $8 = $8 ^ Attribute::InReg; + $9 = $9 ^ Attribute::InReg; } - if (RetAttrs != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); } + if (RetAttrs != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(0, RetAttrs)); // Check the arguments ValueList Args; - if ($6->empty()) { // Has no arguments? + if ($7->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " @@ -3297,7 +3311,7 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { // correctly. Also, gather any parameter attributes. FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - ParamList::iterator ArgI = $6->begin(), ArgE = $6->end(); + ParamList::iterator ArgI = $7->begin(), ArgE = $7->end(); unsigned index = 1; for (; ArgI != ArgE && I != E; ++ArgI, ++I, ++index) { @@ -3318,8 +3332,8 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected"); } - if ($8 != Attribute::None) - Attrs.push_back(AttributeWithIndex::get(~0, $8)); + if ($9 != Attribute::None) + Attrs.push_back(AttributeWithIndex::get(~0, $9)); // Finish off the Attributes and check them AttrListPtr PAL; @@ -3332,8 +3346,8 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { CI->setCallingConv($2); CI->setAttributes(PAL); $$ = CI; - delete $6; - delete $3; + delete $7; + delete $4; CHECK_FOR_ERROR } | MemoryInst { diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index 14c827452a7..d46ff3f3a50 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -1356,6 +1356,9 @@ void AssemblyWriter::printFunction(const Function *F) { const FunctionType *FT = F->getFunctionType(); const AttrListPtr &Attrs = F->getAttributes(); + Attributes RetAttrs = Attrs.getRetAttributes(); + if (RetAttrs != Attribute::None) + Out << Attribute::getAsString(Attrs.getRetAttributes()) << ' '; printType(F->getReturnType()); Out << ' '; if (F->hasName()) @@ -1398,9 +1401,6 @@ void AssemblyWriter::printFunction(const Function *F) { Out << "..."; // Output varargs portion of signature! } Out << ')'; - Attributes RetAttrs = Attrs.getRetAttributes(); - if (RetAttrs != Attribute::None) - Out << ' ' << Attribute::getAsString(Attrs.getRetAttributes()); Attributes FnAttrs = Attrs.getFnAttributes(); if (FnAttrs != Attribute::None) Out << ' ' << Attribute::getAsString(Attrs.getFnAttributes()); @@ -1617,6 +1617,9 @@ void AssemblyWriter::printInstruction(const Instruction &I) { const Type *RetTy = FTy->getReturnType(); const AttrListPtr &PAL = CI->getAttributes(); + if (PAL.getRetAttributes() != Attribute::None) + Out << ' ' << Attribute::getAsString(PAL.getRetAttributes()); + // If possible, print out the short form of the call instruction. We can // only do this if the first argument is a pointer to a nonvararg function, // and if the return type is not a pointer to a function. @@ -1638,8 +1641,6 @@ void AssemblyWriter::printInstruction(const Instruction &I) { writeParamOperand(I.getOperand(op), PAL.getParamAttributes(op)); } Out << ')'; - if (PAL.getRetAttributes() != Attribute::None) - Out << ' ' << Attribute::getAsString(PAL.getRetAttributes()); if (PAL.getFnAttributes() != Attribute::None) Out << ' ' << Attribute::getAsString(PAL.getFnAttributes()); } else if (const InvokeInst *II = dyn_cast(&I)) { @@ -1658,6 +1659,9 @@ void AssemblyWriter::printInstruction(const Instruction &I) { default: Out << " cc" << II->getCallingConv(); break; } + if (PAL.getRetAttributes() != Attribute::None) + Out << ' ' << Attribute::getAsString(PAL.getRetAttributes()); + // If possible, print out the short form of the invoke instruction. We can // only do this if the first argument is a pointer to a nonvararg function, // and if the return type is not a pointer to a function. @@ -1680,8 +1684,6 @@ void AssemblyWriter::printInstruction(const Instruction &I) { } Out << ')'; - if (PAL.getRetAttributes() != Attribute::None) - Out << ' ' << Attribute::getAsString(PAL.getRetAttributes()); if (PAL.getFnAttributes() != Attribute::None) Out << ' ' << Attribute::getAsString(PAL.getFnAttributes()); diff --git a/test/Assembler/2008-09-02-FunctionNotes.ll b/test/Assembler/2008-09-02-FunctionNotes.ll index 5ac9bbe2a9d..761c91e864c 100644 --- a/test/Assembler/2008-09-02-FunctionNotes.ll +++ b/test/Assembler/2008-09-02-FunctionNotes.ll @@ -1,4 +1,4 @@ -; Test function notes +; Test function attributes ; RUN: llvm-as < %s | llvm-dis | grep inline | count 2 define void @fn1() alwaysinline { diff --git a/test/Assembler/2008-09-02-FunctionNotes2.ll b/test/Assembler/2008-09-02-FunctionNotes2.ll index 08fd1396a85..6a5116b5530 100644 --- a/test/Assembler/2008-09-02-FunctionNotes2.ll +++ b/test/Assembler/2008-09-02-FunctionNotes2.ll @@ -1,7 +1,7 @@ ; Test function notes ; RUN: not llvm-as %s |& grep "only one inline note" ; XFAIL: * -define void @fn1() alwaysinline, noinline { +define void @fn1() alwaysinline noinline { ret void } diff --git a/test/Assembler/2008-09-29-RetAttr.ll b/test/Assembler/2008-09-29-RetAttr.ll new file mode 100644 index 00000000000..f7db96d2264 --- /dev/null +++ b/test/Assembler/2008-09-29-RetAttr.ll @@ -0,0 +1,13 @@ +; Test return attributes +; RUN: llvm-as < %s | llvm-dis | grep "define inreg i32" +; RUN: llvm-as < %s | llvm-dis | grep "call inreg i32" + +define inreg i32 @fn1() { + ret i32 0 +} + +define void @fn2() { + %t = call inreg i32 @fn1() + ret void +} + diff --git a/test/Transforms/DeadArgElim/keepalive.ll b/test/Transforms/DeadArgElim/keepalive.ll index 9161c7ba0c6..678033e2b56 100644 --- a/test/Transforms/DeadArgElim/keepalive.ll +++ b/test/Transforms/DeadArgElim/keepalive.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as < %s | opt -deadargelim | llvm-dis > %t -; RUN: cat %t | grep {define internal i32 @test1() zeroext nounwind} +; RUN: cat %t | grep {define internal zeroext i32 @test1() nounwind} ; RUN: cat %t | grep {define internal \<\{ i32, i32 \}\> @test} ; Check if the pass doesn't modify anything that doesn't need changing. We feed @@ -7,7 +7,7 @@ ; the function and then changing too much. ; This checks if the return value attributes are not removed -define internal i32 @test1(i32 %DEADARG1) nounwind zeroext{ +define internal zeroext i32 @test1(i32 %DEADARG1) nounwind { ret i32 1 }