diff options
Diffstat (limited to 'llvm/lib/AsmParser')
| -rw-r--r-- | llvm/lib/AsmParser/Lexer.cpp | 840 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/Lexer.l | 1 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.cpp | 4797 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.h | 334 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y | 21 | 
5 files changed, 2628 insertions, 3365 deletions
diff --git a/llvm/lib/AsmParser/Lexer.cpp b/llvm/lib/AsmParser/Lexer.cpp index 0daac0545d2..9435cbf576a 100644 --- a/llvm/lib/AsmParser/Lexer.cpp +++ b/llvm/lib/AsmParser/Lexer.cpp @@ -308,32 +308,32 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));  	*yy_cp = '\0'; \  	yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 102 -#define YY_END_OF_BUFFER 103 -static yyconst short int yy_acclist[180] = +#define YY_NUM_RULES 103 +#define YY_END_OF_BUFFER 104 +static yyconst short int yy_acclist[181] =      {   0, -      103,  101,  102,  100,  101,  102,  100,  102,  101,  102, -      101,  102,  101,  102,  101,  102,  101,  102,  101,  102, -       93,  101,  102,   93,  101,  102,    1,  101,  102,  101, -      102,  101,  102,  101,  102,  101,  102,  101,  102,  101, -      102,  101,  102,  101,  102,  101,  102,  101,  102,  101, -      102,  101,  102,  101,  102,  101,  102,  101,  102,  101, -      102,  101,  102,  101,  102,  101,  102,  101,  102,  101, -      102,   92,   90,   89,   89,   96,   94,   98,   93,    1, -       77,   34,   59,   20,   92,   89,   89,   97,   98,   17, -       98,   99,   53,   58,   30,   35,   56,    3,   44,   55, - -       22,   67,   57,   76,   71,   72,   54,   60,   91,   98, -       98,   39,   68,   69,   84,   85,   46,   19,   95,   23, -        4,   51,   45,   38,   11,   98,   32,    2,    5,   48, +      104,  102,  103,  101,  102,  103,  101,  103,  102,  103, +      102,  103,  102,  103,  102,  103,  102,  103,  102,  103, +       94,  102,  103,   94,  102,  103,    1,  102,  103,  102, +      103,  102,  103,  102,  103,  102,  103,  102,  103,  102, +      103,  102,  103,  102,  103,  102,  103,  102,  103,  102, +      103,  102,  103,  102,  103,  102,  103,  102,  103,  102, +      103,  102,  103,  102,  103,  102,  103,  102,  103,  102, +      103,   93,   91,   90,   90,   97,   95,   99,   94,    1, +       77,   34,   59,   20,   93,   90,   90,   98,   99,   17, +       99,  100,   53,   58,   30,   35,   56,    3,   44,   55, + +       22,   67,   57,   76,   71,   72,   54,   60,   92,   99, +       99,   39,   68,   69,   84,   85,   46,   19,   96,   23, +        4,   51,   45,   38,   11,   99,   32,    2,    5,   48,         50,   40,   62,   66,   64,   65,   63,   61,   42,   86,         41,   47,   18,   74,   83,   37,   49,   27,   21,   36,          7,   79,   29,   82,   52,   70,   78,   24,   25,   80,         43,   75,   73,    6,   26,   33,    8,   14,    9,   10, -       31,   12,   28,   81,   87,   13,   88,   15,   16 +       31,   12,   28,   81,   87,   89,   13,   88,   15,   16      } ; -static yyconst short int yy_accept[417] = +static yyconst short int yy_accept[428] =      {   0,          1,    1,    1,    2,    4,    7,    9,   11,   13,   15,         17,   19,   21,   24,   27,   30,   32,   34,   36,   38, @@ -350,37 +350,38 @@ static yyconst short int yy_accept[417] =         90,   91,   92,   92,   93,   94,   94,   94,   95,   95,         95,   96,   96,   96,   96,   97,   97,   97,   97,   97,         98,   98,   99,   99,   99,   99,   99,   99,   99,   99, -       99,   99,  100,  100,  100,  100,  100,  100,  100,  100, -      101,  102,  102,  102,  103,  103,  104,  105,  105,  105, -      105,  105,  105,  106,  106,  107,  107,  108,  108,  108, +       99,   99,   99,  100,  100,  100,  100,  100,  100,  100, +      100,  101,  102,  102,  102,  103,  103,  104,  105,  105, +      105,  105,  105,  105,  106,  106,  107,  107,  108,  108,        108,  108,  108,  108,  108,  108,  108,  108,  108,  108, -      108,  108,  108,  108,  108,  108,  108,  108,  109,  109, -      110,  111,  111,  111,  111,  112,  112,  112,  112,  112, - -      113,  114,  115,  115,  115,  115,  115,  115,  115,  115, -      115,  115,  115,  115,  115,  116,  116,  116,  116,  116, -      116,  116,  116,  116,  117,  118,  118,  119,  119,  119, -      120,  120,  120,  120,  120,  120,  120,  120,  120,  120, -      120,  121,  121,  121,  122,  123,  123,  124,  124,  124, -      124,  124,  124,  124,  124,  124,  124,  125,  125,  126, -      126,  127,  128,  128,  128,  129,  129,  129,  129,  129, -      129,  129,  129,  129,  129,  130,  130,  131,  131,  131, -      131,  131,  131,  132,  132,  132,  132,  132,  132,  133, -      133,  133,  134,  135,  136,  137,  138,  139,  140,  141, - -      141,  141,  141,  142,  143,  144,  144,  144,  144,  144, -      144,  145,  145,  145,  145,  146,  146,  147,  147,  147, -      147,  148,  149,  150,  150,  150,  151,  151,  152,  152, -      152,  153,  153,  154,  155,  156,  156,  156,  157,  158, -      159,  160,  160,  160,  161,  162,  163,  164,  164,  164, -      164,  164,  165,  166,  166,  166,  166,  166,  166,  166, -      166,  167,  167,  167,  167,  167,  167,  168,  169,  169, -      169,  169,  170,  171,  171,  171,  171,  172,  172,  173, +      108,  108,  108,  108,  108,  108,  108,  108,  108,  109, +      109,  110,  111,  111,  111,  111,  112,  112,  112,  112, + +      112,  113,  114,  115,  115,  115,  115,  115,  115,  115, +      115,  115,  115,  115,  115,  115,  116,  116,  116,  116, +      116,  116,  116,  116,  116,  116,  117,  118,  118,  119, +      119,  119,  120,  120,  120,  120,  120,  120,  120,  120, +      120,  120,  120,  121,  121,  121,  122,  123,  123,  124, +      124,  124,  124,  124,  124,  124,  124,  124,  124,  125, +      125,  126,  126,  127,  128,  128,  128,  129,  129,  129, +      129,  129,  129,  129,  129,  129,  129,  130,  130,  131, +      131,  131,  131,  131,  131,  131,  132,  132,  132,  132, +      132,  132,  133,  133,  133,  134,  135,  136,  137,  138, + +      139,  140,  141,  141,  141,  141,  142,  143,  144,  144, +      144,  144,  144,  144,  145,  145,  145,  145,  146,  146, +      147,  147,  147,  147,  148,  149,  150,  150,  150,  151, +      151,  152,  152,  152,  152,  153,  153,  154,  155,  156, +      156,  156,  157,  158,  159,  160,  160,  160,  161,  162, +      163,  164,  164,  164,  164,  164,  165,  166,  166,  166, +      166,  166,  166,  166,  166,  166,  167,  167,  167,  167, +      167,  167,  168,  169,  169,  169,  169,  169,  170,  171, +      171,  171,  171,  172,  172,  173,  173,  173,  173,  173,        173,  173,  173,  173,  173,  173,  173,  173,  173,  173, -      173,  173,  173,  173,  173,  173,  173,  174,  174,  175, +      173,  173,  173,  173,  173,  173,  174,  174,  175,  175,        175,  175,  175,  175,  175,  175,  175,  176,  176,  177, -      177,  178,  179,  179,  180,  180 +      178,  178,  179,  180,  180,  181,  181      } ;  static yyconst int yy_ec[256] = @@ -424,107 +425,111 @@ static yyconst int yy_meta[42] =          3      } ; -static yyconst short int yy_base[421] = +static yyconst short int yy_base[432] =      {   0, -        0,    0,  872,  873,  873,  873,  867,  858,   34,   36, +        0,    0,  894,  895,  895,  895,  889,  880,   34,   36,         38,   42,   46,   50,    0,   51,   54,   53,   56,   61,         76,   77,   79,   80,   82,   83,   84,   90,   31,  111, -       94,  140,  113,   55,  110,  116,  865,  873,  856,  873, +       94,  140,  113,   55,  110,  116,  887,  895,  878,  895,          0,  128,  131,  144,  150,  124,  160,  167,  172,    0, -      136,  139,  168,  100,   41,  145,  114,  855,  173,  183, +      136,  139,  168,  100,   41,  145,  114,  877,  173,  183,        184,  185,  161,  187,  189,  191,  193,  133,  194,  196,        200,  202,  205,  206,  209,  217,   89,  210,  213,  216, -       57,  854,  207,  224,  223,  227,  229,  233,  243,  235, -      238,  242,  247,  853,  249,  250,  251,  259,  245,  267, - -      265,  266,  272,  281,  274,  278,  852,    0,  291,  293, -      851,  305,  311,    0,  850,  241,  282,  849,  312,  284, -      848,  298,  301,  294,  847,  315,  318,  319,  320,  846, -      322,  324,  327,  329,  325,  326,  339,  332,  333,  345, -      331,  343,  330,  353,  354,  355,  356,  358,  357,  845, -      844,  359,  360,  843,  365,  842,  841,  385,  363,  366, -      361,  396,  840,  376,  839,  377,  838,  379,  385,  399, -      401,  403,  406,  381,  408,  409,  414,  416,  418,  417, -      419,  424,  421,  425,  367,  435,  422,  837,  428,  873, -      440,  449,  452,  454,  457,  441,  459,  460,  461,  836, - -      835,  834,  462,  463,  465,  467,  464,  468,  471,  472, -      476,  474,  475,  484,  833,  485,  487,  488,  489,  491, -      494,  495,  496,  832,  831,  498,  830,  499,  501,    0, -      503,  502,  514,  506,  508,  518,  519,  520,  525,  522, -      829,  530,  532,  828,  827,  533,  826,  535,  538,  536, -      540,  537,  544,  550,  551,  552,  825,  553,  824,  555, -      558,  823,  558,  559,  822,  566,  564,  560,  572,  561, -      574,  575,  577,  580,  821,  582,  820,  583,  584,  585, -      586,  588,  819,  590,  593,  604,  596,  600,  818,  595, -      606,  817,  816,  815,  814,  813,  812,  811,  810,  608, - -      610,  612,  809,  808,  807,  614,  615,  616,  617,  619, -      806,  618,  623,  625,  805,  626,  804,  627,  634,  628, -      803,  802,  801,  646,  631,  800,  632,  799,  638,  652, -      798,  649,  797,  796,  795,  645,  653,  794,  793,  792, -      791,  655,  659,  790,  789,  786,  777,  658,  661,  660, -      662,  776,  774,  663,  667,  672,  665,  664,  675,  669, -      772,  683,  687,  680,  686,  690,  771,  770,  693,  694, -      695,  769,  767,  697,  698,  696,  765,  699,  764,  705, -      700,  715,  703,  704,  706,  719,  722,  707,  716,  725, -      727,  728,  729,  731,  730,  733,  762,  736,  760,  735, - -      741,  742,  743,  747,  749,  750,  759,  751,  752,  757, -      635,  504,  754,  432,  873,  790,  792,  382,  796,  380 +       57,  876,  207,  224,  223,  229,  233,  235,  244,  245, +      241,  238,  253,  875,  254,  249,  243,  240,  252,  264, + +      248,  275,  269,  276,  273,  283,  874,    0,  288,  290, +      873,  297,  312,    0,  872,  291,  298,  871,  305,  309, +      870,  303,  313,  301,  869,  315,  317,  319,  320,  868, +      321,  325,  331,  332,  326,  329,  337,  336,  346,  343, +      344,  347,  351,  350,  354,  357,  358,  361,  362,  364, +      867,  866,  365,  366,  865,  367,  864,  863,  389,  370, +      377,  374,  401,  862,  382,  861,  385,  860,  390,  389, +      408,  402,  405,  411,  407,  409,  417,  415,  422,  426, +      423,  425,  428,  427,  429,  437,  441,  440,  859,  431, +      895,  452,  461,  377,  464,  467,  452,  468,  453,  471, + +      858,  857,  856,  472,  458,  442,  473,  474,  477,  476, +      478,  480,  483,  484,  487,  855,  490,  493,  494,  496, +      497,  500,  501,  502,  504,  854,  853,  506,  852,  507, +      509,    0,  512,  513,  508,  522,  525,  527,  528,  523, +      529,  533,  851,  530,  541,  850,  849,  535,  848,  543, +      545,  547,  552,  549,  551,  553,  558,  559,  847,  561, +      846,  562,  565,  845,  565,  568,  844,  571,  577,  567, +      372,  580,  573,  579,  581,  585,  843,  587,  842,  591, +      593,  583,  595,  596,  597,  841,  603,  601,  604,  605, +      607,  840,  609,  612,  839,  838,  837,  836,  835,  834, + +      833,  832,  617,  615,  619,  831,  830,  829,  621,  623, +      624,  622,  625,  828,  626,  633,  631,  827,  634,  826, +      637,  641,  639,  825,  824,  823,  651,  640,  822,  642, +      821,  643,  653,  655,  820,  657,  819,  818,  817,  659, +      665,  816,  815,  814,  813,  666,  669,  812,  811,  810, +      807,  668,  671,  670,  667,  797,  796,  673,  676,  677, +      672,  678,  691,  692,  674,  795,  694,  695,  698,  697, +      702,  794,  792,  703,  704,  705,  708,  791,  790,  709, +      710,  723,  787,  711,  786,  726,  714,  727,  715,  712, +      730,  719,  733,  736,  739,  740,  742,  744,  716,  746, + +      747,  748,  749,  754,  756,  782,  750,  781,  761,  760, +      764,  765,  766,  768,  769,  770,  780,  771,  779,  675, +      775,  511,  444,  778,  333,  895,  811,  813,  339,  817, +      264      } ; -static yyconst short int yy_def[421] = +static yyconst short int yy_def[432] =      {   0, -      415,    1,  415,  415,  415,  415,  416,  417,  418,  415, -      417,  417,  417,  417,  419,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  416,  415,  417,  415, -      420,  420,  415,  415,  417,  417,  417,  417,  417,  419, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, - -      417,  417,  417,  417,  417,  417,  415,  420,  420,  415, -      417,  417,  417,   49,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,   49,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  415, -      415,  415,  415,  417,  417,  417,  417,  417,  417,  417, - -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  158, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      415,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, - -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, - -      417,  417,  417,  417,  417,  417,  417,  417,  417,  417, -      417,  417,  417,  417,    0,  415,  415,  415,  415,  415 +      426,    1,  426,  426,  426,  426,  427,  428,  429,  426, +      428,  428,  428,  428,  430,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  427,  426,  428,  426, +      431,  431,  426,  426,  428,  428,  428,  428,  428,  430, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, + +      428,  428,  428,  428,  428,  428,  426,  431,  431,  426, +      428,  428,  428,   49,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,   49,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      426,  426,  426,  426,  428,  428,  428,  428,  428,  428, + +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  159,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  426,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, + +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, + +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,  428,  428,  428,  428,  428, +      428,  428,  428,  428,  428,    0,  426,  426,  426,  426, +      426      } ; -static yyconst short int yy_nxt[915] = +static yyconst short int yy_nxt[937] =      {   0,          4,    5,    6,    7,    8,    9,   10,   11,   12,   13,         14,    4,   15,    8,    8,    8,   16,   17,   18,   19, @@ -533,12 +538,12 @@ static yyconst short int yy_nxt[915] =         36,   42,   40,   43,   43,   44,   44,   45,   45,   40,         46,   85,   40,   40,   47,   48,   48,   40,   47,   48,         48,   40,   40,  120,   40,   40,   40,   40,   40,   59, -       51,   60,   40,  153,   55,  104,   62,   52,   56,   53, +       51,   60,   40,  154,   55,  104,   62,   52,   56,   53,         63,   54,   61,   57,   49,   64,   58,   40,   40,   65,         40,   40,   67,   40,   40,   40,   74,   70,   77,   66,         40,   40,   68,   71,   75,   40,   72,   73,   69,   76, -       93,   40,   79,   83,   81,  149,   82,   78,   80,   84, +       93,   40,   79,   83,   81,  150,   82,   78,   80,   84,         86,   40,   40,   94,   40,   40,   95,   40,   87,  102,        119,   88,  111,   96,   89,   40,  106,  109,  109,  105,         43,   43,  103,  122,   40,   90,   91,   40,   92,   86, @@ -550,86 +555,88 @@ static yyconst short int yy_nxt[915] =         40,  125,   40,  128,   40,   40,  124,   40,  132,  133,        126,   40,  127,   40,  138,  129,   40,   40,   40,  135, -       40,   40,  131,  144,   40,  134,  136,   40,   40,  140, -      139,  154,  141,  147,   40,   40,  150,  145,   40,  142, -       40,  143,  152,  146,   40,  148,   40,  151,  155,   40, -      156,  160,   40,   40,   40,  167,   40,  157,   40,  161, -       40,   40,   40,  196,  166,  158,  168,  162,  159,  163, -       40,  169,  164,  171,  176,  165,   40,   40,   40,  170, -      173,  182,  183,   40,  172,   40,  177,  175,  181,   40, -      174,  178,   40,   40,  184,   40,  185,  187,  186,  179, - -      109,  109,  191,  191,  180,   40,  188,  192,  199,   40, -      189,  197,   40,  192,  112,  112,   40,  193,  194,  113, -      195,  195,   40,   40,  200,  113,   40,  201,  202,   40, -       40,   40,  198,   40,  203,   40,   40,   40,   40,  207, -       40,   40,   40,   40,   40,  205,  206,  209,  208,  210, -       40,  204,  215,  216,   40,  214,   40,  218,  212,  220, -      213,  211,  217,  219,   40,   40,   40,   40,   40,   40, -       40,   40,   40,  221,   40,  224,   40,   40,   40,  222, -      225,  233,  108,  226,   41,  227,  257,   40,   40,  223, -       40,  228,   40,  229,  230,  230,   40,  231,  230,  230, - -      232,  230,  230,  230,  230,  230,  230,   40,  238,  239, -       40,  241,   40,  240,   40,  246,  234,   40,  235,   40, -       40,  242,  236,  244,  237,   40,  245,   40,   40,   40, -       40,  243,   40,   40,  249,   40,   40,  248,  251,   40, -      254,  252,  247,   40,  250,  256,   40,  259,  253,  191, -      191,  258,   40,  255,  192,  193,  193,  260,  261,  261, -      192,  261,  261,  195,  195,   40,  195,  195,   40,  262, -       40,   40,   40,   40,   40,   40,   40,  263,   40,   40, -      266,  268,   40,   40,  271,   40,   40,   40,  264,  265, -      270,  269,  274,  276,  275,   40,   40,  267,   40,   40, - -       40,  272,   40,  279,  273,   40,   40,   40,  280,   40, -       40,  278,   40,   40,   40,   40,  282,   40,  277,   40, -      283,  281,  285,  289,  284,   40,  290,  286,  293,   40, -       40,   40,  291,   40,  287,  288,   40,  292,  295,  297, -      300,   40,  294,   40,   40,  299,   40,   40,   40,   40, -      301,   40,  296,  303,  298,   40,  307,  304,  302,  305, -      306,   40,   40,   40,   40,  308,   40,  261,  261,   40, -       40,   40,   40,  311,  315,   40,  309,   40,  316,  314, -      318,  321,  310,   40,  317,   40,   40,  313,   40,  320, -      312,   40,  319,   40,   40,   40,   40,   40,  325,   40, - -      326,   40,  322,  327,   40,  324,   40,   40,  331,  323, -      328,   40,  329,  333,  330,   40,  335,   40,  332,   40, -      336,   40,  334,   40,  337,   40,   40,   40,   40,   40, -       40,  339,  341,  343,   40,  344,   40,   40,   40,   40, -      338,  346,   40,   40,  340,   40,   40,  348,  342,   40, -      350,  345,  347,  349,  352,  351,   40,   40,  357,  356, -       40,  353,  354,   40,   40,  355,   40,  359,  358,   40, -       40,   40,   40,   40,   40,   40,   40,  360,   40,  362, -       40,  361,  363,   40,  364,  365,   40,  369,  366,  368, -      372,   40,  370,  371,   40,  373,  367,   40,   40,  375, - -      377,   40,  374,  376,   40,   40,   40,   40,   40,   40, -       40,   40,  379,  385,   40,   40,   40,   40,   40,  380, -      378,  383,  381,  386,  384,  387,   40,   40,  391,  382, -       40,  389,  392,   40,  388,  393,   40,  395,   40,   40, -       40,   40,   40,  390,   40,  397,   40,   40,  399,  394, -      396,  401,   40,   40,   40,  400,  404,  403,   40,  405, -       40,   40,   40,   40,  402,   40,  409,  398,   40,  406, -       40,   40,  408,   40,  407,   40,   40,  413,   40,  412, -       40,   40,   40,   40,  411,   40,  414,   40,   40,  410, -       37,   37,   37,   37,   39,   39,   50,   40,   50,   50, - +       40,   40,  131,  145,   40,  134,  136,   40,   40,  140, +      139,  155,  141,  148,   40,   40,  151,  146,  142,  143, +       40,  144,  153,  147,   40,  149,   40,  152,  156,   40, +      157,   40,   40,  161,   40,   40,   40,  158,  168,   40, +       40,  162,  169,   40,   40,   40,  108,  159,  176,  163, +      164,  182,  160,  165,  167,   40,  166,  170,  172,  174, +       40,  177,  175,  178,   40,  171,   40,   40,  179,  173, +      183,  184,  188,  186,   40,  187,  180,  109,  109,  192, + +      192,  181,   40,  185,  193,  189,  112,  112,   40,   40, +      193,  113,   40,  197,   40,  190,   40,  113,  194,  195, +       40,  196,  196,   40,   40,  199,   40,  198,   40,  201, +       40,   40,   40,  200,  204,  203,   40,   40,  208,  202, +       40,   41,   40,   40,   40,  206,  207,   40,   40,  209, +      205,  210,  211,  215,   40,   40,  216,   40,   40,  213, +      218,   40,   40,  214,  212,   40,  217,  220,   40,   40, +      219,  221,   40,   40,  223,   40,   40,   40,   40,  222, +      226,   40,  224,   40,  227,   40,  263,  263,   40,  323, +      228,  229,  225,   40,  235,  231,   40,  230,  232,  232, + +       40,   40,  232,  232,  233,  232,  232,  232,  232,  232, +      232,  234,   40,   40,  240,  243,   40,  241,   40,   40, +       40,  236,   40,  237,  242,  246,   40,  238,   40,  239, +      244,  247,  245,   40,   40,  251,   40,   40,   40,   40, +       40,  248,   40,  249,  256,  250,  253,  254,   40,  258, +      252,   40,   40,   40,  255,   40,  259,  260,  270,  257, +      262,  192,  192,   40,   40,  261,  193,  194,  194,   40, +      263,  263,  193,  196,  196,   40,  196,  196,   40,   40, +      264,  266,   40,   40,   40,   40,  265,   40,   40,   40, +      268,   40,  269,  273,   40,   40,  276,  271,   40,  267, + +      272,   40,  278,  277,   40,   40,  274,   40,   40,  281, +      275,   40,   40,   40,  282,   40,  280,   40,   40,   40, +       40,  279,   40,   40,   40,  285,  294,  286,  283,  284, +      288,  287,  292,   40,   40,  289,   40,  293,   40,   40, +       40,   40,  290,  291,   40,  296,   40,  298,  300,  302, +      304,  303,   40,  295,   40,  306,   40,  301,   40,  297, +       40,  299,   40,   40,   40,  307,  308,  305,  310,   40, +       40,  309,   40,   40,  263,  263,   40,  311,   40,   40, +      314,  318,   40,  312,   40,  313,  317,  319,   40,  320, +       40,   40,   40,  321,   40,  316,   40,  315,   40,  322, + +      324,  325,   40,  328,   40,  329,   40,   40,   40,  327, +      332,  330,   40,  326,   40,   40,   40,  335,   40,  331, +       40,  337,  338,   40,  334,  339,   40,  340,   40,  333, +       40,  336,   40,   40,   40,   40,   40,   40,  341,  345, +      343,  347,   40,  348,   40,   40,  342,  350,   40,  344, +       40,   40,   40,   40,   40,  346,  349,  352,  354,  353, +      351,  356,   40,  361,   40,  355,   40,  358,   40,  360, +       40,  363,  357,  362,  359,  364,   40,   40,   40,   40,         40,   40,   40,   40,   40,   40,   40,   40,   40,   40, +      367,  365,  368,  366,  369,  370,  374,  375,  371,  373, + +      376,  372,   40,   40,  377,   40,   40,  380,   40,   40, +      381,  382,  379,   40,   40,   40,   40,  378,  383,   40, +       40,   40,   40,   40,  385,   40,   40,   40,  389,  386, +       40,  384,  387,  390,   40,  393,  391,   40,   40,  388, +      392,   40,  397,  396,   40,  400,  394,   40,  395,  401, +       40,   40,  398,   40,  399,   40,  407,   40,   40,   40, +       40,   40,  405,  402,  406,   40,  408,   40,  410,  403, +      414,   40,   40,  409,  404,   40,   40,   40,  412,   40, +       40,   40,   40,  411,  413,  415,   40,  420,  416,   40, +       40,   40,   40,   40,  418,  424,  417,   40,   40,  423, + +      419,   40,   40,   40,  422,   40,   40,   40,   40,  421, +      425,   37,   37,   37,   37,   39,   39,   50,   40,   50, +       50,   40,   40,   40,   40,   40,   40,   40,   40,   40,         40,   40,   40,   40,   40,   40,   40,   40,   40,   40,         40,   40,   40,   40,   40,   40,   40,   40,   40,   40,         40,   40,   40,   40,   40,   40,   40,   40,   40,   40,         40,   40,   40,   40,   40,   40,   40,   40,   40,   40,         40,   40,   40,   40,   40,   40,   40,   40,   40,   40, -       40,   40,   40,  190,   40,   40,   40,   40,  107,   40, -       38,  415,    3,  415,  415,  415,  415,  415,  415,  415, -      415,  415,  415,  415,  415,  415,  415,  415,  415,  415, -      415,  415,  415,  415,  415,  415,  415,  415,  415,  415, +       40,   40,   40,   40,   40,  191,   40,   40,   40,   40, +      107,   40,   38,  426,    3,  426,  426,  426,  426,  426, -      415,  415,  415,  415,  415,  415,  415,  415,  415,  415, -      415,  415,  415,  415 +      426,  426,  426,  426,  426,  426,  426,  426,  426,  426, +      426,  426,  426,  426,  426,  426,  426,  426,  426,  426, +      426,  426,  426,  426,  426,  426,  426,  426,  426,  426, +      426,  426,  426,  426,  426,  426      } ; -static yyconst short int yy_chk[915] = +static yyconst short int yy_chk[937] =      {   0,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1, @@ -656,82 +663,84 @@ static yyconst short int yy_chk[915] =         65,   60,   66,   62,   67,   69,   59,   70,   65,   66,         61,   71,   61,   72,   69,   62,   73,   74,   83,   67,         75,   78,   64,   74,   79,   66,   67,   80,   76,   71, -       70,   83,   72,   76,   85,   84,   78,   75,   86,   73, -       87,   73,   80,   75,   88,   76,   90,   79,   84,   91, -       85,   88,  116,   92,   89,   91,   99,   85,   93,   88, -       95,   96,   97,  116,   90,   86,   92,   88,   87,   89, -       98,   93,   89,   95,   99,   89,  101,  102,  100,   93, -       96,  102,  102,  103,   95,  105,  100,   98,  101,  106, -       97,  100,  104,  117,  102,  120,  103,  104,  103,  100, - -      109,  109,  110,  110,  100,  124,  105,  110,  120,  122, -      106,  117,  123,  110,  112,  112,  112,  113,  113,  112, -      113,  113,  113,  119,  122,  112,  126,  123,  124,  127, -      128,  129,  119,  131,  126,  132,  135,  136,  133,  131, -      134,  143,  141,  138,  139,  128,  129,  133,  132,  134, -      137,  127,  138,  139,  142,  137,  140,  141,  135,  143, -      136,  134,  140,  142,  144,  145,  146,  147,  149,  148, -      152,  153,  161,  144,  159,  147,  155,  160,  185,  145, -      148,  161,  420,  149,  418,  152,  185,  164,  166,  146, -      168,  153,  174,  155,  158,  158,  169,  159,  158,  158, - -      160,  158,  158,  158,  158,  158,  158,  162,  164,  166, -      170,  169,  171,  168,  172,  174,  162,  173,  162,  175, -      176,  170,  162,  172,  162,  177,  173,  178,  180,  179, -      181,  171,  183,  187,  177,  182,  184,  176,  179,  189, -      182,  180,  175,  414,  178,  184,  186,  187,  181,  191, -      191,  186,  196,  183,  191,  192,  192,  189,  192,  192, -      191,  193,  193,  194,  194,  194,  195,  195,  195,  196, -      197,  198,  199,  203,  204,  207,  205,  197,  206,  208, -      203,  205,  209,  210,  208,  212,  213,  211,  198,  199, -      207,  206,  211,  213,  212,  214,  216,  204,  217,  218, - -      219,  209,  220,  217,  210,  221,  222,  223,  218,  226, -      228,  216,  229,  232,  231,  412,  220,  234,  214,  235, -      221,  219,  223,  231,  222,  233,  232,  226,  235,  236, -      237,  238,  233,  240,  228,  229,  239,  234,  236,  237, -      240,  242,  235,  243,  246,  239,  248,  250,  252,  249, -      242,  251,  236,  246,  238,  253,  251,  248,  243,  249, -      250,  254,  255,  256,  258,  252,  260,  261,  261,  263, -      264,  268,  270,  255,  263,  267,  253,  266,  264,  260, -      267,  270,  254,  269,  266,  271,  272,  258,  273,  269, -      256,  274,  268,  276,  278,  279,  280,  281,  274,  282, - -      276,  284,  271,  278,  285,  273,  290,  287,  282,  272, -      279,  288,  280,  285,  281,  286,  287,  291,  284,  300, -      288,  301,  286,  302,  290,  306,  307,  308,  309,  312, -      310,  300,  302,  307,  313,  308,  314,  316,  318,  320, -      291,  310,  325,  327,  301,  319,  411,  313,  306,  329, -      316,  309,  312,  314,  319,  318,  336,  324,  329,  327, -      332,  320,  324,  330,  337,  325,  342,  332,  330,  348, -      343,  350,  349,  351,  354,  358,  357,  336,  355,  342, -      360,  337,  343,  356,  348,  349,  359,  355,  350,  354, -      358,  364,  356,  357,  362,  359,  351,  365,  363,  362, - -      364,  366,  360,  363,  369,  370,  371,  376,  374,  375, -      378,  381,  366,  376,  383,  384,  380,  385,  388,  369, -      365,  374,  370,  378,  375,  380,  382,  389,  384,  371, -      386,  382,  385,  387,  381,  386,  390,  388,  391,  392, -      393,  395,  394,  383,  396,  390,  400,  398,  392,  387, -      389,  394,  401,  402,  403,  393,  398,  396,  404,  400, -      405,  406,  408,  409,  395,  413,  404,  391,  410,  401, -      407,  399,  403,  397,  402,  379,  377,  410,  373,  408, -      372,  368,  367,  361,  406,  353,  413,  352,  347,  405, -      416,  416,  416,  416,  417,  417,  419,  346,  419,  419, - -      345,  344,  341,  340,  339,  338,  335,  334,  333,  331, -      328,  326,  323,  322,  321,  317,  315,  311,  305,  304, -      303,  299,  298,  297,  296,  295,  294,  293,  292,  289, -      283,  277,  275,  265,  262,  259,  257,  247,  245,  244, -      241,  227,  225,  224,  215,  202,  201,  200,  188,  167, -      165,  163,  157,  156,  154,  151,  150,  130,  125,  121, -      118,  115,  111,  107,   94,   82,   58,   39,   37,    8, -        7,    3,  415,  415,  415,  415,  415,  415,  415,  415, -      415,  415,  415,  415,  415,  415,  415,  415,  415,  415, -      415,  415,  415,  415,  415,  415,  415,  415,  415,  415, - -      415,  415,  415,  415,  415,  415,  415,  415,  415,  415, -      415,  415,  415,  415 +       70,   83,   72,   76,   85,   84,   78,   75,   73,   73, +       86,   73,   80,   75,   87,   76,   88,   79,   84,   92, +       85,   98,   91,   88,   97,   89,   90,   85,   91,  101, +       96,   88,   92,   99,   93,   95,  431,   86,   98,   88, +       89,  101,   87,   89,   90,  100,   89,   93,   95,   96, +      103,   99,   97,  100,  105,   93,  102,  104,  100,   95, +      102,  102,  104,  103,  106,  103,  100,  109,  109,  110, + +      110,  100,  116,  102,  110,  105,  112,  112,  112,  117, +      110,  112,  124,  116,  122,  106,  119,  112,  113,  113, +      120,  113,  113,  113,  123,  119,  126,  117,  127,  122, +      128,  129,  131,  120,  126,  124,  132,  135,  131,  123, +      136,  429,  133,  134,  425,  128,  129,  138,  137,  132, +      127,  133,  134,  137,  140,  141,  138,  139,  142,  135, +      140,  144,  143,  136,  134,  145,  139,  142,  146,  147, +      141,  143,  148,  149,  145,  150,  153,  154,  156,  144, +      148,  160,  146,  271,  149,  162,  194,  194,  161,  271, +      150,  153,  147,  165,  162,  156,  167,  154,  159,  159, + +      170,  169,  159,  159,  160,  159,  159,  159,  159,  159, +      159,  161,  163,  172,  165,  170,  173,  167,  175,  171, +      176,  163,  174,  163,  169,  173,  178,  163,  177,  163, +      171,  174,  172,  179,  181,  178,  182,  180,  184,  183, +      185,  175,  190,  176,  183,  177,  180,  181,  186,  185, +      179,  188,  187,  206,  182,  423,  186,  187,  206,  184, +      190,  192,  192,  197,  199,  188,  192,  193,  193,  205, +      193,  193,  192,  195,  195,  195,  196,  196,  196,  198, +      197,  199,  200,  204,  207,  208,  198,  210,  209,  211, +      204,  212,  205,  209,  213,  214,  212,  207,  215,  200, + +      208,  217,  214,  213,  218,  219,  210,  220,  221,  218, +      211,  222,  223,  224,  219,  225,  217,  228,  230,  235, +      231,  215,  422,  233,  234,  222,  235,  223,  220,  221, +      225,  224,  233,  236,  240,  228,  237,  234,  238,  239, +      241,  244,  230,  231,  242,  237,  248,  238,  239,  241, +      244,  242,  245,  236,  250,  248,  251,  240,  252,  237, +      254,  238,  255,  253,  256,  250,  251,  245,  253,  257, +      258,  252,  260,  262,  263,  263,  265,  254,  270,  266, +      257,  265,  268,  255,  273,  256,  262,  266,  269,  268, +      274,  272,  275,  269,  282,  260,  276,  258,  278,  270, + +      272,  273,  280,  276,  281,  278,  283,  284,  285,  275, +      282,  280,  288,  274,  287,  289,  290,  285,  291,  281, +      293,  288,  289,  294,  284,  290,  304,  291,  303,  283, +      305,  287,  309,  312,  310,  311,  313,  315,  293,  305, +      303,  310,  317,  311,  316,  319,  294,  313,  321,  304, +      323,  328,  322,  330,  332,  309,  312,  316,  319,  317, +      315,  322,  327,  332,  333,  321,  334,  327,  336,  330, +      340,  334,  323,  333,  328,  336,  341,  346,  355,  352, +      347,  354,  353,  361,  358,  365,  420,  359,  360,  362, +      346,  340,  347,  341,  352,  353,  359,  360,  354,  358, + +      361,  355,  363,  364,  362,  367,  368,  365,  370,  369, +      367,  368,  364,  371,  374,  375,  376,  363,  369,  377, +      380,  381,  384,  390,  371,  387,  389,  399,  377,  374, +      392,  370,  375,  380,  382,  384,  381,  386,  388,  376, +      382,  391,  389,  388,  393,  392,  386,  394,  387,  393, +      395,  396,  390,  397,  391,  398,  399,  400,  401,  402, +      403,  407,  397,  394,  398,  404,  400,  405,  402,  395, +      407,  410,  409,  401,  396,  411,  412,  413,  404,  414, +      415,  416,  418,  403,  405,  409,  421,  414,  410,  424, +      419,  417,  408,  406,  412,  421,  411,  385,  383,  418, + +      413,  379,  378,  373,  416,  372,  366,  357,  356,  415, +      424,  427,  427,  427,  427,  428,  428,  430,  351,  430, +      430,  350,  349,  348,  345,  344,  343,  342,  339,  338, +      337,  335,  331,  329,  326,  325,  324,  320,  318,  314, +      308,  307,  306,  302,  301,  300,  299,  298,  297,  296, +      295,  292,  286,  279,  277,  267,  264,  261,  259,  249, +      247,  246,  243,  229,  227,  226,  216,  203,  202,  201, +      189,  168,  166,  164,  158,  157,  155,  152,  151,  130, +      125,  121,  118,  115,  111,  107,   94,   82,   58,   39, +       37,    8,    7,    3,  426,  426,  426,  426,  426,  426, + +      426,  426,  426,  426,  426,  426,  426,  426,  426,  426, +      426,  426,  426,  426,  426,  426,  426,  426,  426,  426, +      426,  426,  426,  426,  426,  426,  426,  426,  426,  426, +      426,  426,  426,  426,  426,  426      } ;  static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -748,7 +757,7 @@ goto find_rule; \  #define YY_MORE_ADJ 0  #define YY_RESTORE_YY_MORE_OFFSET  char *yytext; -#line 1 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 1 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  #define INITIAL 0  /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//  // @@ -763,7 +772,7 @@ char *yytext;  //  //===----------------------------------------------------------------------===*/  #define YY_NEVER_INTERACTIVE 1 -#line 28 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 28 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  #include "ParserInternals.h"  #include "llvm/Module.h"  #include <list> @@ -889,7 +898,7 @@ using namespace llvm;  /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing   * it to deal with 64 bit numbers.   */ -#line 893 "Lexer.cpp" +#line 902 "Lexer.cpp"  /* Macros after this point can all be overridden by user definitions in   * section 1. @@ -1040,10 +1049,10 @@ YY_DECL  	register char *yy_cp, *yy_bp;  	register int yy_act; -#line 179 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 179 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l" -#line 1047 "Lexer.cpp" +#line 1056 "Lexer.cpp"  	if ( yy_init )  		{ @@ -1091,14 +1100,14 @@ yy_match:  			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )  				{  				yy_current_state = (int) yy_def[yy_current_state]; -				if ( yy_current_state >= 416 ) +				if ( yy_current_state >= 427 )  					yy_c = yy_meta[(unsigned int) yy_c];  				}  			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];  			*yy_state_ptr++ = yy_current_state;  			++yy_cp;  			} -		while ( yy_current_state != 415 ); +		while ( yy_current_state != 426 );  yy_find_action:  		yy_current_state = *--yy_state_ptr; @@ -1136,456 +1145,461 @@ do_action:	/* This label is used only to access EOF actions. */  	{ /* beginning of action switch */  case 1:  YY_RULE_SETUP -#line 181 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 181 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { /* Ignore comments for now */ }  	YY_BREAK  case 2:  YY_RULE_SETUP -#line 183 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 183 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return BEGINTOK; }  	YY_BREAK  case 3:  YY_RULE_SETUP -#line 184 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 184 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return ENDTOK; }  	YY_BREAK  case 4:  YY_RULE_SETUP -#line 185 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 185 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return TRUETOK;  }  	YY_BREAK  case 5:  YY_RULE_SETUP -#line 186 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 186 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return FALSETOK; }  	YY_BREAK  case 6:  YY_RULE_SETUP -#line 187 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 187 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return DECLARE; }  	YY_BREAK  case 7:  YY_RULE_SETUP -#line 188 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 188 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return GLOBAL; }  	YY_BREAK  case 8:  YY_RULE_SETUP -#line 189 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 189 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return CONSTANT; }  	YY_BREAK  case 9:  YY_RULE_SETUP -#line 190 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 190 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return INTERNAL; }  	YY_BREAK  case 10:  YY_RULE_SETUP -#line 191 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 191 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return LINKONCE; }  	YY_BREAK  case 11:  YY_RULE_SETUP -#line 192 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 192 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return WEAK; }  	YY_BREAK  case 12:  YY_RULE_SETUP -#line 193 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 193 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return APPENDING; }  	YY_BREAK  case 13:  YY_RULE_SETUP -#line 194 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 194 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return EXTERNAL; }    /* Deprecated, turn into external */  	YY_BREAK  case 14:  YY_RULE_SETUP -#line 195 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 195 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return EXTERNAL; }  	YY_BREAK  case 15:  YY_RULE_SETUP -#line 196 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 196 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return IMPLEMENTATION; }  	YY_BREAK  case 16:  YY_RULE_SETUP -#line 197 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 197 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return ZEROINITIALIZER; }  	YY_BREAK  case 17:  YY_RULE_SETUP -#line 198 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 198 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return DOTDOTDOT; }  	YY_BREAK  case 18:  YY_RULE_SETUP -#line 199 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 199 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return UNDEF; }  	YY_BREAK  case 19:  YY_RULE_SETUP -#line 200 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 200 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return NULL_TOK; }  	YY_BREAK  case 20:  YY_RULE_SETUP -#line 201 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 201 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return TO; }  	YY_BREAK  case 21:  YY_RULE_SETUP -#line 202 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 202 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Unwind, UNWIND); }  	YY_BREAK  case 22:  YY_RULE_SETUP -#line 203 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 203 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return NOT; }  /* Deprecated, turned into XOR */  	YY_BREAK  case 23:  YY_RULE_SETUP -#line 204 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 204 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return TAIL; }  	YY_BREAK  case 24:  YY_RULE_SETUP -#line 205 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 205 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return TARGET; }  	YY_BREAK  case 25:  YY_RULE_SETUP -#line 206 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 206 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return TRIPLE; }  	YY_BREAK  case 26:  YY_RULE_SETUP -#line 207 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 207 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return DEPLIBS; }  	YY_BREAK  case 27:  YY_RULE_SETUP -#line 208 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 208 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return ENDIAN; }  	YY_BREAK  case 28:  YY_RULE_SETUP -#line 209 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 209 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return POINTERSIZE; }  	YY_BREAK  case 29:  YY_RULE_SETUP -#line 210 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 210 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return LITTLE; }  	YY_BREAK  case 30:  YY_RULE_SETUP -#line 211 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 211 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return BIG; }  	YY_BREAK  case 31:  YY_RULE_SETUP -#line 212 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 212 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return VOLATILE; }  	YY_BREAK  case 32:  YY_RULE_SETUP -#line 213 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 213 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return ALIGN;  }  	YY_BREAK  case 33:  YY_RULE_SETUP -#line 214 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 214 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return SECTION; }  	YY_BREAK  case 34:  YY_RULE_SETUP -#line 216 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 216 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return CC_TOK; }  	YY_BREAK  case 35:  YY_RULE_SETUP -#line 217 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 217 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return CCC_TOK; }  	YY_BREAK  case 36:  YY_RULE_SETUP -#line 218 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 218 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return FASTCC_TOK; }  	YY_BREAK  case 37:  YY_RULE_SETUP -#line 219 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 219 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return COLDCC_TOK; }  	YY_BREAK  case 38:  YY_RULE_SETUP -#line 221 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 221 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }  	YY_BREAK  case 39:  YY_RULE_SETUP -#line 222 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 222 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }  	YY_BREAK  case 40:  YY_RULE_SETUP -#line 223 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 223 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }  	YY_BREAK  case 41:  YY_RULE_SETUP -#line 224 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 224 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }  	YY_BREAK  case 42:  YY_RULE_SETUP -#line 225 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 225 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }  	YY_BREAK  case 43:  YY_RULE_SETUP -#line 226 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 226 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }  	YY_BREAK  case 44:  YY_RULE_SETUP -#line 227 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 227 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }  	YY_BREAK  case 45:  YY_RULE_SETUP -#line 228 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 228 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }  	YY_BREAK  case 46:  YY_RULE_SETUP -#line 229 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 229 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }  	YY_BREAK  case 47:  YY_RULE_SETUP -#line 230 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 230 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }  	YY_BREAK  case 48:  YY_RULE_SETUP -#line 231 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 231 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }  	YY_BREAK  case 49:  YY_RULE_SETUP -#line 232 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 232 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }  	YY_BREAK  case 50:  YY_RULE_SETUP -#line 233 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 233 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }  	YY_BREAK  case 51:  YY_RULE_SETUP -#line 234 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 234 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return TYPE;   }  	YY_BREAK  case 52:  YY_RULE_SETUP -#line 235 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 235 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return OPAQUE; }  	YY_BREAK  case 53:  YY_RULE_SETUP -#line 237 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 237 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, Add, ADD); }  	YY_BREAK  case 54:  YY_RULE_SETUP -#line 238 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 238 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, Sub, SUB); }  	YY_BREAK  case 55:  YY_RULE_SETUP -#line 239 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 239 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, Mul, MUL); }  	YY_BREAK  case 56:  YY_RULE_SETUP -#line 240 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 240 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, Div, DIV); }  	YY_BREAK  case 57:  YY_RULE_SETUP -#line 241 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 241 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, Rem, REM); }  	YY_BREAK  case 58:  YY_RULE_SETUP -#line 242 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 242 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, And, AND); }  	YY_BREAK  case 59:  YY_RULE_SETUP -#line 243 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 243 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, Or , OR ); }  	YY_BREAK  case 60:  YY_RULE_SETUP -#line 244 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 244 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, Xor, XOR); }  	YY_BREAK  case 61:  YY_RULE_SETUP -#line 245 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 245 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, SetNE, SETNE); }  	YY_BREAK  case 62:  YY_RULE_SETUP -#line 246 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 246 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, SetEQ, SETEQ); }  	YY_BREAK  case 63:  YY_RULE_SETUP -#line 247 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 247 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, SetLT, SETLT); }  	YY_BREAK  case 64:  YY_RULE_SETUP -#line 248 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 248 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, SetGT, SETGT); }  	YY_BREAK  case 65:  YY_RULE_SETUP -#line 249 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 249 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, SetLE, SETLE); }  	YY_BREAK  case 66:  YY_RULE_SETUP -#line 250 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 250 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(BinaryOpVal, SetGE, SETGE); }  	YY_BREAK  case 67:  YY_RULE_SETUP -#line 252 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 252 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, PHI, PHI_TOK); }  	YY_BREAK  case 68:  YY_RULE_SETUP -#line 253 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 253 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, Call, CALL); }  	YY_BREAK  case 69:  YY_RULE_SETUP -#line 254 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 254 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, Cast, CAST); }  	YY_BREAK  case 70:  YY_RULE_SETUP -#line 255 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 255 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, Select, SELECT); }  	YY_BREAK  case 71:  YY_RULE_SETUP -#line 256 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 256 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, Shl, SHL); }  	YY_BREAK  case 72:  YY_RULE_SETUP -#line 257 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 257 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, Shr, SHR); }  	YY_BREAK  case 73:  YY_RULE_SETUP -#line 258 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 258 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return VANEXT_old; }  	YY_BREAK  case 74:  YY_RULE_SETUP -#line 259 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 259 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return VAARG_old; }  	YY_BREAK  case 75:  YY_RULE_SETUP -#line 260 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 260 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, VAArg , VAARG); }  	YY_BREAK  case 76:  YY_RULE_SETUP -#line 261 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 261 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Ret, RET); }  	YY_BREAK  case 77:  YY_RULE_SETUP -#line 262 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 262 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Br, BR); }  	YY_BREAK  case 78:  YY_RULE_SETUP -#line 263 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 263 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Switch, SWITCH); }  	YY_BREAK  case 79:  YY_RULE_SETUP -#line 264 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 264 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Invoke, INVOKE); }  	YY_BREAK  case 80:  YY_RULE_SETUP -#line 265 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 265 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Unwind, UNWIND); }  	YY_BREAK  case 81:  YY_RULE_SETUP -#line 266 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 266 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }  	YY_BREAK  case 82:  YY_RULE_SETUP -#line 268 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 268 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(MemOpVal, Malloc, MALLOC); }  	YY_BREAK  case 83:  YY_RULE_SETUP -#line 269 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 269 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(MemOpVal, Alloca, ALLOCA); }  	YY_BREAK  case 84:  YY_RULE_SETUP -#line 270 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 270 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(MemOpVal, Free, FREE); }  	YY_BREAK  case 85:  YY_RULE_SETUP -#line 271 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 271 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(MemOpVal, Load, LOAD); }  	YY_BREAK  case 86:  YY_RULE_SETUP -#line 272 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 272 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(MemOpVal, Store, STORE); }  	YY_BREAK  case 87:  YY_RULE_SETUP -#line 273 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 273 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }  	YY_BREAK  case 88:  YY_RULE_SETUP -#line 275 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 275 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }  	YY_BREAK  case 89:  YY_RULE_SETUP -#line 278 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 276 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } +	YY_BREAK +case 90: +YY_RULE_SETUP +#line 279 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                    UnEscapeLexed(yytext+1);                    llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %                    return VAR_ID;                  }  	YY_BREAK -case 90: +case 91:  YY_RULE_SETUP -#line 283 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 284 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                    yytext[strlen(yytext)-1] = 0;  // nuke colon                    UnEscapeLexed(yytext); @@ -1593,9 +1607,9 @@ YY_RULE_SETUP                    return LABELSTR;                  }  	YY_BREAK -case 91: +case 92:  YY_RULE_SETUP -#line 289 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 290 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                    yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote                    UnEscapeLexed(yytext+1); @@ -1603,9 +1617,9 @@ YY_RULE_SETUP                    return LABELSTR;                  }  	YY_BREAK -case 92: +case 93:  YY_RULE_SETUP -#line 296 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 297 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { // Note that we cannot unescape a string constant here!  The                     // string constant might contain a \00 which would not be                     // understood by the string stuff.  It is valid to make a @@ -1616,14 +1630,14 @@ YY_RULE_SETUP                     return STRINGCONSTANT;                   }  	YY_BREAK -case 93: +case 94:  YY_RULE_SETUP -#line 307 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 308 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }  	YY_BREAK -case 94: +case 95:  YY_RULE_SETUP -#line 308 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 309 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                    uint64_t Val = atoull(yytext+1);                    // +1:  we have bigger negative range @@ -1633,17 +1647,17 @@ YY_RULE_SETUP                    return ESINT64VAL;                  }  	YY_BREAK -case 95: +case 96:  YY_RULE_SETUP -#line 316 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 317 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                     llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);                     return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;                   }  	YY_BREAK -case 96: +case 97:  YY_RULE_SETUP -#line 321 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 322 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                    uint64_t Val = atoull(yytext+1);                    if ((unsigned)Val != Val) @@ -1652,9 +1666,9 @@ YY_RULE_SETUP                    return UINTVAL;                  }  	YY_BREAK -case 97: +case 98:  YY_RULE_SETUP -#line 328 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 329 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                    uint64_t Val = atoull(yytext+2);                    // +1:  we have bigger negative range @@ -1664,18 +1678,18 @@ YY_RULE_SETUP                    return SINTVAL;                  }  	YY_BREAK -case 98: +case 99:  YY_RULE_SETUP -#line 337 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 338 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }  	YY_BREAK -case 99: +case 100:  YY_RULE_SETUP -#line 338 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 339 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }  	YY_BREAK  case YY_STATE_EOF(INITIAL): -#line 340 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 341 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  {                    /* Make sure to free the internal buffers for flex when we are                     * done reading our input! @@ -1684,22 +1698,22 @@ case YY_STATE_EOF(INITIAL):                    return EOF;                  }  	YY_BREAK -case 100: +case 101:  YY_RULE_SETUP -#line 348 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 349 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { /* Ignore whitespace */ }  	YY_BREAK -case 101: +case 102:  YY_RULE_SETUP -#line 349 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 350 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  { return yytext[0]; }  	YY_BREAK -case 102: +case 103:  YY_RULE_SETUP -#line 351 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 352 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l"  YY_FATAL_ERROR( "flex scanner jammed" );  	YY_BREAK -#line 1703 "Lexer.cpp" +#line 1717 "Lexer.cpp"  	case YY_END_OF_BUFFER:  		{ @@ -1986,7 +2000,7 @@ static yy_state_type yy_get_previous_state()  		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )  			{  			yy_current_state = (int) yy_def[yy_current_state]; -			if ( yy_current_state >= 416 ) +			if ( yy_current_state >= 427 )  				yy_c = yy_meta[(unsigned int) yy_c];  			}  		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2016,11 +2030,11 @@ yy_state_type yy_current_state;  	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )  		{  		yy_current_state = (int) yy_def[yy_current_state]; -		if ( yy_current_state >= 416 ) +		if ( yy_current_state >= 427 )  			yy_c = yy_meta[(unsigned int) yy_c];  		}  	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; -	yy_is_jam = (yy_current_state == 415); +	yy_is_jam = (yy_current_state == 426);  	if ( ! yy_is_jam )  		*yy_state_ptr++ = yy_current_state; @@ -2581,5 +2595,5 @@ int main()  	return 0;  	}  #endif -#line 351 "/Users/sabre/llvm/lib/AsmParser/Lexer.l" +#line 352 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/Lexer.l" diff --git a/llvm/lib/AsmParser/Lexer.l b/llvm/lib/AsmParser/Lexer.l index 9a2c5a34724..5c3a0c0f575 100644 --- a/llvm/lib/AsmParser/Lexer.l +++ b/llvm/lib/AsmParser/Lexer.l @@ -273,6 +273,7 @@ store           { RET_TOK(MemOpVal, Store, STORE); }  getelementptr   { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }  extractelement  { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } +insertelement   { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }  {VarID}         { diff --git a/llvm/lib/AsmParser/llvmAsmParser.cpp b/llvm/lib/AsmParser/llvmAsmParser.cpp index 45bcc6f6171..dfae9725372 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.cpp +++ b/llvm/lib/AsmParser/llvmAsmParser.cpp @@ -1,263 +1,113 @@ -/* A Bison parser, made by GNU Bison 1.875c.  */ -/* Skeleton parser for Yacc-like parsing with Bison, -   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +/*  A Bison parser, made from /Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y +    by GNU Bison version 1.28  */ -   This program is free software; you can redistribute it and/or modify -   it under the terms of the GNU General Public License as published by -   the Free Software Foundation; either version 2, or (at your option) -   any later version. - -   This program is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -   GNU General Public License for more details. - -   You should have received a copy of the GNU General Public License -   along with this program; if not, write to the Free Software -   Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ +#define YYBISON 1  /* Identify Bison output.  */ -/* As a special exception, when this file is copied by Bison into a -   Bison output file, you may use that output file without restriction. -   This special exception was added by the Free Software Foundation -   in version 1.24 of Bison.  */ - -/* Written by Richard Stallman by simplifying the original so called -   ``semantic'' parser.  */ - -/* All symbols defined below should begin with yy or YY, to avoid -   infringing on user name space.  This should be done even for local -   variables, as they might otherwise be expanded by user macros. -   There are some unavoidable exceptions within include files to -   define necessary library symbols; they are noted "INFRINGES ON -   USER NAME SPACE" below.  */ - -/* Identify Bison output.  */ -#define YYBISON 1 - -/* Skeleton name.  */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers.  */ -#define YYPURE 0 - -/* Using locations.  */ -#define YYLSP_NEEDED 0 - -/* If NAME_PREFIX is specified substitute the variables and functions -   names.  */  #define yyparse llvmAsmparse -#define yylex   llvmAsmlex +#define yylex llvmAsmlex  #define yyerror llvmAsmerror -#define yylval  llvmAsmlval -#define yychar  llvmAsmchar +#define yylval llvmAsmlval +#define yychar llvmAsmchar  #define yydebug llvmAsmdebug  #define yynerrs llvmAsmnerrs - - -/* Tokens.  */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE -   /* Put the tokens into the symbol table, so that GDB and other debuggers -      know about them.  */ -   enum yytokentype { -     ESINT64VAL = 258, -     EUINT64VAL = 259, -     SINTVAL = 260, -     UINTVAL = 261, -     FPVAL = 262, -     VOID = 263, -     BOOL = 264, -     SBYTE = 265, -     UBYTE = 266, -     SHORT = 267, -     USHORT = 268, -     INT = 269, -     UINT = 270, -     LONG = 271, -     ULONG = 272, -     FLOAT = 273, -     DOUBLE = 274, -     TYPE = 275, -     LABEL = 276, -     VAR_ID = 277, -     LABELSTR = 278, -     STRINGCONSTANT = 279, -     IMPLEMENTATION = 280, -     ZEROINITIALIZER = 281, -     TRUETOK = 282, -     FALSETOK = 283, -     BEGINTOK = 284, -     ENDTOK = 285, -     DECLARE = 286, -     GLOBAL = 287, -     CONSTANT = 288, -     SECTION = 289, -     VOLATILE = 290, -     TO = 291, -     DOTDOTDOT = 292, -     NULL_TOK = 293, -     UNDEF = 294, -     CONST = 295, -     INTERNAL = 296, -     LINKONCE = 297, -     WEAK = 298, -     APPENDING = 299, -     OPAQUE = 300, -     NOT = 301, -     EXTERNAL = 302, -     TARGET = 303, -     TRIPLE = 304, -     ENDIAN = 305, -     POINTERSIZE = 306, -     LITTLE = 307, -     BIG = 308, -     ALIGN = 309, -     DEPLIBS = 310, -     CALL = 311, -     TAIL = 312, -     CC_TOK = 313, -     CCC_TOK = 314, -     FASTCC_TOK = 315, -     COLDCC_TOK = 316, -     RET = 317, -     BR = 318, -     SWITCH = 319, -     INVOKE = 320, -     UNWIND = 321, -     UNREACHABLE = 322, -     ADD = 323, -     SUB = 324, -     MUL = 325, -     DIV = 326, -     REM = 327, -     AND = 328, -     OR = 329, -     XOR = 330, -     SETLE = 331, -     SETGE = 332, -     SETLT = 333, -     SETGT = 334, -     SETEQ = 335, -     SETNE = 336, -     MALLOC = 337, -     ALLOCA = 338, -     FREE = 339, -     LOAD = 340, -     STORE = 341, -     GETELEMENTPTR = 342, -     PHI_TOK = 343, -     CAST = 344, -     SELECT = 345, -     SHL = 346, -     SHR = 347, -     VAARG = 348, -     EXTRACTELEMENT = 349, -     VAARG_old = 350, -     VANEXT_old = 351 -   }; -#endif -#define ESINT64VAL 258 -#define EUINT64VAL 259 -#define SINTVAL 260 -#define UINTVAL 261 -#define FPVAL 262 -#define VOID 263 -#define BOOL 264 -#define SBYTE 265 -#define UBYTE 266 -#define SHORT 267 -#define USHORT 268 -#define INT 269 -#define UINT 270 -#define LONG 271 -#define ULONG 272 -#define FLOAT 273 -#define DOUBLE 274 -#define TYPE 275 -#define LABEL 276 -#define VAR_ID 277 -#define LABELSTR 278 -#define STRINGCONSTANT 279 -#define IMPLEMENTATION 280 -#define ZEROINITIALIZER 281 -#define TRUETOK 282 -#define FALSETOK 283 -#define BEGINTOK 284 -#define ENDTOK 285 -#define DECLARE 286 -#define GLOBAL 287 -#define CONSTANT 288 -#define SECTION 289 -#define VOLATILE 290 -#define TO 291 -#define DOTDOTDOT 292 -#define NULL_TOK 293 -#define UNDEF 294 -#define CONST 295 -#define INTERNAL 296 -#define LINKONCE 297 -#define WEAK 298 -#define APPENDING 299 -#define OPAQUE 300 -#define NOT 301 -#define EXTERNAL 302 -#define TARGET 303 -#define TRIPLE 304 -#define ENDIAN 305 -#define POINTERSIZE 306 -#define LITTLE 307 -#define BIG 308 -#define ALIGN 309 -#define DEPLIBS 310 -#define CALL 311 -#define TAIL 312 -#define CC_TOK 313 -#define CCC_TOK 314 -#define FASTCC_TOK 315 -#define COLDCC_TOK 316 -#define RET 317 -#define BR 318 -#define SWITCH 319 -#define INVOKE 320 -#define UNWIND 321 -#define UNREACHABLE 322 -#define ADD 323 -#define SUB 324 -#define MUL 325 -#define DIV 326 -#define REM 327 -#define AND 328 -#define OR 329 -#define XOR 330 -#define SETLE 331 -#define SETGE 332 -#define SETLT 333 -#define SETGT 334 -#define SETEQ 335 -#define SETNE 336 -#define MALLOC 337 -#define ALLOCA 338 -#define FREE 339 -#define LOAD 340 -#define STORE 341 -#define GETELEMENTPTR 342 -#define PHI_TOK 343 -#define CAST 344 -#define SELECT 345 -#define SHL 346 -#define SHR 347 -#define VAARG 348 -#define EXTRACTELEMENT 349 -#define VAARG_old 350 -#define VANEXT_old 351 - - - - -/* Copy the first part of user declarations.  */ -#line 14 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" +#define	ESINT64VAL	257 +#define	EUINT64VAL	258 +#define	SINTVAL	259 +#define	UINTVAL	260 +#define	FPVAL	261 +#define	VOID	262 +#define	BOOL	263 +#define	SBYTE	264 +#define	UBYTE	265 +#define	SHORT	266 +#define	USHORT	267 +#define	INT	268 +#define	UINT	269 +#define	LONG	270 +#define	ULONG	271 +#define	FLOAT	272 +#define	DOUBLE	273 +#define	TYPE	274 +#define	LABEL	275 +#define	VAR_ID	276 +#define	LABELSTR	277 +#define	STRINGCONSTANT	278 +#define	IMPLEMENTATION	279 +#define	ZEROINITIALIZER	280 +#define	TRUETOK	281 +#define	FALSETOK	282 +#define	BEGINTOK	283 +#define	ENDTOK	284 +#define	DECLARE	285 +#define	GLOBAL	286 +#define	CONSTANT	287 +#define	SECTION	288 +#define	VOLATILE	289 +#define	TO	290 +#define	DOTDOTDOT	291 +#define	NULL_TOK	292 +#define	UNDEF	293 +#define	CONST	294 +#define	INTERNAL	295 +#define	LINKONCE	296 +#define	WEAK	297 +#define	APPENDING	298 +#define	OPAQUE	299 +#define	NOT	300 +#define	EXTERNAL	301 +#define	TARGET	302 +#define	TRIPLE	303 +#define	ENDIAN	304 +#define	POINTERSIZE	305 +#define	LITTLE	306 +#define	BIG	307 +#define	ALIGN	308 +#define	DEPLIBS	309 +#define	CALL	310 +#define	TAIL	311 +#define	CC_TOK	312 +#define	CCC_TOK	313 +#define	FASTCC_TOK	314 +#define	COLDCC_TOK	315 +#define	RET	316 +#define	BR	317 +#define	SWITCH	318 +#define	INVOKE	319 +#define	UNWIND	320 +#define	UNREACHABLE	321 +#define	ADD	322 +#define	SUB	323 +#define	MUL	324 +#define	DIV	325 +#define	REM	326 +#define	AND	327 +#define	OR	328 +#define	XOR	329 +#define	SETLE	330 +#define	SETGE	331 +#define	SETLT	332 +#define	SETGT	333 +#define	SETEQ	334 +#define	SETNE	335 +#define	MALLOC	336 +#define	ALLOCA	337 +#define	FREE	338 +#define	LOAD	339 +#define	STORE	340 +#define	GETELEMENTPTR	341 +#define	PHI_TOK	342 +#define	CAST	343 +#define	SELECT	344 +#define	SHL	345 +#define	SHR	346 +#define	VAARG	347 +#define	EXTRACTELEMENT	348 +#define	INSERTELEMENT	349 +#define	VAARG_old	350 +#define	VANEXT_old	351 + +#line 14 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y"  #include "ParserInternals.h"  #include "llvm/CallingConv.h" @@ -1121,23 +971,8 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {  } - -/* Enabling traces.  */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages.  */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 878 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -typedef union YYSTYPE { +#line 878 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +typedef union {    llvm::Module                           *ModuleVal;    llvm::Function                         *FunctionVal;    std::pair<llvm::PATypeHolder*, char*>  *ArgVal; @@ -1176,1286 +1011,939 @@ typedef union YYSTYPE {    llvm::Instruction::OtherOps             OtherOpVal;    llvm::Module::Endianness                Endianness;  } YYSTYPE; -/* Line 191 of yacc.c.  */ -#line 1181 "llvmAsmParser.tab.c" -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - - - -/* Copy the second part of user declarations.  */ - - -/* Line 214 of yacc.c.  */ -#line 1193 "llvmAsmParser.tab.c" - -#if ! defined (yyoverflow) || YYERROR_VERBOSE +#include <stdio.h> -# ifndef YYFREE -#  define YYFREE free -# endif -# ifndef YYMALLOC -#  define YYMALLOC malloc -# endif - -/* The parser invokes alloca or malloc; define the necessary symbols.  */ - -# ifdef YYSTACK_USE_ALLOCA -#  if YYSTACK_USE_ALLOCA -#   define YYSTACK_ALLOC alloca -#  endif -# else -#  if defined (alloca) || defined (_ALLOCA_H) -#   define YYSTACK_ALLOC alloca -#  else -#   ifdef __GNUC__ -#    define YYSTACK_ALLOC __builtin_alloca -#   endif -#  endif -# endif +#ifndef __cplusplus +#ifndef __STDC__ +#define const +#endif +#endif -# ifdef YYSTACK_ALLOC -   /* Pacify GCC's `empty if-body' warning. */ -#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# else -#  if defined (__STDC__) || defined (__cplusplus) -#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -#   define YYSIZE_T size_t -#  endif -#  define YYSTACK_ALLOC YYMALLOC -#  define YYSTACK_FREE YYFREE -# endif -#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ -#if (! defined (yyoverflow) \ -     && (! defined (__cplusplus) \ -	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) +#define	YYFINAL		460 +#define	YYFLAG		-32768 +#define	YYNTBASE	112 + +#define YYTRANSLATE(x) ((unsigned)(x) <= 351 ? yytranslate[x] : 181) + +static const char yytranslate[] = {     0, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,   101, +   102,   110,     2,    99,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,   106, +    98,   107,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +   103,   100,   105,     2,     2,     2,     2,     2,   111,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,   104, +     2,     2,   108,     2,   109,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     1,     3,     4,     5,     6, +     7,     8,     9,    10,    11,    12,    13,    14,    15,    16, +    17,    18,    19,    20,    21,    22,    23,    24,    25,    26, +    27,    28,    29,    30,    31,    32,    33,    34,    35,    36, +    37,    38,    39,    40,    41,    42,    43,    44,    45,    46, +    47,    48,    49,    50,    51,    52,    53,    54,    55,    56, +    57,    58,    59,    60,    61,    62,    63,    64,    65,    66, +    67,    68,    69,    70,    71,    72,    73,    74,    75,    76, +    77,    78,    79,    80,    81,    82,    83,    84,    85,    86, +    87,    88,    89,    90,    91,    92,    93,    94,    95,    96, +    97 +}; -/* A type that is properly aligned for any stack member.  */ -union yyalloc -{ -  short yyss; -  YYSTYPE yyvs; -  }; +#if YYDEBUG != 0 +static const short yyprhs[] = {     0, +     0,     2,     4,     6,     8,    10,    12,    14,    16,    18, +    20,    22,    24,    26,    28,    30,    32,    34,    36,    38, +    40,    42,    44,    46,    48,    50,    52,    54,    56,    58, +    60,    62,    64,    67,    68,    70,    72,    74,    76,    77, +    78,    80,    82,    84,    87,    88,    91,    92,    96,    99, +   100,   102,   103,   107,   109,   112,   114,   116,   118,   120, +   122,   124,   126,   128,   130,   132,   134,   136,   138,   140, +   142,   144,   146,   148,   150,   152,   154,   157,   162,   168, +   174,   178,   181,   184,   186,   190,   192,   196,   198,   199, +   204,   208,   212,   217,   222,   226,   229,   232,   235,   238, +   241,   244,   247,   250,   253,   256,   263,   269,   278,   285, +   292,   299,   306,   313,   317,   319,   321,   323,   325,   328, +   331,   334,   336,   341,   344,   345,   353,   354,   362,   366, +   371,   372,   374,   376,   380,   384,   388,   392,   396,   398, +   399,   401,   403,   405,   406,   409,   413,   415,   417,   421, +   423,   424,   433,   435,   437,   441,   443,   445,   448,   449, +   453,   455,   457,   459,   461,   463,   465,   467,   469,   473, +   475,   477,   479,   481,   483,   486,   489,   492,   496,   499, +   500,   502,   505,   508,   512,   522,   532,   541,   555,   557, +   559,   566,   572,   575,   582,   590,   592,   596,   598,   599, +   602,   604,   610,   616,   622,   625,   630,   635,   642,   647, +   652,   657,   662,   669,   672,   680,   682,   685,   686,   688, +   689,   693,   700,   704,   711,   714,   719,   726 +}; -/* The size of the maximum gap between one aligned stack and the next.  */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with -   N elements.  */ -# define YYSTACK_BYTES(N) \ -     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\ -      + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO.  The source and destination do -   not overlap.  */ -# ifndef YYCOPY -#  if defined (__GNUC__) && 1 < __GNUC__ -#   define YYCOPY(To, From, Count) \ -      __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -#  else -#   define YYCOPY(To, From, Count)		\ -      do					\ -	{					\ -	  register YYSIZE_T yyi;		\ -	  for (yyi = 0; yyi < (Count); yyi++)	\ -	    (To)[yyi] = (From)[yyi];		\ -	}					\ -      while (0) -#  endif -# endif - -/* Relocate STACK from its old location to the new one.  The -   local variables YYSIZE and YYSTACKSIZE give the old and new number of -   elements in the stack, and YYPTR gives the new location of the -   stack.  Advance YYPTR to a properly aligned location for the next -   stack.  */ -# define YYSTACK_RELOCATE(Stack)					\ -    do									\ -      {									\ -	YYSIZE_T yynewbytes;						\ -	YYCOPY (&yyptr->Stack, Stack, yysize);				\ -	Stack = &yyptr->Stack;						\ -	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ -	yyptr += yynewbytes / sizeof (*yyptr);				\ -      }									\ -    while (0) +static const short yyrhs[] = {     5, +     0,     6,     0,     3,     0,     4,     0,    68,     0,    69, +     0,    70,     0,    71,     0,    72,     0,    73,     0,    74, +     0,    75,     0,    76,     0,    77,     0,    78,     0,    79, +     0,    80,     0,    81,     0,    91,     0,    92,     0,    16, +     0,    14,     0,    12,     0,    10,     0,    17,     0,    15, +     0,    13,     0,    11,     0,   118,     0,   119,     0,    18, +     0,    19,     0,   151,    98,     0,     0,    41,     0,    42, +     0,    43,     0,    44,     0,     0,     0,    59,     0,    60, +     0,    61,     0,    58,     4,     0,     0,    54,     4,     0, +     0,    99,    54,     4,     0,    34,    24,     0,     0,   127, +     0,     0,    99,   130,   129,     0,   127,     0,    54,     4, +     0,   133,     0,     8,     0,   135,     0,     8,     0,   135, +     0,     9,     0,    10,     0,    11,     0,    12,     0,    13, +     0,    14,     0,    15,     0,    16,     0,    17,     0,    18, +     0,    19,     0,    20,     0,    21,     0,    45,     0,   134, +     0,   164,     0,   100,     4,     0,   132,   101,   137,   102, +     0,   103,     4,   104,   135,   105,     0,   106,     4,   104, +   135,   107,     0,   108,   136,   109,     0,   108,   109,     0, +   135,   110,     0,   135,     0,   136,    99,   135,     0,   136, +     0,   136,    99,    37,     0,    37,     0,     0,   133,   103, +   140,   105,     0,   133,   103,   105,     0,   133,   111,    24, +     0,   133,   106,   140,   107,     0,   133,   108,   140,   109, +     0,   133,   108,   109,     0,   133,    38,     0,   133,    39, +     0,   133,   164,     0,   133,   139,     0,   133,    26,     0, +   118,   113,     0,   119,     4,     0,     9,    27,     0,     9, +    28,     0,   121,     7,     0,    89,   101,   138,    36,   133, +   102,     0,    87,   101,   138,   178,   102,     0,    90,   101, +   138,    99,   138,    99,   138,   102,     0,   114,   101,   138, +    99,   138,   102,     0,   115,   101,   138,    99,   138,   102, +     0,   116,   101,   138,    99,   138,   102,     0,   117,   101, +   138,    99,   138,   102,     0,    94,   101,   138,    99,   138, +   102,     0,   140,    99,   138,     0,   138,     0,    32,     0, +    33,     0,   143,     0,   143,   160,     0,   143,   161,     0, +   143,    25,     0,   144,     0,   144,   122,    20,   131,     0, +   144,   161,     0,     0,   144,   122,   123,   141,   138,   145, +   129,     0,     0,   144,   122,    47,   141,   133,   146,   129, +     0,   144,    48,   148,     0,   144,    55,    98,   149,     0, +     0,    53,     0,    52,     0,    50,    98,   147,     0,    51, +    98,     4,     0,    49,    98,    24,     0,   103,   150,   105, +     0,   150,    99,    24,     0,    24,     0,     0,    22,     0, +    24,     0,   151,     0,     0,   133,   152,     0,   154,    99, +   153,     0,   153,     0,   154,     0,   154,    99,    37,     0, +    37,     0,     0,   124,   131,   151,   101,   155,   102,   128, +   125,     0,    29,     0,   108,     0,   123,   156,   157,     0, +    30,     0,   109,     0,   167,   159,     0,     0,    31,   162, +   156,     0,     3,     0,     4,     0,     7,     0,    27,     0, +    28,     0,    38,     0,    39,     0,    26,     0,   106,   140, +   107,     0,   139,     0,   112,     0,   151,     0,   164,     0, +   163,     0,   133,   165,     0,   167,   168,     0,   158,   168, +     0,   169,   122,   170,     0,   169,   172,     0,     0,    23, +     0,    62,   166,     0,    62,     8,     0,    63,    21,   165, +     0,    63,     9,   165,    99,    21,   165,    99,    21,   165, +     0,    64,   120,   165,    99,    21,   165,   103,   171,   105, +     0,    64,   120,   165,    99,    21,   165,   103,   105,     0, +    65,   124,   131,   165,   101,   175,   102,    36,    21,   165, +    66,    21,   165,     0,    66,     0,    67,     0,   171,   120, +   163,    99,    21,   165,     0,   120,   163,    99,    21,   165, +     0,   122,   177,     0,   133,   103,   165,    99,   165,   105, +     0,   173,    99,   103,   165,    99,   165,   105,     0,   166, +     0,   174,    99,   166,     0,   174,     0,     0,    57,    56, +     0,    56,     0,   114,   133,   165,    99,   165,     0,   115, +   133,   165,    99,   165,     0,   116,   133,   165,    99,   165, +     0,    46,   166,     0,   117,   166,    99,   166,     0,    89, +   166,    36,   133,     0,    90,   166,    99,   166,    99,   166, +     0,    93,   166,    99,   133,     0,    96,   166,    99,   133, +     0,    97,   166,    99,   133,     0,    94,   166,    99,   166, +     0,    95,   166,    99,   166,    99,   166,     0,    88,   173, +     0,   176,   124,   131,   165,   101,   175,   102,     0,   180, +     0,    99,   174,     0,     0,    35,     0,     0,    82,   133, +   126,     0,    82,   133,    99,    15,   165,   126,     0,    83, +   133,   126,     0,    83,   133,    99,    15,   165,   126,     0, +    84,   166,     0,   179,    85,   133,   165,     0,   179,    86, +   166,    99,   133,   165,     0,    87,   133,   165,   178,     0 +};  #endif -#if defined (__STDC__) || defined (__cplusplus) -   typedef signed char yysigned_char; -#else -   typedef short yysigned_char; +#if YYDEBUG != 0 +static const short yyrline[] = { 0, +   997,   998,  1005,  1006,  1015,  1015,  1015,  1015,  1015,  1016, +  1016,  1016,  1017,  1017,  1017,  1017,  1017,  1017,  1019,  1019, +  1023,  1023,  1023,  1023,  1024,  1024,  1024,  1024,  1025,  1025, +  1026,  1026,  1029,  1032,  1036,  1036,  1037,  1038,  1039,  1042, +  1042,  1043,  1044,  1045,  1054,  1054,  1060,  1060,  1068,  1075, +  1075,  1081,  1081,  1083,  1087,  1100,  1100,  1101,  1101,  1103, +  1112,  1112,  1112,  1112,  1112,  1112,  1112,  1113,  1113,  1113, +  1113,  1113,  1113,  1114,  1117,  1120,  1126,  1133,  1145,  1149, +  1160,  1169,  1172,  1180,  1184,  1189,  1190,  1193,  1196,  1206, +  1231,  1244,  1272,  1297,  1317,  1329,  1338,  1342,  1401,  1407, +  1415,  1420,  1425,  1428,  1431,  1438,  1448,  1479,  1486,  1507, +  1517,  1522,  1529,  1539,  1542,  1549,  1549,  1559,  1566,  1570, +  1573,  1576,  1589,  1609,  1611,  1614,  1617,  1621,  1624,  1626, +  1628,  1633,  1634,  1636,  1639,  1647,  1652,  1654,  1658,  1662, +  1670,  1670,  1671,  1671,  1673,  1679,  1684,  1690,  1693,  1698, +  1702,  1706,  1792,  1792,  1794,  1802,  1802,  1804,  1808,  1808, +  1817,  1820,  1823,  1826,  1829,  1832,  1835,  1838,  1841,  1865, +  1872,  1875,  1880,  1880,  1886,  1890,  1893,  1901,  1910,  1914, +  1924,  1935,  1938,  1941,  1944,  1947,  1961,  1965,  2018,  2021, +  2027,  2035,  2045,  2052,  2057,  2064,  2068,  2074,  2074,  2076, +  2079,  2085,  2097,  2108,  2118,  2130,  2137,  2144,  2151,  2156, +  2175,  2197,  2205,  2217,  2231,  2288,  2294,  2296,  2300,  2303, +  2309,  2313,  2317,  2321,  2325,  2332,  2342,  2355 +};  #endif -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL  4 -/* YYLAST -- Last index in YYTABLE.  */ -#define YYLAST   1236 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS  111 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS  70 -/* YYNRULES -- Number of rules. */ -#define YYNRULES  228 -/* YYNRULES -- Number of states. */ -#define YYNSTATES  454 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ -#define YYUNDEFTOK  2 -#define YYMAXUTOK   351 - -#define YYTRANSLATE(YYX) 						\ -  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */ -static const unsigned char yytranslate[] = -{ -       0,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -     100,   101,   109,     2,    98,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -     105,    97,   106,     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,   102,    99,   104,     2,     2,     2,     2,     2,   110, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -     103,     2,     2,   107,     2,   108,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     1,     2,     3,     4, -       5,     6,     7,     8,     9,    10,    11,    12,    13,    14, -      15,    16,    17,    18,    19,    20,    21,    22,    23,    24, -      25,    26,    27,    28,    29,    30,    31,    32,    33,    34, -      35,    36,    37,    38,    39,    40,    41,    42,    43,    44, -      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, -      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, -      65,    66,    67,    68,    69,    70,    71,    72,    73,    74, -      75,    76,    77,    78,    79,    80,    81,    82,    83,    84, -      85,    86,    87,    88,    89,    90,    91,    92,    93,    94, -      95,    96 -}; -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in -   YYRHS.  */ -static const unsigned short yyprhs[] = -{ -       0,     0,     3,     5,     7,     9,    11,    13,    15,    17, -      19,    21,    23,    25,    27,    29,    31,    33,    35,    37, -      39,    41,    43,    45,    47,    49,    51,    53,    55,    57, -      59,    61,    63,    65,    67,    70,    71,    73,    75,    77, -      79,    80,    81,    83,    85,    87,    90,    91,    94,    95, -      99,   102,   103,   105,   106,   110,   112,   115,   117,   119, -     121,   123,   125,   127,   129,   131,   133,   135,   137,   139, -     141,   143,   145,   147,   149,   151,   153,   155,   157,   160, -     165,   171,   177,   181,   184,   187,   189,   193,   195,   199, -     201,   202,   207,   211,   215,   220,   225,   229,   232,   235, -     238,   241,   244,   247,   250,   253,   256,   259,   266,   272, -     281,   288,   295,   302,   309,   316,   320,   322,   324,   326, -     328,   331,   334,   337,   339,   344,   347,   348,   356,   357, -     365,   369,   374,   375,   377,   379,   383,   387,   391,   395, -     399,   401,   402,   404,   406,   408,   409,   412,   416,   418, -     420,   424,   426,   427,   436,   438,   440,   444,   446,   448, -     451,   452,   456,   458,   460,   462,   464,   466,   468,   470, -     472,   476,   478,   480,   482,   484,   486,   489,   492,   495, -     499,   502,   503,   505,   508,   511,   515,   525,   535,   544, -     558,   560,   562,   569,   575,   578,   585,   593,   595,   599, -     601,   602,   605,   607,   613,   619,   625,   628,   633,   638, -     645,   650,   655,   660,   665,   668,   676,   678,   681,   682, -     684,   685,   689,   696,   700,   707,   710,   715,   722 +#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) + +static const char * const yytname[] = {   "$","error","$undefined.","ESINT64VAL", +"EUINT64VAL","SINTVAL","UINTVAL","FPVAL","VOID","BOOL","SBYTE","UBYTE","SHORT", +"USHORT","INT","UINT","LONG","ULONG","FLOAT","DOUBLE","TYPE","LABEL","VAR_ID", +"LABELSTR","STRINGCONSTANT","IMPLEMENTATION","ZEROINITIALIZER","TRUETOK","FALSETOK", +"BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","SECTION","VOLATILE","TO", +"DOTDOTDOT","NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING", +"OPAQUE","NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE", +"BIG","ALIGN","DEPLIBS","CALL","TAIL","CC_TOK","CCC_TOK","FASTCC_TOK","COLDCC_TOK", +"RET","BR","SWITCH","INVOKE","UNWIND","UNREACHABLE","ADD","SUB","MUL","DIV", +"REM","AND","OR","XOR","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC", +"ALLOCA","FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK","CAST","SELECT","SHL", +"SHR","VAARG","EXTRACTELEMENT","INSERTELEMENT","VAARG_old","VANEXT_old","'='", +"','","'\\\\'","'('","')'","'['","'x'","']'","'<'","'>'","'{'","'}'","'*'","'c'", +"INTVAL","EINT64VAL","ArithmeticOps","LogicalOps","SetCondOps","ShiftOps","SIntType", +"UIntType","IntType","FPType","OptAssign","OptLinkage","OptCallingConv","OptAlign", +"OptCAlign","SectionString","OptSection","GlobalVarAttributes","GlobalVarAttribute", +"TypesV","UpRTypesV","Types","PrimType","UpRTypes","TypeListI","ArgTypeListI", +"ConstVal","ConstExpr","ConstVector","GlobalType","Module","FunctionList","ConstPool", +"@1","@2","BigOrLittle","TargetDefinition","LibrariesDefinition","LibList","Name", +"OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader", +"END","Function","FunctionProto","@3","ConstValueRef","SymbolicValueRef","ValueRef", +"ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst", +"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal", +"IndexList","OptVolatile","MemoryInst", NULL  }; +#endif -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const short yyrhs[] = -{ -     142,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4, -      -1,    68,    -1,    69,    -1,    70,    -1,    71,    -1,    72, -      -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,    77, -      -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,    91, -      -1,    92,    -1,    16,    -1,    14,    -1,    12,    -1,    10, -      -1,    17,    -1,    15,    -1,    13,    -1,    11,    -1,   118, -      -1,   119,    -1,    18,    -1,    19,    -1,   151,    97,    -1, -      -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,    -1, -      -1,    59,    -1,    60,    -1,    61,    -1,    58,     4,    -1, -      -1,    54,     4,    -1,    -1,    98,    54,     4,    -1,    34, -      24,    -1,    -1,   127,    -1,    -1,    98,   130,   129,    -1, -     127,    -1,    54,     4,    -1,   133,    -1,     8,    -1,   135, -      -1,     8,    -1,   135,    -1,     9,    -1,    10,    -1,    11, -      -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16, -      -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,    21, -      -1,    45,    -1,   134,    -1,   164,    -1,    99,     4,    -1, -     132,   100,   137,   101,    -1,   102,     4,   103,   135,   104, -      -1,   105,     4,   103,   135,   106,    -1,   107,   136,   108, -      -1,   107,   108,    -1,   135,   109,    -1,   135,    -1,   136, -      98,   135,    -1,   136,    -1,   136,    98,    37,    -1,    37, -      -1,    -1,   133,   102,   140,   104,    -1,   133,   102,   104, -      -1,   133,   110,    24,    -1,   133,   105,   140,   106,    -1, -     133,   107,   140,   108,    -1,   133,   107,   108,    -1,   133, -      38,    -1,   133,    39,    -1,   133,   164,    -1,   133,   139, -      -1,   133,    26,    -1,   118,   113,    -1,   119,     4,    -1, -       9,    27,    -1,     9,    28,    -1,   121,     7,    -1,    89, -     100,   138,    36,   133,   101,    -1,    87,   100,   138,   178, -     101,    -1,    90,   100,   138,    98,   138,    98,   138,   101, -      -1,   114,   100,   138,    98,   138,   101,    -1,   115,   100, -     138,    98,   138,   101,    -1,   116,   100,   138,    98,   138, -     101,    -1,   117,   100,   138,    98,   138,   101,    -1,    94, -     100,   138,    98,   138,   101,    -1,   140,    98,   138,    -1, -     138,    -1,    32,    -1,    33,    -1,   143,    -1,   143,   160, -      -1,   143,   161,    -1,   143,    25,    -1,   144,    -1,   144, -     122,    20,   131,    -1,   144,   161,    -1,    -1,   144,   122, -     123,   141,   138,   145,   129,    -1,    -1,   144,   122,    47, -     141,   133,   146,   129,    -1,   144,    48,   148,    -1,   144, -      55,    97,   149,    -1,    -1,    53,    -1,    52,    -1,    50, -      97,   147,    -1,    51,    97,     4,    -1,    49,    97,    24, -      -1,   102,   150,   104,    -1,   150,    98,    24,    -1,    24, -      -1,    -1,    22,    -1,    24,    -1,   151,    -1,    -1,   133, -     152,    -1,   154,    98,   153,    -1,   153,    -1,   154,    -1, -     154,    98,    37,    -1,    37,    -1,    -1,   124,   131,   151, -     100,   155,   101,   128,   125,    -1,    29,    -1,   107,    -1, -     123,   156,   157,    -1,    30,    -1,   108,    -1,   167,   159, -      -1,    -1,    31,   162,   156,    -1,     3,    -1,     4,    -1, -       7,    -1,    27,    -1,    28,    -1,    38,    -1,    39,    -1, -      26,    -1,   105,   140,   106,    -1,   139,    -1,   112,    -1, -     151,    -1,   164,    -1,   163,    -1,   133,   165,    -1,   167, -     168,    -1,   158,   168,    -1,   169,   122,   170,    -1,   169, -     172,    -1,    -1,    23,    -1,    62,   166,    -1,    62,     8, -      -1,    63,    21,   165,    -1,    63,     9,   165,    98,    21, -     165,    98,    21,   165,    -1,    64,   120,   165,    98,    21, -     165,   102,   171,   104,    -1,    64,   120,   165,    98,    21, -     165,   102,   104,    -1,    65,   124,   131,   165,   100,   175, -     101,    36,    21,   165,    66,    21,   165,    -1,    66,    -1, -      67,    -1,   171,   120,   163,    98,    21,   165,    -1,   120, -     163,    98,    21,   165,    -1,   122,   177,    -1,   133,   102, -     165,    98,   165,   104,    -1,   173,    98,   102,   165,    98, -     165,   104,    -1,   166,    -1,   174,    98,   166,    -1,   174, -      -1,    -1,    57,    56,    -1,    56,    -1,   114,   133,   165, -      98,   165,    -1,   115,   133,   165,    98,   165,    -1,   116, -     133,   165,    98,   165,    -1,    46,   166,    -1,   117,   166, -      98,   166,    -1,    89,   166,    36,   133,    -1,    90,   166, -      98,   166,    98,   166,    -1,    93,   166,    98,   133,    -1, -      95,   166,    98,   133,    -1,    96,   166,    98,   133,    -1, -      94,   166,    98,   166,    -1,    88,   173,    -1,   176,   124, -     131,   165,   100,   175,   101,    -1,   180,    -1,    98,   174, -      -1,    -1,    35,    -1,    -1,    82,   133,   126,    -1,    82, -     133,    98,    15,   165,   126,    -1,    83,   133,   126,    -1, -      83,   133,    98,    15,   165,   126,    -1,    84,   166,    -1, -     179,    85,   133,   165,    -1,   179,    86,   166,    98,   133, -     165,    -1,    87,   133,   165,   178,    -1 +static const short yyr1[] = {     0, +   112,   112,   113,   113,   114,   114,   114,   114,   114,   115, +   115,   115,   116,   116,   116,   116,   116,   116,   117,   117, +   118,   118,   118,   118,   119,   119,   119,   119,   120,   120, +   121,   121,   122,   122,   123,   123,   123,   123,   123,   124, +   124,   124,   124,   124,   125,   125,   126,   126,   127,   128, +   128,   129,   129,   130,   130,   131,   131,   132,   132,   133, +   134,   134,   134,   134,   134,   134,   134,   134,   134,   134, +   134,   134,   134,   135,   135,   135,   135,   135,   135,   135, +   135,   135,   135,   136,   136,   137,   137,   137,   137,   138, +   138,   138,   138,   138,   138,   138,   138,   138,   138,   138, +   138,   138,   138,   138,   138,   139,   139,   139,   139,   139, +   139,   139,   139,   140,   140,   141,   141,   142,   143,   143, +   143,   143,   144,   144,   145,   144,   146,   144,   144,   144, +   144,   147,   147,   148,   148,   148,   149,   150,   150,   150, +   151,   151,   152,   152,   153,   154,   154,   155,   155,   155, +   155,   156,   157,   157,   158,   159,   159,   160,   162,   161, +   163,   163,   163,   163,   163,   163,   163,   163,   163,   163, +   164,   164,   165,   165,   166,   167,   167,   168,   169,   169, +   169,   170,   170,   170,   170,   170,   170,   170,   170,   170, +   171,   171,   172,   173,   173,   174,   174,   175,   175,   176, +   176,   177,   177,   177,   177,   177,   177,   177,   177,   177, +   177,   177,   177,   177,   177,   177,   178,   178,   179,   179, +   180,   180,   180,   180,   180,   180,   180,   180  }; -/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ -static const unsigned short yyrline[] = -{ -       0,   996,   996,   997,  1004,  1005,  1014,  1014,  1014,  1014, -    1014,  1015,  1015,  1015,  1016,  1016,  1016,  1016,  1016,  1016, -    1018,  1018,  1022,  1022,  1022,  1022,  1023,  1023,  1023,  1023, -    1024,  1024,  1025,  1025,  1028,  1031,  1035,  1036,  1037,  1038, -    1039,  1041,  1042,  1043,  1044,  1045,  1053,  1054,  1059,  1060, -    1067,  1074,  1075,  1080,  1081,  1082,  1086,  1099,  1099,  1100, -    1100,  1102,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1112, -    1112,  1112,  1112,  1112,  1112,  1113,  1116,  1119,  1125,  1132, -    1144,  1148,  1159,  1168,  1171,  1179,  1183,  1188,  1189,  1192, -    1195,  1205,  1230,  1243,  1271,  1296,  1316,  1328,  1337,  1341, -    1400,  1406,  1414,  1419,  1424,  1427,  1430,  1437,  1447,  1478, -    1485,  1506,  1516,  1521,  1528,  1538,  1541,  1548,  1548,  1558, -    1565,  1569,  1572,  1575,  1588,  1608,  1610,  1610,  1616,  1616, -    1623,  1625,  1627,  1632,  1633,  1635,  1638,  1646,  1651,  1653, -    1657,  1661,  1669,  1669,  1670,  1670,  1672,  1678,  1683,  1689, -    1692,  1697,  1701,  1705,  1791,  1791,  1793,  1801,  1801,  1803, -    1807,  1807,  1816,  1819,  1822,  1825,  1828,  1831,  1834,  1837, -    1840,  1864,  1871,  1874,  1879,  1879,  1885,  1889,  1892,  1900, -    1909,  1913,  1923,  1934,  1937,  1940,  1943,  1946,  1960,  1964, -    2017,  2020,  2026,  2034,  2044,  2051,  2056,  2063,  2067,  2073, -    2073,  2075,  2078,  2084,  2096,  2107,  2117,  2129,  2136,  2143, -    2150,  2155,  2174,  2196,  2204,  2218,  2275,  2281,  2283,  2287, -    2290,  2296,  2300,  2304,  2308,  2312,  2319,  2329,  2342 +static const short yyr2[] = {     0, +     1,     1,     1,     1,     1,     1,     1,     1,     1,     1, +     1,     1,     1,     1,     1,     1,     1,     1,     1,     1, +     1,     1,     1,     1,     1,     1,     1,     1,     1,     1, +     1,     1,     2,     0,     1,     1,     1,     1,     0,     0, +     1,     1,     1,     2,     0,     2,     0,     3,     2,     0, +     1,     0,     3,     1,     2,     1,     1,     1,     1,     1, +     1,     1,     1,     1,     1,     1,     1,     1,     1,     1, +     1,     1,     1,     1,     1,     1,     2,     4,     5,     5, +     3,     2,     2,     1,     3,     1,     3,     1,     0,     4, +     3,     3,     4,     4,     3,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     6,     5,     8,     6,     6, +     6,     6,     6,     3,     1,     1,     1,     1,     2,     2, +     2,     1,     4,     2,     0,     7,     0,     7,     3,     4, +     0,     1,     1,     3,     3,     3,     3,     3,     1,     0, +     1,     1,     1,     0,     2,     3,     1,     1,     3,     1, +     0,     8,     1,     1,     3,     1,     1,     2,     0,     3, +     1,     1,     1,     1,     1,     1,     1,     1,     3,     1, +     1,     1,     1,     1,     2,     2,     2,     3,     2,     0, +     1,     2,     2,     3,     9,     9,     8,    13,     1,     1, +     6,     5,     2,     6,     7,     1,     3,     1,     0,     2, +     1,     5,     5,     5,     2,     4,     4,     6,     4,     4, +     4,     4,     6,     2,     7,     1,     2,     0,     1,     0, +     3,     6,     3,     6,     2,     4,     6,     4  }; -#endif -#if YYDEBUG || YYERROR_VERBOSE -/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. -   First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ -  "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL", -  "UINTVAL", "FPVAL", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", "USHORT", -  "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "TYPE", "LABEL", -  "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", -  "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK", -  "DECLARE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO", -  "DOTDOTDOT", "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE", -  "WEAK", "APPENDING", "OPAQUE", "NOT", "EXTERNAL", "TARGET", "TRIPLE", -  "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN", "DEPLIBS", "CALL", -  "TAIL", "CC_TOK", "CCC_TOK", "FASTCC_TOK", "COLDCC_TOK", "RET", "BR", -  "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "DIV", -  "REM", "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", -  "SETNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", -  "PHI_TOK", "CAST", "SELECT", "SHL", "SHR", "VAARG", "EXTRACTELEMENT", -  "VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['", -  "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", -  "INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps", -  "ShiftOps", "SIntType", "UIntType", "IntType", "FPType", "OptAssign", -  "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", -  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", -  "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI", -  "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", -  "Module", "FunctionList", "ConstPool", "@1", "@2", "BigOrLittle", -  "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName", -  "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", -  "FunctionHeader", "END", "Function", "FunctionProto", "@3", -  "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal", -  "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst", -  "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE", -  "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0 +static const short yydefact[] = {   131, +    39,   122,   121,   159,    35,    36,    37,    38,    40,   180, +   119,   120,   180,   141,   142,     0,     0,    39,     0,   124, +    40,     0,    41,    42,    43,     0,     0,   181,   177,    34, +   156,   157,   158,   176,     0,     0,     0,   129,     0,     0, +     0,     0,    33,   160,    44,     1,     2,    57,    61,    62, +    63,    64,    65,    66,    67,    68,    69,    70,    71,    72, +    73,    74,     0,     0,     0,     0,   171,     0,     0,    56, +    75,    60,   172,    76,   153,   154,   155,   220,   179,     0, +     0,     0,   140,   130,   123,   116,   117,     0,     0,    77, +     0,     0,    59,    82,    84,     0,     0,    89,    83,   219, +     0,   201,     0,     0,     0,     0,    40,   189,   190,     5, +     6,     7,     8,     9,    10,    11,    12,    13,    14,    15, +    16,    17,    18,     0,     0,     0,     0,     0,     0,     0, +    19,    20,     0,     0,     0,     0,     0,     0,     0,     0, +     0,   178,    40,   193,     0,   216,   136,   133,   132,   134, +   135,   139,     0,   127,    61,    62,    63,    64,    65,    66, +    67,    68,    69,    70,    71,     0,     0,     0,     0,   125, +     0,     0,     0,    81,   151,    88,    86,     0,     0,   205, +   200,   183,   182,     0,     0,    24,    28,    23,    27,    22, +    26,    21,    25,    29,    30,     0,     0,    47,    47,   225, +     0,     0,   214,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,   137,    52, +   103,   104,     3,     4,   101,   102,   105,   100,    96,    97, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,    99,    98,    52,    58,    58,    85,   150,   144, +   147,   148,     0,     0,    78,   161,   162,   163,   168,   164, +   165,   166,   167,     0,   170,   174,   173,   175,     0,   184, +     0,     0,     0,   221,     0,   223,   218,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,   138,     0,   128,     0,     0,     0,     0, +    91,   115,     0,     0,    95,     0,    92,     0,     0,     0, +     0,   126,    79,    80,   143,   145,     0,    50,    87,     0, +     0,     0,     0,     0,     0,     0,     0,   228,     0,     0, +   207,     0,   209,   212,     0,   210,   211,     0,     0,     0, +   206,     0,   226,     0,     0,     0,    54,    52,   218,     0, +     0,     0,     0,    90,    93,    94,     0,     0,     0,     0, +   149,   146,    51,    45,   169,     0,     0,   199,    47,    48, +    47,   196,   217,     0,     0,     0,     0,   202,   203,   204, +   199,     0,    49,    55,    53,     0,     0,     0,     0,   114, +     0,     0,     0,     0,     0,   152,     0,     0,   198,     0, +     0,   222,   224,     0,     0,     0,   208,   213,     0,   227, +   107,     0,     0,     0,     0,     0,     0,     0,    46,     0, +     0,     0,   197,   194,     0,   215,   106,     0,   113,   109, +   110,   111,   112,     0,   187,     0,     0,     0,   195,     0, +   185,     0,   186,     0,     0,   108,     0,     0,     0,     0, +     0,     0,   192,     0,     0,   191,   188,     0,     0,     0  }; -#endif -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to -   token YYLEX-NUM.  */ -static const unsigned short yytoknum[] = -{ -       0,   256,   257,   258,   259,   260,   261,   262,   263,   264, -     265,   266,   267,   268,   269,   270,   271,   272,   273,   274, -     275,   276,   277,   278,   279,   280,   281,   282,   283,   284, -     285,   286,   287,   288,   289,   290,   291,   292,   293,   294, -     295,   296,   297,   298,   299,   300,   301,   302,   303,   304, -     305,   306,   307,   308,   309,   310,   311,   312,   313,   314, -     315,   316,   317,   318,   319,   320,   321,   322,   323,   324, -     325,   326,   327,   328,   329,   330,   331,   332,   333,   334, -     335,   336,   337,   338,   339,   340,   341,   342,   343,   344, -     345,   346,   347,   348,   349,   350,   351,    61,    44,    92, -      40,    41,    91,   120,    93,    60,    62,   123,   125,    42, -      99 +static const short yydefgoto[] = {    67, +   225,   239,   240,   241,   242,   166,   167,   196,   168,    18, +     9,    26,   396,   274,   347,   364,   296,   348,    68,    69, +   179,    71,    72,    96,   178,   302,   265,   303,    88,   458, +     1,     2,   245,   220,   150,    38,    84,   153,    73,   316, +   251,   252,   253,    27,    77,    10,    33,    11,    12,    21, +   266,    74,   268,   372,    13,    29,    30,   142,   437,    79, +   203,   399,   400,   143,   144,   328,   145,   146  }; -# endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */ -static const unsigned char yyr1[] = -{ -       0,   111,   112,   112,   113,   113,   114,   114,   114,   114, -     114,   115,   115,   115,   116,   116,   116,   116,   116,   116, -     117,   117,   118,   118,   118,   118,   119,   119,   119,   119, -     120,   120,   121,   121,   122,   122,   123,   123,   123,   123, -     123,   124,   124,   124,   124,   124,   125,   125,   126,   126, -     127,   128,   128,   129,   129,   130,   130,   131,   131,   132, -     132,   133,   134,   134,   134,   134,   134,   134,   134,   134, -     134,   134,   134,   134,   134,   135,   135,   135,   135,   135, -     135,   135,   135,   135,   135,   136,   136,   137,   137,   137, -     137,   138,   138,   138,   138,   138,   138,   138,   138,   138, -     138,   138,   138,   138,   138,   138,   138,   139,   139,   139, -     139,   139,   139,   139,   139,   140,   140,   141,   141,   142, -     143,   143,   143,   143,   144,   144,   145,   144,   146,   144, -     144,   144,   144,   147,   147,   148,   148,   148,   149,   150, -     150,   150,   151,   151,   152,   152,   153,   154,   154,   155, -     155,   155,   155,   156,   157,   157,   158,   159,   159,   160, -     162,   161,   163,   163,   163,   163,   163,   163,   163,   163, -     163,   163,   164,   164,   165,   165,   166,   167,   167,   168, -     169,   169,   169,   170,   170,   170,   170,   170,   170,   170, -     170,   170,   171,   171,   172,   173,   173,   174,   174,   175, -     175,   176,   176,   177,   177,   177,   177,   177,   177,   177, -     177,   177,   177,   177,   177,   177,   177,   178,   178,   179, -     179,   180,   180,   180,   180,   180,   180,   180,   180 +static const short yypact[] = {-32768, +    94,   198,-32768,-32768,-32768,-32768,-32768,-32768,   100,    26, +-32768,-32768,   -14,-32768,-32768,    96,   -77,    80,   -47,-32768, +   100,   104,-32768,-32768,-32768,   976,   -16,-32768,-32768,    67, +-32768,-32768,-32768,-32768,    22,    35,    69,-32768,    62,   976, +     3,     3,-32768,-32768,-32768,-32768,-32768,    76,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,   166,   175,   182,    66,-32768,    67,    86,-32768, +-32768,   -67,-32768,-32768,-32768,-32768,-32768,  1095,-32768,   164, +   -34,   187,   169,-32768,-32768,-32768,-32768,   998,  1042,-32768, +    92,    93,-32768,-32768,   -67,    -3,    98,   729,-32768,-32768, +   998,-32768,   144,  1102,    -1,   369,   100,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,   998,   998,   998,   998,   998,   998,   998, +-32768,-32768,   998,   998,   998,   998,   998,   998,   998,   998, +   998,-32768,   100,-32768,    19,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,     4,-32768,   102,   139,   199,   149,   200,   151, +   201,   160,   202,   195,   209,   178,   203,   210,   371,-32768, +   998,   998,   998,-32768,   767,-32768,   109,   117,   549,-32768, +-32768,    76,-32768,   549,   549,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,   549,   976,   122,   128,-32768, +   549,   125,   133,   197,   135,   136,   137,   138,   148,   150, +   549,   549,   549,   153,   976,   998,   998,   219,-32768,   156, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +   147,   157,   161,   165,   833,  1042,   504,   233,   168,   174, +   176,   177,-32768,-32768,   156,   -40,   -43,   -67,-32768,    67, +-32768,   162,   163,   871,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,  1042,-32768,-32768,-32768,-32768,   171,-32768, +   180,   549,    -4,-32768,     7,-32768,   181,   549,   173,   998, +   998,   998,   998,   998,   998,   998,   190,   191,   193,   998, +   549,   549,   194,-32768,    39,-32768,  1042,  1042,  1042,  1042, +-32768,-32768,    45,    27,-32768,    -2,-32768,  1042,  1042,  1042, +  1042,-32768,-32768,-32768,-32768,-32768,   938,   247,-32768,    32, +   246,   265,   196,   549,   290,   549,   998,-32768,   206,   549, +-32768,   220,-32768,-32768,   221,-32768,-32768,   549,   549,   549, +-32768,   222,-32768,   998,   271,   295,-32768,   156,   181,   264, +   223,   225,  1042,-32768,-32768,-32768,   227,   229,   230,   232, +-32768,-32768,-32768,   267,-32768,   549,   549,   998,   235,-32768, +   235,-32768,   236,   549,   237,   998,   998,-32768,-32768,-32768, +   998,   549,-32768,-32768,-32768,   242,   998,  1042,  1042,-32768, +  1042,  1042,  1042,  1042,   297,-32768,   238,   244,   236,   243, +   294,-32768,-32768,   998,   245,   549,-32768,-32768,   249,-32768, +-32768,   250,   254,   253,   255,   256,   257,   258,-32768,   328, +    13,   320,-32768,-32768,   259,-32768,-32768,  1042,-32768,-32768, +-32768,-32768,-32768,   549,-32768,   630,    43,   348,-32768,   268, +-32768,   272,-32768,   630,   549,-32768,   351,   274,   308,   549, +   354,   366,-32768,   549,   549,-32768,-32768,   388,   389,-32768  }; -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */ -static const unsigned char yyr2[] = -{ -       0,     2,     1,     1,     1,     1,     1,     1,     1,     1, -       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, -       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, -       1,     1,     1,     1,     2,     0,     1,     1,     1,     1, -       0,     0,     1,     1,     1,     2,     0,     2,     0,     3, -       2,     0,     1,     0,     3,     1,     2,     1,     1,     1, -       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, -       1,     1,     1,     1,     1,     1,     1,     1,     2,     4, -       5,     5,     3,     2,     2,     1,     3,     1,     3,     1, -       0,     4,     3,     3,     4,     4,     3,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     6,     5,     8, -       6,     6,     6,     6,     6,     3,     1,     1,     1,     1, -       2,     2,     2,     1,     4,     2,     0,     7,     0,     7, -       3,     4,     0,     1,     1,     3,     3,     3,     3,     3, -       1,     0,     1,     1,     1,     0,     2,     3,     1,     1, -       3,     1,     0,     8,     1,     1,     3,     1,     1,     2, -       0,     3,     1,     1,     1,     1,     1,     1,     1,     1, -       3,     1,     1,     1,     1,     1,     2,     2,     2,     3, -       2,     0,     1,     2,     2,     3,     9,     9,     8,    13, -       1,     1,     6,     5,     2,     6,     7,     1,     3,     1, -       0,     2,     1,     5,     5,     5,     2,     4,     4,     6, -       4,     4,     4,     4,     2,     7,     1,     2,     0,     1, -       0,     3,     6,     3,     6,     2,     4,     6,     4 +static const short yypgoto[] = {-32768, +-32768,   312,   313,   314,   316,  -105,  -104,  -404,-32768,   368, +   378,   -75,-32768,  -193,    81,-32768,  -238,-32768,   -35,-32768, +   -26,-32768,   -56,   302,-32768,   -85,   234,  -198,   362,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,     1,-32768, +    88,-32768,-32768,   387,-32768,-32768,-32768,-32768,   409,-32768, +  -304,   -28,   129,   -89,-32768,   399,-32768,-32768,-32768,-32768, +-32768,    87,    34,-32768,-32768,    64,-32768,-32768  }; -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state -   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero -   means the default is an error.  */ -static const unsigned char yydefact[] = -{ -     132,     0,    40,   123,     1,   122,   160,    36,    37,    38, -      39,    41,   181,   120,   121,   181,   142,   143,     0,     0, -      40,     0,   125,    41,     0,    42,    43,    44,     0,     0, -     182,   178,    35,   157,   158,   159,   177,     0,     0,     0, -     130,     0,     0,     0,     0,    34,   161,    45,     2,     3, -      58,    62,    63,    64,    65,    66,    67,    68,    69,    70, -      71,    72,    73,    74,    75,     0,     0,     0,     0,   172, -       0,     0,    57,    76,    61,   173,    77,   154,   155,   156, -     220,   180,     0,     0,     0,   141,   131,   124,   117,   118, -       0,     0,    78,     0,     0,    60,    83,    85,     0,     0, -      90,    84,   219,     0,   202,     0,     0,     0,     0,    41, -     190,   191,     6,     7,     8,     9,    10,    11,    12,    13, -      14,    15,    16,    17,    18,    19,     0,     0,     0,     0, -       0,     0,     0,    20,    21,     0,     0,     0,     0,     0, -       0,     0,     0,   179,    41,   194,     0,   216,   137,   134, -     133,   135,   136,   140,     0,   128,    62,    63,    64,    65, -      66,    67,    68,    69,    70,    71,    72,     0,     0,     0, -       0,   126,     0,     0,     0,    82,   152,    89,    87,     0, -       0,   206,   201,   184,   183,     0,     0,    25,    29,    24, -      28,    23,    27,    22,    26,    30,    31,     0,     0,    48, -      48,   225,     0,     0,   214,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,   138, -      53,   104,   105,     4,     5,   102,   103,   106,   101,    97, -      98,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,   100,    99,    53,    59,    59,    86,   151, -     145,   148,   149,     0,     0,    79,   162,   163,   164,   169, -     165,   166,   167,   168,     0,   171,   175,   174,   176,     0, -     185,     0,     0,     0,   221,     0,   223,   218,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,   139,     0,   129,     0,     0,     0,     0, -      92,   116,     0,     0,    96,     0,    93,     0,     0,     0, -       0,   127,    80,    81,   144,   146,     0,    51,    88,     0, -       0,     0,     0,     0,     0,     0,     0,   228,     0,     0, -     208,     0,   210,   213,   211,   212,     0,     0,     0,   207, -       0,   226,     0,     0,     0,    55,    53,   218,     0,     0, -       0,     0,    91,    94,    95,     0,     0,     0,     0,   150, -     147,    52,    46,   170,     0,     0,   200,    48,    49,    48, -     197,   217,     0,     0,     0,   203,   204,   205,   200,     0, -      50,    56,    54,     0,     0,     0,     0,   115,     0,     0, -       0,     0,     0,   153,     0,     0,   199,     0,     0,   222, -     224,     0,     0,     0,   209,     0,   227,   108,     0,     0, -       0,     0,     0,     0,     0,    47,     0,     0,     0,   198, -     195,     0,   215,   107,     0,   114,   110,   111,   112,   113, -       0,   188,     0,     0,     0,   196,     0,   186,     0,   187, -       0,     0,   109,     0,     0,     0,     0,     0,     0,   193, -       0,     0,   192,   189 -}; -/* YYDEFGOTO[NTERM-NUM]. */ -static const short yydefgoto[] = -{ -      -1,    69,   225,   239,   240,   241,   242,   167,   168,   197, -     169,    20,    11,    28,   393,   274,   345,   362,   295,   346, -      70,    71,   170,    73,    74,    98,   179,   301,   265,   302, -      90,     1,     2,     3,   245,   220,   151,    40,    86,   154, -      75,   315,   251,   252,   253,    29,    79,    12,    35,    13, -      14,    23,   266,    76,   268,   370,    15,    31,    32,   143, -     433,    81,   204,   396,   397,   144,   145,   327,   146,   147 +#define	YYLAST		1210 + + +static const short yytable[] = {    70, +   194,   195,    19,   170,    85,   276,   312,   184,    28,    95, +   324,   180,    75,    70,   183,    31,   436,   148,   149,   185, +    39,   326,   186,   187,   188,   189,   190,   191,   192,   193, +    19,   197,   444,   -58,    86,    87,   200,   304,   306,   204, +   205,    95,    99,   206,   207,   208,   209,   210,    28,   325, +    43,   214,   186,   187,   188,   189,   190,   191,   192,   193, +   325,   154,   169,   314,   313,   320,    99,   215,    97,    99, +    46,    47,   345,    93,    49,    50,    51,    52,    53,    54, +    55,    56,    57,    58,    59,    60,    61,    14,    14,    15, +    15,    76,   346,  -118,    32,   173,   353,   198,   199,    40, +   201,   202,   218,   216,   217,   174,   356,    45,   219,   385, +    62,   211,   212,   213,   246,   247,   248,   435,     3,    80, +     5,     6,     7,     8,     4,   353,    41,   293,   221,   222, +   353,   442,    81,   355,     5,     6,     7,     8,   365,   448, +   244,   -24,   -24,   353,    35,    36,    37,   443,   250,   354, +   267,   -23,   -23,   -22,   -22,   267,   267,    22,    23,    24, +    25,   272,   -21,   -21,    83,    63,    82,   267,    64,    90, +    70,    65,   267,    66,    94,   402,   -59,   403,    91,   291, +   223,   224,   267,   267,   267,    92,    98,   147,    70,   292, +   151,   332,   152,   334,   335,   171,   172,   248,   175,   181, +   341,   -31,   -28,   -27,   -26,   -25,   226,   254,   169,   169, +   169,   349,   350,   351,   352,   -32,   227,   -34,   255,    14, +   273,    15,   357,   358,   359,   360,   275,   278,     4,   -34, +   -34,   279,   280,   281,   282,   283,   284,   169,   -34,   -34, +   -34,   -34,   294,   267,   -34,    16,   285,   297,   286,   267, +   315,   290,    17,   331,   295,   333,   307,   298,   336,   337, +   317,   299,   267,   267,   318,   300,   366,   390,   308,   321, +   169,   169,   169,   169,   309,   330,   310,   311,   322,   327, +   345,   169,   169,   169,   169,   367,   407,   408,   338,   339, +   250,   340,   344,   370,   383,   267,   368,   267,   384,   387, +   419,   267,   413,   414,   374,   415,   416,   417,   418,   267, +   267,   267,   269,   270,   423,   194,   195,   382,   376,   377, +   395,   388,   381,   389,   271,   391,   169,   392,   393,   277, +   394,   194,   195,   401,   404,   406,   420,   267,   267,   287, +   288,   289,   440,   411,   422,   267,   421,   325,   434,   424, +   426,   427,   428,   267,   429,   438,   430,   431,   432,   433, +   412,   169,   169,   439,   169,   169,   169,   169,   445,   446, +   447,   450,   451,   452,   454,    46,    47,   267,   186,   187, +   188,   189,   190,   191,   192,   193,   455,   459,   460,   138, +   139,   140,    14,   141,    15,    42,   228,    78,   363,   177, +   323,   169,   243,    89,   362,   267,   329,    44,   229,   230, +    20,    34,   386,   373,   409,     0,   267,     0,     0,   342, +   343,   267,     0,     0,     0,   267,   267,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,   110,   111, +   112,   113,   114,   115,   116,   117,   118,   119,   120,   121, +   122,   123,   369,     0,   371,     0,     0,   231,   375,   232, +   233,   131,   132,     0,   234,     0,   378,   379,   380,     0, +     0,     0,     0,   235,     0,     0,   236,     0,   237,     0, +     0,   238,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,   397,   398,     0,     0,     0,     0, +     0,     0,   405,     0,     0,     0,     0,     0,    46,    47, +   410,    93,   155,   156,   157,   158,   159,   160,   161,   162, +   163,   164,   165,    60,    61,    14,     0,    15,     0,     0, +     0,     0,     0,     0,   425,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,    62,     0, +     0,   256,   257,    46,    47,   258,     0,     0,     0,     0, +     0,     0,   441,     0,     0,     0,     0,     0,     0,     0, +    14,     0,    15,   449,   259,   260,   261,     0,   453,     0, +     0,     0,   456,   457,     0,     0,   262,   263,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,    63,     0,     0,    64,     0,     0,    65, +     0,    66,   305,     0,     0,     0,   110,   111,   112,   113, +   114,   115,   116,   117,   118,   119,   120,   121,   122,   123, +     0,     0,   256,   257,     0,   231,   258,   232,   233,   131, +   132,     0,   234,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,   264,   259,   260,   261,     0,     0, +     0,     0,     0,     0,     0,     0,     0,   262,   263,     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,   110,   111,   112, +   113,   114,   115,   116,   117,   118,   119,   120,   121,   122, +   123,     0,     0,     0,     0,     0,   231,     0,   232,   233, +   131,   132,     0,   234,     0,     0,     0,     0,     0,     0, +     0,     0,     0,    46,    47,   264,    93,    49,    50,    51, +    52,    53,    54,    55,    56,    57,    58,    59,    60,    61, +    14,     0,    15,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,   176,     0,     0,     0,     0, +     0,    46,    47,    62,    93,    49,    50,    51,    52,    53, +    54,    55,    56,    57,    58,    59,    60,    61,    14,     0, +    15,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,   249,     0,     0,     0,     0,     0,     0, +     0,    62,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,    63,     0, +     0,    64,     0,     0,    65,     0,    66,    46,    47,     0, +    93,   155,   156,   157,   158,   159,   160,   161,   162,   163, +   164,   165,    60,    61,    14,     0,    15,     0,     0,     0, +     0,     0,     0,     0,     0,     0,    63,     0,     0,    64, +     0,     0,    65,     0,    66,    46,    47,    62,    93,    49, +    50,    51,    52,    53,    54,    55,    56,    57,    58,    59, +    60,    61,    14,     0,    15,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,   319,     0,     0, +     0,     0,     0,     0,     0,    62,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,    63,     0,     0,    64,     0,   301,    65,     0, +    66,     0,    46,    47,     0,    93,    49,    50,    51,    52, +    53,    54,    55,    56,    57,    58,    59,    60,    61,    14, +     0,    15,     0,     0,     0,     0,     0,     0,     0,     0, +    63,     0,     0,    64,   361,     0,    65,     0,    66,     0, +    46,    47,    62,    48,    49,    50,    51,    52,    53,    54, +    55,    56,    57,    58,    59,    60,    61,    14,     0,    15, +     0,     0,    46,    47,     0,    93,    49,    50,    51,    52, +    53,    54,    55,    56,    57,    58,    59,    60,    61,    14, +    62,    15,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,    63,     0,     0, +    64,     0,    62,    65,     0,    66,    46,    47,     0,    93, +   155,   156,   157,   158,   159,   160,   161,   162,   163,   164, +   165,    60,    61,    14,     0,    15,     0,     0,     0,     0, +     0,     0,     0,     0,     0,    63,     0,     0,    64,     0, +     0,    65,     0,    66,     0,     0,    62,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,    63,     0,     0, +    64,     0,     0,    65,     0,    66,    46,    47,     0,   182, +    49,    50,    51,    52,    53,    54,    55,    56,    57,    58, +    59,    60,    61,    14,     0,    15,     0,     0,     0,   100, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +   101,    63,     0,     0,    64,     0,    62,    65,     0,    66, +   102,   103,     0,     0,     0,     0,   104,   105,   106,   107, +   108,   109,   110,   111,   112,   113,   114,   115,   116,   117, +   118,   119,   120,   121,   122,   123,   124,   125,   126,     0, +     0,   127,   128,   129,   130,   131,   132,   133,   134,   135, +   136,   137,     0,     0,     0,     0,     0,     0,     0,     0, +     0,    63,     0,     0,    64,     0,     0,    65,     0,    66  }; -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing -   STATE-NUM.  */ -#define YYPACT_NINF -408 -static const short yypact[] = -{ -    -408,    21,   120,   181,  -408,  -408,  -408,  -408,  -408,  -408, -    -408,    63,     1,  -408,  -408,   -14,  -408,  -408,    87,   -66, -      48,   -23,  -408,    63,    79,  -408,  -408,  -408,   979,   -22, -    -408,  -408,    62,  -408,  -408,  -408,  -408,   -10,    37,    47, -    -408,    44,   979,    64,    64,  -408,  -408,  -408,  -408,  -408, -      65,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408, -    -408,  -408,  -408,  -408,  -408,   165,   170,   172,   491,  -408, -      62,    80,  -408,  -408,   -82,  -408,  -408,  -408,  -408,  -408, -    1140,  -408,   157,    53,   178,   160,  -408,  -408,  -408,  -408, -    1017,  1055,  -408,    83,    89,  -408,  -408,   -82,   -85,    90, -     789,  -408,  -408,  1017,  -408,   137,  1093,    11,   116,    63, -    -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408, -    -408,  -408,  -408,  -408,  -408,  -408,  1017,  1017,  1017,  1017, -    1017,  1017,  1017,  -408,  -408,  1017,  1017,  1017,  1017,  1017, -    1017,  1017,  1017,  -408,    63,  -408,    57,  -408,  -408,  -408, -    -408,  -408,  -408,  -408,   -62,  -408,   122,   150,   190,   152, -     191,   155,   192,   168,   194,   193,   195,   175,   200,   199, -     360,  -408,  1017,  1017,  1017,  -408,   827,  -408,   101,   110, -     610,  -408,  -408,    65,  -408,   610,   610,  -408,  -408,  -408, -    -408,  -408,  -408,  -408,  -408,  -408,  -408,   610,   979,   117, -     118,  -408,   610,   115,   128,   196,   132,   133,   136,   139, -     140,   610,   610,   610,   141,   979,  1017,  1017,   211,  -408, -     142,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408, -    -408,   143,   144,   147,   148,   865,  1055,   567,   217,   149, -     151,   158,   163,  -408,  -408,   142,   -33,   -39,   -82,  -408, -      62,  -408,   162,   164,   903,  -408,  -408,  -408,  -408,  -408, -    -408,  -408,  -408,  -408,  1055,  -408,  -408,  -408,  -408,   166, -    -408,   169,   610,     7,  -408,    10,  -408,   171,   610,   173, -    1017,  1017,  1017,  1017,  1017,  1017,   174,   176,   179,  1017, -     610,   610,   183,  -408,   -19,  -408,  1055,  1055,  1055,  1055, -    -408,  -408,   -16,   -29,  -408,   -79,  -408,  1055,  1055,  1055, -    1055,  -408,  -408,  -408,  -408,  -408,   941,   208,  -408,   -26, -     229,   245,   182,   610,   264,   610,  1017,  -408,   185,   610, -    -408,   187,  -408,  -408,  -408,  -408,   610,   610,   610,  -408, -     186,  -408,  1017,   246,   267,  -408,   142,   171,   237,   189, -     197,  1055,  -408,  -408,  -408,   209,   210,   213,   215,  -408, -    -408,  -408,   225,  -408,   610,   610,  1017,   219,  -408,   219, -    -408,   220,   610,   224,  1017,  -408,  -408,  -408,  1017,   610, -    -408,  -408,  -408,   188,  1017,  1055,  1055,  -408,  1055,  1055, -    1055,  1055,   286,  -408,   226,   204,   220,   214,   240,  -408, -    -408,  1017,   205,   610,  -408,   222,  -408,  -408,   228,   227, -     232,   235,   236,   238,   239,  -408,   320,    35,   306,  -408, -    -408,   241,  -408,  -408,  1055,  -408,  -408,  -408,  -408,  -408, -     610,  -408,   691,    43,   322,  -408,   243,  -408,   249,  -408, -     691,   610,  -408,   327,   251,   285,   610,   331,   332,  -408, -     610,   610,  -408,  -408 +static const short yycheck[] = {    26, +   106,   106,     2,    89,    40,   199,   245,     9,    23,    66, +    15,   101,    29,    40,   104,    30,   421,    52,    53,    21, +    98,    15,    10,    11,    12,    13,    14,    15,    16,    17, +    30,   107,   437,   101,    32,    33,   126,   236,   237,   129, +   130,    98,   110,   133,   134,   135,   136,   137,    23,    54, +    98,   141,    10,    11,    12,    13,    14,    15,    16,    17, +    54,    88,    89,   107,   105,   264,   110,   143,    68,   110, +     5,     6,    34,     8,     9,    10,    11,    12,    13,    14, +    15,    16,    17,    18,    19,    20,    21,    22,    22,    24, +    24,   108,    54,     0,   109,    99,    99,   124,   125,    20, +   127,   128,    99,    85,    86,   109,   109,     4,   105,   348, +    45,   138,   139,   140,   171,   172,   173,   105,    25,    98, +    41,    42,    43,    44,    31,    99,    47,   217,    27,    28, +    99,   436,    98,   107,    41,    42,    43,    44,   107,   444, +   169,     3,     4,    99,    49,    50,    51,   105,   175,   105, +   179,     3,     4,     3,     4,   184,   185,    58,    59,    60, +    61,   197,     3,     4,   103,   100,    98,   196,   103,     4, +   197,   106,   201,   108,   109,   369,   101,   371,     4,   215, +     3,     4,   211,   212,   213,     4,   101,    24,   215,   216, +     4,   281,    24,   283,   284,   104,   104,   254,   101,    56, +   290,     7,     4,     4,     4,     4,     4,    99,   235,   236, +   237,   297,   298,   299,   300,     7,     7,    20,   102,    22, +    99,    24,   308,   309,   310,   311,    99,   103,    31,    32, +    33,    99,    36,    99,    99,    99,    99,   264,    41,    42, +    43,    44,    24,   272,    47,    48,    99,   101,    99,   278, +   250,    99,    55,   280,    99,   282,    24,   101,   285,   286, +    99,   101,   291,   292,   102,   101,    21,   353,   101,    99, +   297,   298,   299,   300,   101,   103,   101,   101,    99,    99, +    34,   308,   309,   310,   311,    21,   376,   377,    99,    99, +   317,    99,    99,     4,    24,   324,   101,   326,     4,    36, +     4,   330,   388,   389,    99,   391,   392,   393,   394,   338, +   339,   340,   184,   185,   404,   421,   421,   344,    99,    99, +    54,    99,   101,    99,   196,    99,   353,    99,    99,   201, +    99,   437,   437,    99,    99,    99,    99,   366,   367,   211, +   212,   213,   428,   102,   102,   374,   103,    54,    21,   105, +   102,   102,    99,   382,   102,    36,   102,   102,   102,   102, +   387,   388,   389,   105,   391,   392,   393,   394,    21,   102, +    99,    21,    99,    66,    21,     5,     6,   406,    10,    11, +    12,    13,    14,    15,    16,    17,    21,     0,     0,    78, +    78,    78,    22,    78,    24,    18,    26,    30,   318,    98, +   272,   428,   169,    42,   317,   434,   278,    21,    38,    39, +     2,    13,   349,   327,   381,    -1,   445,    -1,    -1,   291, +   292,   450,    -1,    -1,    -1,   454,   455,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69, +    70,    71,    72,    73,    74,    75,    76,    77,    78,    79, +    80,    81,   324,    -1,   326,    -1,    -1,    87,   330,    89, +    90,    91,    92,    -1,    94,    -1,   338,   339,   340,    -1, +    -1,    -1,    -1,   103,    -1,    -1,   106,    -1,   108,    -1, +    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,   366,   367,    -1,    -1,    -1,    -1, +    -1,    -1,   374,    -1,    -1,    -1,    -1,    -1,     5,     6, +   382,     8,     9,    10,    11,    12,    13,    14,    15,    16, +    17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1, +    -1,    -1,    -1,    -1,   406,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1, +    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1, +    -1,    -1,   434,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    22,    -1,    24,   445,    26,    27,    28,    -1,   450,    -1, +    -1,    -1,   454,   455,    -1,    -1,    38,    39,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,   100,    -1,    -1,   103,    -1,    -1,   106, +    -1,   108,   109,    -1,    -1,    -1,    68,    69,    70,    71, +    72,    73,    74,    75,    76,    77,    78,    79,    80,    81, +    -1,    -1,     3,     4,    -1,    87,     7,    89,    90,    91, +    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,   106,    26,    27,    28,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70, +    71,    72,    73,    74,    75,    76,    77,    78,    79,    80, +    81,    -1,    -1,    -1,    -1,    -1,    87,    -1,    89,    90, +    91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,     5,     6,   106,     8,     9,    10,    11, +    12,    13,    14,    15,    16,    17,    18,    19,    20,    21, +    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1, +    -1,     5,     6,    45,     8,     9,    10,    11,    12,    13, +    14,    15,    16,    17,    18,    19,    20,    21,    22,    -1, +    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1, +    -1,   103,    -1,    -1,   106,    -1,   108,     5,     6,    -1, +     8,     9,    10,    11,    12,    13,    14,    15,    16,    17, +    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,   103, +    -1,    -1,   106,    -1,   108,     5,     6,    45,     8,     9, +    10,    11,    12,    13,    14,    15,    16,    17,    18,    19, +    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,   100,    -1,    -1,   103,    -1,   105,   106,    -1, +   108,    -1,     5,     6,    -1,     8,     9,    10,    11,    12, +    13,    14,    15,    16,    17,    18,    19,    20,    21,    22, +    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +   100,    -1,    -1,   103,    37,    -1,   106,    -1,   108,    -1, +     5,     6,    45,     8,     9,    10,    11,    12,    13,    14, +    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24, +    -1,    -1,     5,     6,    -1,     8,     9,    10,    11,    12, +    13,    14,    15,    16,    17,    18,    19,    20,    21,    22, +    45,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1, +   103,    -1,    45,   106,    -1,   108,     5,     6,    -1,     8, +     9,    10,    11,    12,    13,    14,    15,    16,    17,    18, +    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,    -1, +    -1,   106,    -1,   108,    -1,    -1,    45,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1, +   103,    -1,    -1,   106,    -1,   108,     5,     6,    -1,     8, +     9,    10,    11,    12,    13,    14,    15,    16,    17,    18, +    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    35, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    46,   100,    -1,    -1,   103,    -1,    45,   106,    -1,   108, +    56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65, +    66,    67,    68,    69,    70,    71,    72,    73,    74,    75, +    76,    77,    78,    79,    80,    81,    82,    83,    84,    -1, +    -1,    87,    88,    89,    90,    91,    92,    93,    94,    95, +    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,   100,    -1,    -1,   103,    -1,    -1,   106,    -1,   108  }; +/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */ +#line 3 "/usr/share/bison.simple" +/* This file comes from bison-1.28.  */ -/* YYPGOTO[NTERM-NUM].  */ -static const short yypgoto[] = -{ -    -408,  -408,  -408,   274,   275,   277,   279,  -107,  -105,  -407, -    -408,   328,   341,   -81,  -408,  -194,    45,  -408,  -228,  -408, -     -38,  -408,   -28,  -408,   -57,   263,  -408,   -89,   198,  -171, -     323,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408,  -408, -       9,  -408,    54,  -408,  -408,   346,  -408,  -408,  -408,  -408, -     361,  -408,  -359,   -45,   119,   -98,  -408,   356,  -408,  -408, -    -408,  -408,  -408,    46,    -4,  -408,  -408,    28,  -408,  -408 -}; +/* Skeleton output parser for bison, +   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. -/* 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 -120 -static const short yytable[] = -{ -      72,   195,   171,   196,    87,   181,   276,    77,   184,    30, -     432,    97,    21,   174,    72,   343,    33,   311,   -59,   351, -     185,     4,   323,   175,    30,   325,   440,   101,   198,   354, -     201,    41,   186,   205,   206,   344,   218,   207,   208,   209, -     210,    21,   219,    97,   214,   187,   188,   189,   190,   191, -     192,   193,   194,   187,   188,   189,   190,   191,   192,   193, -     194,   324,   155,   215,   324,   303,   305,   313,    42,   351, -     101,   312,   351,   438,    45,   180,   101,   353,   180,    99, -     363,   444,   351,    47,    16,    78,    17,    82,   352,     7, -       8,     9,    10,   319,    34,    43,    88,    89,   199,   200, -     180,   202,   203,   180,   180,   149,   150,   180,   180,   180, -     180,   211,   212,   213,   180,   246,   247,   248,   382,   292, -    -119,    24,    25,    26,    27,   244,   187,   188,   189,   190, -     191,   192,   193,   194,    83,   267,    37,    38,    39,   431, -     267,   267,   216,   217,    84,     5,    85,   439,   250,   221, -     222,     6,   267,   -25,   -25,   -24,   -24,   267,   -23,   -23, -     272,     7,     8,     9,    10,   -60,   267,   267,   267,    92, -      72,   -22,   -22,   399,    93,   400,    94,   290,   223,   224, -     100,   148,   152,   331,   153,   333,   172,    72,   291,   180, -     176,   339,   173,   182,   -29,   -28,   -27,   248,   -26,   254, -     -32,   -35,   -33,    16,   226,    17,   227,   347,   348,   349, -     350,   255,     6,   -35,   -35,   273,   275,   278,   355,   356, -     357,   358,   -35,   -35,   -35,   -35,   279,   267,   -35,    18, -     281,   282,   280,   267,   283,   293,    19,   284,   285,   289, -     294,   306,   343,   296,   297,   267,   267,   298,   299,   307, -     364,   308,   330,   180,   332,   180,   334,   335,   309,   314, -     316,   180,   387,   310,   320,   317,   365,   321,   368,   326, -     380,   381,   336,   384,   337,   329,   404,   338,   267,   392, -     267,   342,   366,   372,   267,   374,   378,   385,   250,   407, -     415,   267,   267,   267,   324,   386,   409,   410,   180,   411, -     412,   413,   414,   419,   269,   270,   417,   388,   389,   420, -     195,   390,   196,   391,   379,   418,   271,   398,   401,   267, -     267,   277,   403,   422,   416,   424,   195,   267,   196,   423, -     286,   287,   288,   425,   267,   436,   426,   427,   180,   428, -     429,   430,   434,   441,   442,   435,   180,   443,   446,   447, -     180,   448,   450,   451,   139,   140,   408,   141,   267,   142, -      80,    44,   361,   178,    22,    48,    49,    91,   243,    46, -     360,    36,   371,   180,   405,   383,     0,     0,     0,     0, -       0,     0,    16,     0,    17,   267,   228,     0,     0,     0, -       0,   322,     0,     0,     0,     0,   267,   328,   229,   230, -       0,   267,     0,     0,     0,   267,   267,     0,     0,   340, -     341,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,   112,   113, -     114,   115,   116,   117,   118,   119,   120,   121,   122,   123, -     124,   125,   367,     0,   369,     0,     0,   231,   373,   232, -     233,   133,   134,     0,   234,   375,   376,   377,     0,     0, -       0,     0,   235,     0,     0,   236,     0,   237,     0,     0, -     238,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,   394,   395,     0,     0,     0,     0,     0, -       0,   402,     0,     0,     0,     0,    48,    49,   406,    95, -      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, -      61,    62,    63,    16,     0,    17,     0,     0,     0,     0, -       0,     0,   421,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,    64,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,   437, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -     445,     0,     0,     0,     0,   449,     0,     0,     0,   452, -     453,     0,    48,    49,     0,    95,   156,   157,   158,   159, -     160,   161,   162,   163,   164,   165,   166,    62,    63,    16, -      65,    17,     0,    66,     0,     0,    67,     0,    68,    96, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,    64,   256,   257,    48,    49,   258,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,    16,     0,    17,     0,   259,   260,   261,     0, -       0,     0,     0,     0,     0,     0,     0,     0,   262,   263, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,    65,     0,     0,    66, -       0,     0,    67,     0,    68,   304,     0,     0,   112,   113, -     114,   115,   116,   117,   118,   119,   120,   121,   122,   123, -     124,   125,     0,     0,   256,   257,     0,   231,   258,   232, -     233,   133,   134,     0,   234,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   264,     0,   259,   260,   261, -       0,     0,     0,     0,     0,     0,     0,     0,     0,   262, -     263,     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,   112, -     113,   114,   115,   116,   117,   118,   119,   120,   121,   122, -     123,   124,   125,     0,     0,     0,     0,     0,   231,     0, -     232,   233,   133,   134,     0,   234,     0,     0,     0,     0, -       0,     0,     0,     0,    48,    49,   264,    95,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    16,     0,    17,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   177,     0,     0,     0, -       0,     0,    48,    49,    64,    95,    51,    52,    53,    54, -      55,    56,    57,    58,    59,    60,    61,    62,    63,    16, -       0,    17,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,   249,     0,     0,     0,     0,     0, -      48,    49,    64,    95,   156,   157,   158,   159,   160,   161, -     162,   163,   164,   165,   166,    62,    63,    16,    65,    17, -       0,    66,     0,     0,    67,     0,    68,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    48,    49, -      64,    95,    51,    52,    53,    54,    55,    56,    57,    58, -      59,    60,    61,    62,    63,    16,    65,    17,     0,    66, -       0,     0,    67,     0,    68,     0,     0,     0,     0,     0, -     318,     0,     0,     0,     0,     0,    48,    49,    64,    95, -      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, -      61,    62,    63,    16,    65,    17,     0,    66,     0,   300, -      67,     0,    68,     0,     0,     0,     0,     0,   359,     0, -       0,     0,     0,     0,    48,    49,    64,    50,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    16,    65,    17,     0,    66,     0,     0,    67,     0, -      68,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,    48,    49,    64,    95,    51,    52,    53,    54, -      55,    56,    57,    58,    59,    60,    61,    62,    63,    16, -      65,    17,     0,    66,     0,     0,    67,     0,    68,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -      48,    49,    64,    95,   156,   157,   158,   159,   160,   161, -     162,   163,   164,   165,   166,    62,    63,    16,    65,    17, -       0,    66,     0,     0,    67,     0,    68,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    48,    49, -      64,   183,    51,    52,    53,    54,    55,    56,    57,    58, -      59,    60,    61,    62,    63,    16,    65,    17,     0,    66, -       0,     0,    67,     0,    68,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    64,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,    65,     0,     0,    66,     0,     0, -      67,     0,    68,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   102,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   103,     0,     0,     0, -       0,     0,    65,     0,     0,    66,   104,   105,    67,     0, -      68,     0,   106,   107,   108,   109,   110,   111,   112,   113, -     114,   115,   116,   117,   118,   119,   120,   121,   122,   123, -     124,   125,   126,   127,   128,     0,     0,   129,   130,   131, -     132,   133,   134,   135,   136,   137,   138 -}; +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License as published by +   the Free Software Foundation; either version 2, or (at your option) +   any later version. -static const short yycheck[] = -{ -      28,   108,    91,   108,    42,   103,   200,    29,   106,    23, -     417,    68,     3,    98,    42,    34,    30,   245,   100,    98, -       9,     0,    15,   108,    23,    15,   433,   109,   109,   108, -     128,    97,    21,   131,   132,    54,    98,   135,   136,   137, -     138,    32,   104,   100,   142,    10,    11,    12,    13,    14, -      15,    16,    17,    10,    11,    12,    13,    14,    15,    16, -      17,    54,    90,   144,    54,   236,   237,   106,    20,    98, -     109,   104,    98,   432,    97,   103,   109,   106,   106,    70, -     106,   440,    98,     4,    22,   107,    24,    97,   104,    41, -      42,    43,    44,   264,   108,    47,    32,    33,   126,   127, -     128,   129,   130,   131,   132,    52,    53,   135,   136,   137, -     138,   139,   140,   141,   142,   172,   173,   174,   346,   217, -       0,    58,    59,    60,    61,   170,    10,    11,    12,    13, -      14,    15,    16,    17,    97,   180,    49,    50,    51,   104, -     185,   186,    85,    86,    97,    25,   102,   104,   176,    27, -      28,    31,   197,     3,     4,     3,     4,   202,     3,     4, -     198,    41,    42,    43,    44,   100,   211,   212,   213,     4, -     198,     3,     4,   367,     4,   369,     4,   215,     3,     4, -     100,    24,     4,   281,    24,   283,   103,   215,   216,   217, -     100,   289,   103,    56,     4,     4,     4,   254,     4,    98, -       7,    20,     7,    22,     4,    24,     7,   296,   297,   298, -     299,   101,    31,    32,    33,    98,    98,   102,   307,   308, -     309,   310,    41,    42,    43,    44,    98,   272,    47,    48, -      98,    98,    36,   278,    98,    24,    55,    98,    98,    98, -      98,    24,    34,   100,   100,   290,   291,   100,   100,   100, -      21,   100,   280,   281,   282,   283,   284,   285,   100,   250, -      98,   289,   351,   100,    98,   101,    21,    98,     4,    98, -      24,     4,    98,    36,    98,   102,   374,    98,   323,    54, -     325,    98,   100,    98,   329,    98,   100,    98,   316,   101, -       4,   336,   337,   338,    54,    98,   385,   386,   326,   388, -     389,   390,   391,   401,   185,   186,   102,    98,    98,   104, -     417,    98,   417,    98,   342,   101,   197,    98,    98,   364, -     365,   202,    98,   101,    98,    98,   433,   372,   433,   101, -     211,   212,   213,   101,   379,   424,   101,   101,   366,   101, -     101,    21,    36,    21,   101,   104,   374,    98,    21,    98, -     378,    66,    21,    21,    80,    80,   384,    80,   403,    80, -      32,    20,   317,   100,     3,     5,     6,    44,   170,    23, -     316,    15,   326,   401,   378,   347,    -1,    -1,    -1,    -1, -      -1,    -1,    22,    -1,    24,   430,    26,    -1,    -1,    -1, -      -1,   272,    -1,    -1,    -1,    -1,   441,   278,    38,    39, -      -1,   446,    -1,    -1,    -1,   450,   451,    -1,    -1,   290, -     291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69, -      70,    71,    72,    73,    74,    75,    76,    77,    78,    79, -      80,    81,   323,    -1,   325,    -1,    -1,    87,   329,    89, -      90,    91,    92,    -1,    94,   336,   337,   338,    -1,    -1, -      -1,    -1,   102,    -1,    -1,   105,    -1,   107,    -1,    -1, -     110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,   364,   365,    -1,    -1,    -1,    -1,    -1, -      -1,   372,    -1,    -1,    -1,    -1,     5,     6,   379,     8, -       9,    10,    11,    12,    13,    14,    15,    16,    17,    18, -      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1, -      -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   430, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -     441,    -1,    -1,    -1,    -1,   446,    -1,    -1,    -1,   450, -     451,    -1,     5,     6,    -1,     8,     9,    10,    11,    12, -      13,    14,    15,    16,    17,    18,    19,    20,    21,    22, -      99,    24,    -1,   102,    -1,    -1,   105,    -1,   107,   108, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    45,     3,     4,     5,     6,     7,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    22,    -1,    24,    -1,    26,    27,    28,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,   102, -      -1,    -1,   105,    -1,   107,   108,    -1,    -1,    68,    69, -      70,    71,    72,    73,    74,    75,    76,    77,    78,    79, -      80,    81,    -1,    -1,     3,     4,    -1,    87,     7,    89, -      90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,   105,    -1,    26,    27,    28, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38, -      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68, -      69,    70,    71,    72,    73,    74,    75,    76,    77,    78, -      79,    80,    81,    -1,    -1,    -1,    -1,    -1,    87,    -1, -      89,    90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,     5,     6,   105,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1, -      -1,    -1,     5,     6,    45,     8,     9,    10,    11,    12, -      13,    14,    15,    16,    17,    18,    19,    20,    21,    22, -      -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1, -       5,     6,    45,     8,     9,    10,    11,    12,    13,    14, -      15,    16,    17,    18,    19,    20,    21,    22,    99,    24, -      -1,   102,    -1,    -1,   105,    -1,   107,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6, -      45,     8,     9,    10,    11,    12,    13,    14,    15,    16, -      17,    18,    19,    20,    21,    22,    99,    24,    -1,   102, -      -1,    -1,   105,    -1,   107,    -1,    -1,    -1,    -1,    -1, -      37,    -1,    -1,    -1,    -1,    -1,     5,     6,    45,     8, -       9,    10,    11,    12,    13,    14,    15,    16,    17,    18, -      19,    20,    21,    22,    99,    24,    -1,   102,    -1,   104, -     105,    -1,   107,    -1,    -1,    -1,    -1,    -1,    37,    -1, -      -1,    -1,    -1,    -1,     5,     6,    45,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    99,    24,    -1,   102,    -1,    -1,   105,    -1, -     107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,     5,     6,    45,     8,     9,    10,    11,    12, -      13,    14,    15,    16,    17,    18,    19,    20,    21,    22, -      99,    24,    -1,   102,    -1,    -1,   105,    -1,   107,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -       5,     6,    45,     8,     9,    10,    11,    12,    13,    14, -      15,    16,    17,    18,    19,    20,    21,    22,    99,    24, -      -1,   102,    -1,    -1,   105,    -1,   107,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6, -      45,     8,     9,    10,    11,    12,    13,    14,    15,    16, -      17,    18,    19,    20,    21,    22,    99,    24,    -1,   102, -      -1,    -1,   105,    -1,   107,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    99,    -1,    -1,   102,    -1,    -1, -     105,    -1,   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1, -      -1,    -1,    99,    -1,    -1,   102,    56,    57,   105,    -1, -     107,    -1,    62,    63,    64,    65,    66,    67,    68,    69, -      70,    71,    72,    73,    74,    75,    76,    77,    78,    79, -      80,    81,    82,    83,    84,    -1,    -1,    87,    88,    89, -      90,    91,    92,    93,    94,    95,    96 -}; +   This program is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +   GNU General Public License for more details. -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing -   symbol of state STATE-NUM.  */ -static const unsigned char yystos[] = -{ -       0,   142,   143,   144,     0,    25,    31,    41,    42,    43, -      44,   123,   158,   160,   161,   167,    22,    24,    48,    55, -     122,   151,   161,   162,    58,    59,    60,    61,   124,   156, -      23,   168,   169,    30,   108,   159,   168,    49,    50,    51, -     148,    97,    20,    47,   123,    97,   156,     4,     5,     6, -       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, -      18,    19,    20,    21,    45,    99,   102,   105,   107,   112, -     131,   132,   133,   134,   135,   151,   164,    29,   107,   157, -     122,   172,    97,    97,    97,   102,   149,   131,    32,    33, -     141,   141,     4,     4,     4,     8,   108,   135,   136,   151, -     100,   109,    35,    46,    56,    57,    62,    63,    64,    65, -      66,    67,    68,    69,    70,    71,    72,    73,    74,    75, -      76,    77,    78,    79,    80,    81,    82,    83,    84,    87, -      88,    89,    90,    91,    92,    93,    94,    95,    96,   114, -     115,   116,   117,   170,   176,   177,   179,   180,    24,    52, -      53,   147,     4,    24,   150,   133,     9,    10,    11,    12, -      13,    14,    15,    16,    17,    18,    19,   118,   119,   121, -     133,   138,   103,   103,    98,   108,   100,    37,   136,   137, -     133,   166,    56,     8,   166,     9,    21,    10,    11,    12, -      13,    14,    15,    16,    17,   118,   119,   120,   124,   133, -     133,   166,   133,   133,   173,   166,   166,   166,   166,   166, -     166,   133,   133,   133,   166,   124,    85,    86,    98,   104, -     146,    27,    28,     3,     4,   113,     4,     7,    26,    38, -      39,    87,    89,    90,    94,   102,   105,   107,   110,   114, -     115,   116,   117,   139,   164,   145,   135,   135,   135,    37, -     133,   153,   154,   155,    98,   101,     3,     4,     7,    26, -      27,    28,    38,    39,   105,   139,   163,   164,   165,   165, -     165,   165,   131,    98,   126,    98,   126,   165,   102,    98, -      36,    98,    98,    98,    98,    98,   165,   165,   165,    98, -     131,   133,   166,    24,    98,   129,   100,   100,   100,   100, -     104,   138,   140,   140,   108,   140,    24,   100,   100,   100, -     100,   129,   104,   106,   151,   152,    98,   101,    37,   140, -      98,    98,   165,    15,    54,    15,    98,   178,   165,   102, -     133,   166,   133,   166,   133,   133,    98,    98,    98,   166, -     165,   165,    98,    34,    54,   127,   130,   138,   138,   138, -     138,    98,   104,   106,   108,   138,   138,   138,   138,    37, -     153,   127,   128,   106,    21,    21,   100,   165,     4,   165, -     166,   174,    98,   165,    98,   165,   165,   165,   100,   133, -      24,     4,   129,   178,    36,    98,    98,   138,    98,    98, -      98,    98,    54,   125,   165,   165,   174,   175,    98,   126, -     126,    98,   165,    98,   166,   175,   165,   101,   133,   138, -     138,   138,   138,   138,   138,     4,    98,   102,   101,   166, -     104,   165,   101,   101,    98,   101,   101,   101,   101,   101, -      21,   104,   120,   171,    36,   104,   138,   165,   163,   104, -     120,    21,   101,    98,   163,   165,    21,    98,    66,   165, -      21,    21,   165,   165 -}; +   You should have received a copy of the GNU General Public License +   along with this program; if not, write to the Free Software +   Foundation, Inc., 59 Temple Place - Suite 330, +   Boston, MA 02111-1307, USA.  */ -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) -# define YYSIZE_T __SIZE_TYPE__ -#endif -#if ! defined (YYSIZE_T) && defined (size_t) -# define YYSIZE_T size_t +/* As a special exception, when this file is copied by Bison into a +   Bison output file, you may use that output file without restriction. +   This special exception was added by the Free Software Foundation +   in version 1.24 of Bison.  */ + +/* This is the parser code that is written into each bison parser +  when the %semantic_parser declaration is not specified in the grammar. +  It was written by Richard Stallman by simplifying the hairy parser +  used when %semantic_parser is specified.  */ + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C.  */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include <alloca.h> +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C.  */ +/* This used to test MSDOS, but that is a bad idea +   since that symbol is in the user namespace.  */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; +	 instead, just don't use alloca.  */ +#include <malloc.h>  #endif -#if ! defined (YYSIZE_T) -# if defined (__STDC__) || defined (__cplusplus) -#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */ -#  define YYSIZE_T size_t -# endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. +   So I turned it off.   rms, 2 May 1997.  */ +/* #include <malloc.h>  */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, +		 and on HPUX 10.  Eventually we can turn this on.  */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */  #endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc  #endif +/* Note: there must be only one dollar sign in this file. +   It is replaced by the list of actions, each action +   as one case of the switch.  */ +  #define yyerrok		(yyerrstatus = 0)  #define yyclearin	(yychar = YYEMPTY) -#define YYEMPTY		(-2) +#define YYEMPTY		-2  #define YYEOF		0 -  #define YYACCEPT	goto yyacceptlab -#define YYABORT		goto yyabortlab -#define YYERROR		goto yyerrorlab - - -/* Like YYERROR except do call yyerror.  This remains here temporarily -   to ease the transition to the new meaning of YYERROR, for GCC. +#define YYABORT 	goto yyabortlab +#define YYERROR		goto yyerrlab1 +/* Like YYERROR except do call yyerror. +   This remains here temporarily to ease the +   transition to the new meaning of YYERROR, for GCC.     Once GCC version 2 has supplanted version 1, this can go.  */ -  #define YYFAIL		goto yyerrlab -  #define YYRECOVERING()  (!!yyerrstatus) - -#define YYBACKUP(Token, Value)					\ +#define YYBACKUP(token, value) \  do								\    if (yychar == YYEMPTY && yylen == 1)				\ -    {								\ -      yychar = (Token);						\ -      yylval = (Value);						\ -      yytoken = YYTRANSLATE (yychar);				\ +    { yychar = (token), yylval = (value);			\ +      yychar1 = YYTRANSLATE (yychar);				\        YYPOPSTACK;						\        goto yybackup;						\      }								\    else								\ -    { 								\ -      yyerror ("syntax error: cannot back up");\ -      YYERROR;							\ -    }								\ +    { yyerror ("syntax error: cannot back up"); YYERROR; }	\  while (0)  #define YYTERROR	1  #define YYERRCODE	256 -/* YYLLOC_DEFAULT -- Compute the default location (before the actions -   are run).  */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N)		\ -   ((Current).first_line   = (Rhs)[1].first_line,	\ -    (Current).first_column = (Rhs)[1].first_column,	\ -    (Current).last_line    = (Rhs)[N].last_line,	\ -    (Current).last_column  = (Rhs)[N].last_column) +#ifndef YYPURE +#define YYLEX		yylex()  #endif -/* YYLEX -- calling `yylex' with the right arguments.  */ - +#ifdef YYPURE +#ifdef YYLSP_NEEDED  #ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) +#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)  #else -# define YYLEX yylex () +#define YYLEX		yylex(&yylval, &yylloc)  #endif - -/* Enable debugging if requested.  */ -#if YYDEBUG - -# ifndef YYFPRINTF -#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */ -#  define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args)			\ -do {						\ -  if (yydebug)					\ -    YYFPRINTF Args;				\ -} while (0) - -# define YYDSYMPRINT(Args)			\ -do {						\ -  if (yydebug)					\ -    yysymprint Args;				\ -} while (0) - -# define YYDSYMPRINTF(Title, Token, Value, Location)		\ -do {								\ -  if (yydebug)							\ -    {								\ -      YYFPRINTF (stderr, "%s ", Title);				\ -      yysymprint (stderr, 					\ -                  Token, Value);	\ -      YYFPRINTF (stderr, "\n");					\ -    }								\ -} while (0) - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included).                                                   | -`------------------------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_stack_print (short *bottom, short *top) +#else /* not YYLSP_NEEDED */ +#ifdef YYLEX_PARAM +#define YYLEX		yylex(&yylval, YYLEX_PARAM)  #else -static void -yy_stack_print (bottom, top) -    short *bottom; -    short *top; +#define YYLEX		yylex(&yylval) +#endif +#endif /* not YYLSP_NEEDED */  #endif -{ -  YYFPRINTF (stderr, "Stack now"); -  for (/* Nothing. */; bottom <= top; ++bottom) -    YYFPRINTF (stderr, " %d", *bottom); -  YYFPRINTF (stderr, "\n"); -} -# define YY_STACK_PRINT(Bottom, Top)				\ -do {								\ -  if (yydebug)							\ -    yy_stack_print ((Bottom), (Top));				\ -} while (0) +/* If nonreentrant, generate the variables here */ +#ifndef YYPURE -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced.  | -`------------------------------------------------*/ +int	yychar;			/*  the lookahead symbol		*/ +YYSTYPE	yylval;			/*  the semantic value of the		*/ +				/*  lookahead symbol			*/ -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_reduce_print (int yyrule) -#else -static void -yy_reduce_print (yyrule) -    int yyrule; +#ifdef YYLSP_NEEDED +YYLTYPE yylloc;			/*  location data for the lookahead	*/ +				/*  symbol				*/  #endif -{ -  int yyi; -  unsigned int yylno = yyrline[yyrule]; -  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", -             yyrule - 1, yylno); -  /* Print the symbols being reduced, and their result.  */ -  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) -    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); -  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); -} -# define YY_REDUCE_PRINT(Rule)		\ -do {					\ -  if (yydebug)				\ -    yy_reduce_print (Rule);		\ -} while (0) - -/* Nonzero means print parse trace.  It is left uninitialized so that -   multiple parsers can coexist.  */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YYDSYMPRINT(Args) -# define YYDSYMPRINTF(Title, Token, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks.  */ -#ifndef	YYINITDEPTH -# define YYINITDEPTH 200 +int yynerrs;			/*  number of parse errors so far       */ +#endif  /* not YYPURE */ + +#if YYDEBUG != 0 +int yydebug;			/*  nonzero means print parse trace	*/ +/* Since this is uninitialized, it does not stop multiple parsers +   from coexisting.  */  #endif -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only -   if the built-in stack extension method is used). +/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/ -   Do not make this value too large; the results are undefined if -   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) -   evaluated with infinite-precision integer arithmetic.  */ +#ifndef	YYINITDEPTH +#define YYINITDEPTH 200 +#endif -#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 -# undef YYMAXDEPTH +/*  YYMAXDEPTH is the maximum size the stacks can grow to +    (effective only if the built-in stack extension method is used).  */ + +#if YYMAXDEPTH == 0 +#undef YYMAXDEPTH  #endif  #ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 +#define YYMAXDEPTH 10000  #endif - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -#  if defined (__GLIBC__) && defined (_STRING_H) -#   define yystrlen strlen -#  else -/* Return the length of YYSTR.  */ -static YYSIZE_T -#   if defined (__STDC__) || defined (__cplusplus) -yystrlen (const char *yystr) -#   else -yystrlen (yystr) -     const char *yystr; -#   endif -{ -  register const char *yys = yystr; - -  while (*yys++ != '\0') -    continue; - -  return yys - yystr - 1; -} -#  endif -# endif - -# ifndef yystpcpy -#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) -#   define yystpcpy stpcpy -#  else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in -   YYDEST.  */ -static char * -#   if defined (__STDC__) || defined (__cplusplus) -yystpcpy (char *yydest, const char *yysrc) -#   else -yystpcpy (yydest, yysrc) -     char *yydest; -     const char *yysrc; -#   endif +/* Define __yy_memcpy.  Note that the size argument +   should be passed with type unsigned int, because that is what the non-GCC +   definitions require.  With GCC, __builtin_memcpy takes an arg +   of type size_t, but it can handle unsigned int.  */ + +#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */ +#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT) +#else				/* not GNU C or C++ */ +#ifndef __cplusplus + +/* This is the most reliable way to avoid incompatibilities +   in available built-in functions on various systems.  */ +static void +__yy_memcpy (to, from, count) +     char *to; +     char *from; +     unsigned int count;  { -  register char *yyd = yydest; -  register const char *yys = yysrc; - -  while ((*yyd++ = *yys++) != '\0') -    continue; +  register char *f = from; +  register char *t = to; +  register int i = count; -  return yyd - 1; +  while (i-- > 0) +    *t++ = *f++;  } -#  endif -# endif -#endif /* !YYERROR_VERBOSE */ +#else /* __cplusplus */ - - -#if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT.  | -`--------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) -#else +/* This is the most reliable way to avoid incompatibilities +   in available built-in functions on various systems.  */  static void -yysymprint (yyoutput, yytype, yyvaluep) -    FILE *yyoutput; -    int yytype; -    YYSTYPE *yyvaluep; -#endif +__yy_memcpy (char *to, char *from, unsigned int count)  { -  /* Pacify ``unused variable'' warnings.  */ -  (void) yyvaluep; - -  if (yytype < YYNTOKENS) -    { -      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); -# ifdef YYPRINT -      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif -    } -  else -    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); +  register char *t = to; +  register char *f = from; +  register int i = count; -  switch (yytype) -    { -      default: -        break; -    } -  YYFPRINTF (yyoutput, ")"); +  while (i-- > 0) +    *t++ = *f++;  } -#endif /* ! YYDEBUG */ -/*-----------------------------------------------. -| Release the memory associated to this symbol.  | -`-----------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yydestruct (int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yytype, yyvaluep) -    int yytype; -    YYSTYPE *yyvaluep;  #endif -{ -  /* Pacify ``unused variable'' warnings.  */ -  (void) yyvaluep; - -  switch (yytype) -    { - -      default: -        break; -    } -} +#endif +#line 217 "/usr/share/bison.simple" -/* Prevent warnings from -Wmissing-prototypes.  */ +/* The user can define YYPARSE_PARAM as the name of an argument to be passed +   into yyparse.  The argument should have type void *. +   It should actually point to an object. +   Grammar actions can access the variable by casting it +   to the proper pointer type.  */  #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM); -# else -int yyparse (); -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The lookahead symbol.  */ -int yychar; - -/* The semantic value of the lookahead symbol.  */ -YYSTYPE yylval; - -/* Number of syntax errors so far.  */ -int yynerrs; - - - -/*----------. -| yyparse.  | -`----------*/ - +#ifdef __cplusplus +#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +#define YYPARSE_PARAM_DECL +#else /* not __cplusplus */ +#define YYPARSE_PARAM_ARG YYPARSE_PARAM +#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +#endif /* not __cplusplus */ +#else /* not YYPARSE_PARAM */ +#define YYPARSE_PARAM_ARG +#define YYPARSE_PARAM_DECL +#endif /* not YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes.  */ +#ifdef __GNUC__  #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM) -# else -int yyparse (YYPARSE_PARAM) -  void *YYPARSE_PARAM; -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int -yyparse (void) +int yyparse (void *);  #else -int -yyparse () - +int yyparse (void);  #endif  #endif + +int +yyparse(YYPARSE_PARAM_ARG) +     YYPARSE_PARAM_DECL  { -      register int yystate;    register int yyn; -  int yyresult; -  /* Number of tokens to shift before error messages enabled.  */ -  int yyerrstatus; -  /* Lookahead token as an internal (translated) token number.  */ -  int yytoken = 0; - -  /* Three stacks and their tools: -     `yyss': related to states, -     `yyvs': related to semantic values, -     `yyls': related to locations. - -     Refer to the stacks thru separate pointers, to allow yyoverflow -     to reallocate them elsewhere.  */ - -  /* The state stack.  */ -  short	yyssa[YYINITDEPTH]; -  short *yyss = yyssa;    register short *yyssp; - -  /* The semantic value stack.  */ -  YYSTYPE yyvsa[YYINITDEPTH]; -  YYSTYPE *yyvs = yyvsa;    register YYSTYPE *yyvsp; +  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */ +  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */ +  short	yyssa[YYINITDEPTH];	/*  the state stack			*/ +  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/ +  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */ +  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */ +#ifdef YYLSP_NEEDED +  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/ +  YYLTYPE *yyls = yylsa; +  YYLTYPE *yylsp; + +#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--) +#else  #define YYPOPSTACK   (yyvsp--, yyssp--) +#endif -  YYSIZE_T yystacksize = YYINITDEPTH; +  int yystacksize = YYINITDEPTH; +  int yyfree_stacks = 0; -  /* The variables used to return semantic value and location from the -     action routines.  */ -  YYSTYPE yyval; +#ifdef YYPURE +  int yychar; +  YYSTYPE yylval; +  int yynerrs; +#ifdef YYLSP_NEEDED +  YYLTYPE yylloc; +#endif +#endif +  YYSTYPE yyval;		/*  the variable used to return		*/ +				/*  semantic values from the action	*/ +				/*  routines				*/ -  /* When reducing, the number of symbols on the RHS of the reduced -     rule.  */    int yylen; -  YYDPRINTF ((stderr, "Starting parse\n")); +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Starting parse\n"); +#endif    yystate = 0;    yyerrstatus = 0; @@ -2467,96 +1955,110 @@ yyparse ()       so that they stay on the same level as the state stack.       The wasted elements are never initialized.  */ -  yyssp = yyss; +  yyssp = yyss - 1;    yyvsp = yyvs; +#ifdef YYLSP_NEEDED +  yylsp = yyls; +#endif -  goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate.  | -`------------------------------------------------------------*/ - yynewstate: -  /* In all cases, when you get here, the value and location stacks -     have just been pushed. so pushing a state here evens the stacks. -     */ -  yyssp++; +/* Push a new state, which is found in  yystate  .  */ +/* In all cases, when you get here, the value and location stacks +   have just been pushed. so pushing a state here evens the stacks.  */ +yynewstate: - yysetstate: -  *yyssp = yystate; +  *++yyssp = yystate; -  if (yyss + yystacksize - 1 <= yyssp) +  if (yyssp >= yyss + yystacksize - 1)      { +      /* Give user a chance to reallocate the stack */ +      /* Use copies of these so that the &'s don't force the real ones into memory. */ +      YYSTYPE *yyvs1 = yyvs; +      short *yyss1 = yyss; +#ifdef YYLSP_NEEDED +      YYLTYPE *yyls1 = yyls; +#endif +        /* Get the current used size of the three stacks, in elements.  */ -      YYSIZE_T yysize = yyssp - yyss + 1; +      int size = yyssp - yyss + 1;  #ifdef yyoverflow -      { -	/* Give user a chance to reallocate the stack. Use copies of -	   these so that the &'s don't force the real ones into -	   memory.  */ -	YYSTYPE *yyvs1 = yyvs; -	short *yyss1 = yyss; - - -	/* Each stack pointer address is followed by the size of the -	   data in use in that stack, in bytes.  This used to be a -	   conditional around just the two extra args, but that might -	   be undefined if yyoverflow is a macro.  */ -	yyoverflow ("parser stack overflow", -		    &yyss1, yysize * sizeof (*yyssp), -		    &yyvs1, yysize * sizeof (*yyvsp), - -		    &yystacksize); - -	yyss = yyss1; -	yyvs = yyvs1; -      } +      /* Each stack pointer address is followed by the size of +	 the data in use in that stack, in bytes.  */ +#ifdef YYLSP_NEEDED +      /* This used to be a conditional around just the two extra args, +	 but that might be undefined if yyoverflow is a macro.  */ +      yyoverflow("parser stack overflow", +		 &yyss1, size * sizeof (*yyssp), +		 &yyvs1, size * sizeof (*yyvsp), +		 &yyls1, size * sizeof (*yylsp), +		 &yystacksize); +#else +      yyoverflow("parser stack overflow", +		 &yyss1, size * sizeof (*yyssp), +		 &yyvs1, size * sizeof (*yyvsp), +		 &yystacksize); +#endif + +      yyss = yyss1; yyvs = yyvs1; +#ifdef YYLSP_NEEDED +      yyls = yyls1; +#endif  #else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE -      goto yyoverflowlab; -# else        /* Extend the stack our own way.  */ -      if (YYMAXDEPTH <= yystacksize) -	goto yyoverflowlab; +      if (yystacksize >= YYMAXDEPTH) +	{ +	  yyerror("parser stack overflow"); +	  if (yyfree_stacks) +	    { +	      free (yyss); +	      free (yyvs); +#ifdef YYLSP_NEEDED +	      free (yyls); +#endif +	    } +	  return 2; +	}        yystacksize *= 2; -      if (YYMAXDEPTH < yystacksize) +      if (yystacksize > YYMAXDEPTH)  	yystacksize = YYMAXDEPTH; - -      { -	short *yyss1 = yyss; -	union yyalloc *yyptr = -	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); -	if (! yyptr) -	  goto yyoverflowlab; -	YYSTACK_RELOCATE (yyss); -	YYSTACK_RELOCATE (yyvs); - -#  undef YYSTACK_RELOCATE -	if (yyss1 != yyssa) -	  YYSTACK_FREE (yyss1); -      } -# endif +#ifndef YYSTACK_USE_ALLOCA +      yyfree_stacks = 1; +#endif +      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); +      __yy_memcpy ((char *)yyss, (char *)yyss1, +		   size * (unsigned int) sizeof (*yyssp)); +      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); +      __yy_memcpy ((char *)yyvs, (char *)yyvs1, +		   size * (unsigned int) sizeof (*yyvsp)); +#ifdef YYLSP_NEEDED +      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); +      __yy_memcpy ((char *)yyls, (char *)yyls1, +		   size * (unsigned int) sizeof (*yylsp)); +#endif  #endif /* no yyoverflow */ -      yyssp = yyss + yysize - 1; -      yyvsp = yyvs + yysize - 1; - +      yyssp = yyss + size - 1; +      yyvsp = yyvs + size - 1; +#ifdef YYLSP_NEEDED +      yylsp = yyls + size - 1; +#endif -      YYDPRINTF ((stderr, "Stack size increased to %lu\n", -		  (unsigned long int) yystacksize)); +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Stack size increased to %d\n", yystacksize); +#endif -      if (yyss + yystacksize - 1 <= yyssp) +      if (yyssp >= yyss + yystacksize - 1)  	YYABORT;      } -  YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Entering state %d\n", yystate); +#endif    goto yybackup; - -/*-----------. -| yybackup.  | -`-----------*/ -yybackup: + yybackup:  /* Do appropriate processing given the current state.  */  /* Read a lookahead token if we need one and don't already have one.  */ @@ -2565,311 +2067,315 @@ yybackup:    /* First try to decide what to do without reference to lookahead token.  */    yyn = yypact[yystate]; -  if (yyn == YYPACT_NINF) +  if (yyn == YYFLAG)      goto yydefault;    /* Not known => get a lookahead token if don't already have one.  */ -  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */ +  /* yychar is either YYEMPTY or YYEOF +     or a valid token in external form.  */ +    if (yychar == YYEMPTY)      { -      YYDPRINTF ((stderr, "Reading a token: ")); +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Reading a token: "); +#endif        yychar = YYLEX;      } -  if (yychar <= YYEOF) +  /* Convert token to internal form (in yychar1) for indexing tables with */ + +  if (yychar <= 0)		/* This means end of input. */      { -      yychar = yytoken = YYEOF; -      YYDPRINTF ((stderr, "Now at end of input.\n")); +      yychar1 = 0; +      yychar = YYEOF;		/* Don't call YYLEX any more */ + +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Now at end of input.\n"); +#endif      }    else      { -      yytoken = YYTRANSLATE (yychar); -      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); +      yychar1 = YYTRANSLATE(yychar); + +#if YYDEBUG != 0 +      if (yydebug) +	{ +	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); +	  /* Give the individual parser a way to print the precise meaning +	     of a token, for further debugging info.  */ +#ifdef YYPRINT +	  YYPRINT (stderr, yychar, yylval); +#endif +	  fprintf (stderr, ")\n"); +	} +#endif      } -  /* If the proper action on seeing token YYTOKEN is to reduce or to -     detect an error, take that action.  */ -  yyn += yytoken; -  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) +  yyn += yychar1; +  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)      goto yydefault; +    yyn = yytable[yyn]; -  if (yyn <= 0) + +  /* yyn is what to do for this token type in this state. +     Negative => reduce, -yyn is rule number. +     Positive => shift, yyn is new state. +       New state is final state => don't bother to shift, +       just return success. +     0, or most negative number => error.  */ + +  if (yyn < 0)      { -      if (yyn == 0 || yyn == YYTABLE_NINF) +      if (yyn == YYFLAG)  	goto yyerrlab;        yyn = -yyn;        goto yyreduce;      } +  else if (yyn == 0) +    goto yyerrlab;    if (yyn == YYFINAL)      YYACCEPT;    /* Shift the lookahead token.  */ -  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); + +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); +#endif    /* Discard the token being shifted unless it is eof.  */    if (yychar != YYEOF)      yychar = YYEMPTY;    *++yyvsp = yylval; +#ifdef YYLSP_NEEDED +  *++yylsp = yylloc; +#endif - -  /* Count tokens shifted since error; after three, turn off error -     status.  */ -  if (yyerrstatus) -    yyerrstatus--; +  /* count tokens shifted since error; after three, turn off error status.  */ +  if (yyerrstatus) yyerrstatus--;    yystate = yyn;    goto yynewstate; - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state.  | -`-----------------------------------------------------------*/ +/* Do the default action for the current state.  */  yydefault: +    yyn = yydefact[yystate];    if (yyn == 0)      goto yyerrlab; -  goto yyreduce; - -/*-----------------------------. -| yyreduce -- Do a reduction.  | -`-----------------------------*/ +/* Do a reduction.  yyn is the number of a rule to reduce with.  */  yyreduce: -  /* yyn is the number of a rule to reduce with.  */    yylen = yyr2[yyn]; +  if (yylen > 0) +    yyval = yyvsp[1-yylen]; /* implement default value of the action */ + +#if YYDEBUG != 0 +  if (yydebug) +    { +      int i; -  /* If YYLEN is nonzero, implement the default value of the action: -     `$$ = $1'. +      fprintf (stderr, "Reducing via rule %d (line %d), ", +	       yyn, yyrline[yyn]); -     Otherwise, the following line sets YYVAL to garbage. -     This behavior is undocumented and Bison -     users should not rely upon it.  Assigning to YYVAL -     unconditionally makes the parser a bit smaller, and it avoids a -     GCC warning that YYVAL may be used uninitialized.  */ -  yyval = yyvsp[1-yylen]; +      /* Print the symbols being reduced, and their result.  */ +      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) +	fprintf (stderr, "%s ", yytname[yyrhs[i]]); +      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); +    } +#endif -  YY_REDUCE_PRINT (yyn); -  switch (yyn) -    { -        case 3: -#line 997 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  switch (yyn) { + +case 2: +#line 998 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX)     // Outside of my range!      ThrowException("Value too large for type!");    yyval.SIntVal = (int32_t)yyvsp[0].UIntVal; -;} -    break; - -  case 5: -#line 1005 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 4: +#line 1006 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX)     // Outside of my range!      ThrowException("Value too large for type!");    yyval.SInt64Val = (int64_t)yyvsp[0].UInt64Val; -;} -    break; - -  case 34: -#line 1028 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 33: +#line 1029 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.StrVal = yyvsp[-1].StrVal; -  ;} -    break; - -  case 35: -#line 1031 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 34: +#line 1032 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.StrVal = 0; -  ;} -    break; - -  case 36: -#line 1035 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::InternalLinkage; ;} -    break; - -  case 37: -#line 1036 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;} -    break; - -  case 38: -#line 1037 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::WeakLinkage; ;} -    break; - -  case 39: -#line 1038 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::AppendingLinkage; ;} -    break; - -  case 40: -#line 1039 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::ExternalLinkage; ;} -    break; - -  case 41: -#line 1041 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::C; ;} -    break; - -  case 42: -#line 1042 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::C; ;} -    break; - -  case 43: -#line 1043 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::Fast; ;} -    break; - -  case 44: -#line 1044 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::Cold; ;} -    break; - -  case 45: -#line 1045 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 35: +#line 1036 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::InternalLinkage; ; +    break;} +case 36: +#line 1037 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::LinkOnceLinkage; ; +    break;} +case 37: +#line 1038 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::WeakLinkage; ; +    break;} +case 38: +#line 1039 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::AppendingLinkage; ; +    break;} +case 39: +#line 1040 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::ExternalLinkage; ; +    break;} +case 40: +#line 1042 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::C; ; +    break;} +case 41: +#line 1043 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::C; ; +    break;} +case 42: +#line 1044 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::Fast; ; +    break;} +case 43: +#line 1045 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::Cold; ; +    break;} +case 44: +#line 1046 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                     if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)                       ThrowException("Calling conv too large!");                     yyval.UIntVal = yyvsp[0].UInt64Val; -                 ;} -    break; - -  case 46: -#line 1053 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = 0; ;} -    break; - -  case 47: -#line 1054 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +                 ; +    break;} +case 45: +#line 1054 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = 0; ; +    break;} +case 46: +#line 1055 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    yyval.UIntVal = yyvsp[0].UInt64Val;    if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))      ThrowException("Alignment must be a power of two!"); -;} -    break; - -  case 48: -#line 1059 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = 0; ;} -    break; - -  case 49: -#line 1060 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 47: +#line 1060 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = 0; ; +    break;} +case 48: +#line 1061 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    yyval.UIntVal = yyvsp[0].UInt64Val;    if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))      ThrowException("Alignment must be a power of two!"); -;} -    break; - -  case 50: -#line 1067 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 49: +#line 1068 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    for (unsigned i = 0, e = strlen(yyvsp[0].StrVal); i != e; ++i)      if (yyvsp[0].StrVal[i] == '"' || yyvsp[0].StrVal[i] == '\\')        ThrowException("Invalid character in section name!");    yyval.StrVal = yyvsp[0].StrVal; -;} -    break; - -  case 51: -#line 1074 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.StrVal = 0; ;} -    break; - -  case 52: -#line 1075 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.StrVal = yyvsp[0].StrVal; ;} -    break; - -  case 53: -#line 1080 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {;} -    break; - -  case 54: -#line 1081 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {;} -    break; - -  case 55: -#line 1082 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 50: +#line 1075 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = 0; ; +    break;} +case 51: +#line 1076 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = yyvsp[0].StrVal; ; +    break;} +case 52: +#line 1081 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{; +    break;} +case 53: +#line 1082 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{; +    break;} +case 54: +#line 1083 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      CurGV->setSection(yyvsp[0].StrVal);      free(yyvsp[0].StrVal); -  ;} -    break; - -  case 56: -#line 1086 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 55: +#line 1087 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].UInt64Val != 0 && !isPowerOf2_32(yyvsp[0].UInt64Val))        ThrowException("Alignment must be a power of two!");      CurGV->setAlignment(yyvsp[0].UInt64Val); -  ;} -    break; - -  case 58: -#line 1099 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;} -    break; - -  case 60: -#line 1100 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;} -    break; - -  case 61: -#line 1102 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 57: +#line 1100 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +    break;} +case 59: +#line 1101 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +    break;} +case 60: +#line 1103 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!UpRefs.empty())        ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());      yyval.TypeVal = yyvsp[0].TypeVal; -  ;} -    break; - -  case 75: -#line 1113 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 74: +#line 1114 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeVal = new PATypeHolder(OpaqueType::get()); -  ;} -    break; - -  case 76: -#line 1116 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 75: +#line 1117 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); -  ;} -    break; - -  case 77: -#line 1119 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {            // Named types are also simple types... +  ; +    break;} +case 76: +#line 1120 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{            // Named types are also simple types...    yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal)); -;} -    break; - -  case 78: -#line 1125 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                   // Type UpReference +; +    break;} +case 77: +#line 1126 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                   // Type UpReference      if (yyvsp[0].UInt64Val > (uint64_t)~0U) ThrowException("Value out of range!");      OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder      UpRefs.push_back(UpRefRecord((unsigned)yyvsp[0].UInt64Val, OT));  // Add to vector...      yyval.TypeVal = new PATypeHolder(OT);      UR_OUT("New Upreference!\n"); -  ;} -    break; - -  case 79: -#line 1132 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {           // Function derived type? +  ; +    break;} +case 78: +#line 1133 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{           // Function derived type?      std::vector<const Type*> Params;      for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),             E = yyvsp[-1].TypeList->end(); I != E; ++I) @@ -2880,20 +2386,18 @@ yyreduce:      yyval.TypeVal = new PATypeHolder(HandleUpRefs(FunctionType::get(*yyvsp[-3].TypeVal,Params,isVarArg)));      delete yyvsp[-1].TypeList;      // Delete the argument list      delete yyvsp[-3].TypeVal;      // Delete the return type handle -  ;} -    break; - -  case 80: -#line 1144 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {          // Sized array type? +  ; +    break;} +case 79: +#line 1145 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{          // Sized array type?      yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 81: -#line 1148 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {          // Packed array type? +  ; +    break;} +case 80: +#line 1149 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{          // Packed array type?       const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();       if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val)          ThrowException("Unsigned result not equal to signed result"); @@ -2903,12 +2407,11 @@ yyreduce:         ThrowException("Vector length should be a power of 2!");       yyval.TypeVal = new PATypeHolder(HandleUpRefs(PackedType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));       delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 82: -#line 1159 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                        // Structure type? +  ; +    break;} +case 81: +#line 1160 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                        // Structure type?      std::vector<const Type*> Elements;      for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),             E = yyvsp[-1].TypeList->end(); I != E; ++I) @@ -2916,63 +2419,55 @@ yyreduce:      yyval.TypeVal = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));      delete yyvsp[-1].TypeList; -  ;} -    break; - -  case 83: -#line 1168 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                                  // Empty structure type? +  ; +    break;} +case 82: +#line 1169 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                                  // Empty structure type?      yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>())); -  ;} -    break; - -  case 84: -#line 1171 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                             // Pointer type? +  ; +    break;} +case 83: +#line 1172 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                             // Pointer type?      yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 85: -#line 1179 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 84: +#line 1180 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeList = new std::list<PATypeHolder>();      yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 86: -#line 1183 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 85: +#line 1184 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 88: -#line 1189 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 87: +#line 1190 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy); -  ;} -    break; - -  case 89: -#line 1192 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 88: +#line 1193 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy); -  ;} -    break; - -  case 90: -#line 1195 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 89: +#line 1196 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeList = new std::list<PATypeHolder>(); -  ;} -    break; - -  case 91: -#line 1205 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized arr +  ; +    break;} +case 90: +#line 1206 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ // Nonempty unsized arr      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -2996,12 +2491,11 @@ yyreduce:      yyval.ConstVal = ConstantArray::get(ATy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 92: -#line 1230 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 91: +#line 1231 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -3013,12 +2507,11 @@ yyreduce:                       " arguments, but has size of " + itostr(NumElements) +"!");      yyval.ConstVal = ConstantArray::get(ATy, std::vector<Constant*>());      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 93: -#line 1243 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 92: +#line 1244 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -3045,12 +2538,11 @@ yyreduce:      free(yyvsp[0].StrVal);      yyval.ConstVal = ConstantArray::get(ATy, Vals);      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 94: -#line 1271 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized arr +  ; +    break;} +case 93: +#line 1272 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ // Nonempty unsized arr      const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());      if (PTy == 0)        ThrowException("Cannot make packed constant with type: '" +  @@ -3074,12 +2566,11 @@ yyreduce:      yyval.ConstVal = ConstantPacked::get(PTy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 95: -#line 1296 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 94: +#line 1297 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());      if (STy == 0)        ThrowException("Cannot make struct constant with type: '" +  @@ -3098,12 +2589,11 @@ yyreduce:      yyval.ConstVal = ConstantStruct::get(STy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 96: -#line 1316 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 95: +#line 1317 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());      if (STy == 0)        ThrowException("Cannot make struct constant with type: '" +  @@ -3114,12 +2604,11 @@ yyreduce:      yyval.ConstVal = ConstantStruct::get(STy, std::vector<Constant*>());      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 97: -#line 1328 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 96: +#line 1329 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());      if (PTy == 0)        ThrowException("Cannot make null pointer constant with type: '" +  @@ -3127,20 +2616,18 @@ yyreduce:      yyval.ConstVal = ConstantPointerNull::get(PTy);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 98: -#line 1337 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 97: +#line 1338 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 99: -#line 1341 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 98: +#line 1342 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());      if (Ty == 0)        ThrowException("Global const reference must be a pointer type!"); @@ -3198,74 +2685,66 @@ yyreduce:      yyval.ConstVal = cast<GlobalValue>(V);      delete yyvsp[-1].TypeVal;            // Free the type handle -  ;} -    break; - -  case 100: -#line 1400 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 99: +#line 1401 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())        ThrowException("Mismatched types for constant expression!");      yyval.ConstVal = yyvsp[0].ConstVal;      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 101: -#line 1406 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 100: +#line 1407 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const Type *Ty = yyvsp[-1].TypeVal->get();      if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))        ThrowException("Cannot create a null initialized value of this type!");      yyval.ConstVal = Constant::getNullValue(Ty);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 102: -#line 1414 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {      // integral constants +  ; +    break;} +case 101: +#line 1415 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      // integral constants      if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))        ThrowException("Constant value doesn't fit in type!");      yyval.ConstVal = ConstantSInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val); -  ;} -    break; - -  case 103: -#line 1419 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {            // integral constants +  ; +    break;} +case 102: +#line 1420 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{            // integral constants      if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))        ThrowException("Constant value doesn't fit in type!");      yyval.ConstVal = ConstantUInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val); -  ;} -    break; - -  case 104: -#line 1424 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                      // Boolean constants +  ; +    break;} +case 103: +#line 1425 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                      // Boolean constants      yyval.ConstVal = ConstantBool::True; -  ;} -    break; - -  case 105: -#line 1427 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                     // Boolean constants +  ; +    break;} +case 104: +#line 1428 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                     // Boolean constants      yyval.ConstVal = ConstantBool::False; -  ;} -    break; - -  case 106: -#line 1430 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                   // Float & Double constants +  ; +    break;} +case 105: +#line 1431 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                   // Float & Double constants      if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))        ThrowException("Floating point constant invalid for type!!");      yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal); -  ;} -    break; - -  case 107: -#line 1437 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 106: +#line 1438 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())        ThrowException("cast constant expression from a non-primitive type: '" +                       yyvsp[-3].ConstVal->getType()->getDescription() + "'!"); @@ -3274,12 +2753,11 @@ yyreduce:                       yyvsp[-1].TypeVal->get()->getDescription() + "'!");      yyval.ConstVal = ConstantExpr::getCast(yyvsp[-3].ConstVal, yyvsp[-1].TypeVal->get());      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 108: -#line 1447 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 107: +#line 1448 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))        ThrowException("GetElementPtr requires a pointer operand!"); @@ -3309,23 +2787,21 @@ yyreduce:      delete yyvsp[-1].ValueList;      yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec); -  ;} -    break; - -  case 109: -#line 1478 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 108: +#line 1479 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)        ThrowException("Select condition must be of boolean type!");      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("Select operand types must match!");      yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 110: -#line 1485 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 109: +#line 1486 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("Binary operator types must match!");      // HACK: llvm 1.3 and earlier used to emit invalid pointer constant exprs. @@ -3345,12 +2821,11 @@ yyreduce:                               ConstantExpr::getCast(yyvsp[-1].ConstVal, IntPtrTy));        yyval.ConstVal = ConstantExpr::getCast(yyval.ConstVal, yyvsp[-3].ConstVal->getType());      } -  ;} -    break; - -  case 111: -#line 1506 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 110: +#line 1507 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("Logical operator types must match!");      if (!yyvsp[-3].ConstVal->getType()->isIntegral()) { @@ -3359,99 +2834,87 @@ yyreduce:          ThrowException("Logical operator requires integral operands!");      }      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 112: -#line 1516 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 111: +#line 1517 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("setcc operand types must match!");      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 113: -#line 1521 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 112: +#line 1522 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-1].ConstVal->getType() != Type::UByteTy)        ThrowException("Shift count for shift constant must be unsigned byte!");      if (!yyvsp[-3].ConstVal->getType()->isInteger())        ThrowException("Shift constant expression requires integer operand!");      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 114: -#line 1528 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 113: +#line 1529 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{          if (!isa<PackedType>(yyvsp[-3].ConstVal->getType()))        ThrowException("First operand of extractelement must be "                       "packed type!");      if (yyvsp[-1].ConstVal->getType() != Type::UIntTy)        ThrowException("Second operand of extractelement must be uint!");      yyval.ConstVal = ConstantExpr::getExtractElement(yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 115: -#line 1538 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 114: +#line 1539 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal); -  ;} -    break; - -  case 116: -#line 1541 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 115: +#line 1542 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ConstVector = new std::vector<Constant*>();      yyval.ConstVector->push_back(yyvsp[0].ConstVal); -  ;} -    break; - -  case 117: -#line 1548 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.BoolVal = false; ;} -    break; - -  case 118: -#line 1548 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.BoolVal = true; ;} -    break; - -  case 119: -#line 1558 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 116: +#line 1549 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.BoolVal = false; ; +    break;} +case 117: +#line 1549 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.BoolVal = true; ; +    break;} +case 118: +#line 1559 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;    CurModule.ModuleDone(); -;} -    break; - -  case 120: -#line 1565 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 119: +#line 1566 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal;      CurFun.FunctionDone(); -  ;} -    break; - -  case 121: -#line 1569 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 120: +#line 1570 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal; -  ;} -    break; - -  case 122: -#line 1572 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 121: +#line 1573 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal; -  ;} -    break; - -  case 123: -#line 1575 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 122: +#line 1576 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = CurModule.CurrentModule;      // Emit an error if there are any unresolved types left.      if (!CurModule.LateResolveTypes.empty()) { @@ -3461,12 +2924,11 @@ yyreduce:        else          ThrowException("Reference to an undefined type: #" + itostr(DID.Num));      } -  ;} -    break; - -  case 124: -#line 1588 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 123: +#line 1589 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      // Eagerly resolve types.  This is not an optimization, this is a      // requirement that is due to the fact that we could have this:      // @@ -3485,189 +2947,164 @@ yyreduce:      }      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 125: -#line 1608 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {       // Function prototypes can be in const pool -  ;} -    break; - -  case 126: -#line 1610 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 124: +#line 1609 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{       // Function prototypes can be in const pool +  ; +    break;} +case 125: +#line 1611 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");      CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal); -                                                       ;} -    break; - -  case 127: -#line 1613 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +                                                       ; +    break;} +case 126: +#line 1614 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      CurGV = 0; -  ;} -    break; - -  case 128: -#line 1616 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 127: +#line 1617 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage,                                               yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);      delete yyvsp[0].TypeVal; -                                                   ;} -    break; - -  case 129: -#line 1620 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +                                                   ; +    break;} +case 128: +#line 1621 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      CurGV = 0; -  ;} -    break; - -  case 130: -#line 1623 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {  -  ;} -    break; - -  case 131: -#line 1625 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { -  ;} -    break; - -  case 132: -#line 1627 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {  -  ;} -    break; - -  case 133: -#line 1632 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.Endianness = Module::BigEndian; ;} -    break; - -  case 134: -#line 1633 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.Endianness = Module::LittleEndian; ;} -    break; - -  case 135: -#line 1635 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 129: +#line 1624 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{  +  ; +    break;} +case 130: +#line 1626 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ +  ; +    break;} +case 131: +#line 1628 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{  +  ; +    break;} +case 132: +#line 1633 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.Endianness = Module::BigEndian; ; +    break;} +case 133: +#line 1634 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.Endianness = Module::LittleEndian; ; +    break;} +case 134: +#line 1636 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness); -  ;} -    break; - -  case 136: -#line 1638 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 135: +#line 1639 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].UInt64Val == 32)        CurModule.CurrentModule->setPointerSize(Module::Pointer32);      else if (yyvsp[0].UInt64Val == 64)        CurModule.CurrentModule->setPointerSize(Module::Pointer64);      else        ThrowException("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!"); -  ;} -    break; - -  case 137: -#line 1646 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 136: +#line 1647 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);      free(yyvsp[0].StrVal); -  ;} -    break; - -  case 139: -#line 1653 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 138: +#line 1654 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{            CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);            free(yyvsp[0].StrVal); -        ;} -    break; - -  case 140: -#line 1657 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +        ; +    break;} +case 139: +#line 1658 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{            CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);            free(yyvsp[0].StrVal); -        ;} -    break; - -  case 141: -#line 1661 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { -        ;} -    break; - -  case 145: -#line 1670 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.StrVal = 0; ;} -    break; - -  case 146: -#line 1672 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +        ; +    break;} +case 140: +#line 1662 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ +        ; +    break;} +case 144: +#line 1671 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = 0; ; +    break;} +case 145: +#line 1673 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    if (*yyvsp[-1].TypeVal == Type::VoidTy)      ThrowException("void typed arguments are invalid!");    yyval.ArgVal = new std::pair<PATypeHolder*, char*>(yyvsp[-1].TypeVal, yyvsp[0].StrVal); -;} -    break; - -  case 147: -#line 1678 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 146: +#line 1679 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[-2].ArgList;      yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal);      delete yyvsp[0].ArgVal; -  ;} -    break; - -  case 148: -#line 1683 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 147: +#line 1684 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();      yyval.ArgList->push_back(*yyvsp[0].ArgVal);      delete yyvsp[0].ArgVal; -  ;} -    break; - -  case 149: -#line 1689 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 148: +#line 1690 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[0].ArgList; -  ;} -    break; - -  case 150: -#line 1692 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 149: +#line 1693 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[-2].ArgList;      yyval.ArgList->push_back(std::pair<PATypeHolder*,                              char*>(new PATypeHolder(Type::VoidTy), 0)); -  ;} -    break; - -  case 151: -#line 1697 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 150: +#line 1698 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();      yyval.ArgList->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); -  ;} -    break; - -  case 152: -#line 1701 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 151: +#line 1702 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = 0; -  ;} -    break; - -  case 153: -#line 1706 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 152: +#line 1707 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    UnEscapeLexed(yyvsp[-5].StrVal);    std::string FunctionName(yyvsp[-5].StrVal);    free(yyvsp[-5].StrVal);  // Free strdup'd memory! @@ -3750,99 +3187,86 @@ yyreduce:      delete yyvsp[-3].ArgList;                     // We're now done with the argument list    } -;} -    break; - -  case 156: -#line 1793 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 155: +#line 1794 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = CurFun.CurrentFunction;    // Make sure that we keep track of the linkage type even if there was a    // previous "declare".    yyval.FunctionVal->setLinkage(yyvsp[-2].Linkage); -;} -    break; - -  case 159: -#line 1803 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 158: +#line 1804 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = yyvsp[-1].FunctionVal; -;} -    break; - -  case 160: -#line 1807 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { CurFun.isDeclare = true; ;} -    break; - -  case 161: -#line 1807 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 159: +#line 1808 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ CurFun.isDeclare = true; ; +    break;} +case 160: +#line 1808 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = CurFun.CurrentFunction;    CurFun.FunctionDone(); -;} -    break; - -  case 162: -#line 1816 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {    // A reference to a direct constant +; +    break;} +case 161: +#line 1817 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    // A reference to a direct constant      yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val); -  ;} -    break; - -  case 163: -#line 1819 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 162: +#line 1820 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val); -  ;} -    break; - -  case 164: -#line 1822 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                     // Perhaps it's an FP constant? +  ; +    break;} +case 163: +#line 1823 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                     // Perhaps it's an FP constant?      yyval.ValIDVal = ValID::create(yyvsp[0].FPVal); -  ;} -    break; - -  case 165: -#line 1825 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 164: +#line 1826 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(ConstantBool::True); -  ;} -    break; - -  case 166: -#line 1828 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 165: +#line 1829 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(ConstantBool::False); -  ;} -    break; - -  case 167: -#line 1831 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 166: +#line 1832 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::createNull(); -  ;} -    break; - -  case 168: -#line 1834 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 167: +#line 1835 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::createUndef(); -  ;} -    break; - -  case 169: -#line 1837 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {     // A vector zero constant. +  ; +    break;} +case 168: +#line 1838 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{     // A vector zero constant.      yyval.ValIDVal = ValID::createZeroInit(); -  ;} -    break; - -  case 170: -#line 1840 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized packed vector +  ; +    break;} +case 169: +#line 1841 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ // Nonempty unsized packed vector      const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();      int NumElements = yyvsp[-1].ConstVector->size();  @@ -3865,74 +3289,65 @@ yyreduce:      yyval.ValIDVal = ValID::create(ConstantPacked::get(pt, *yyvsp[-1].ConstVector));      delete PTy; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 171: -#line 1864 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 170: +#line 1865 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal); -  ;} -    break; - -  case 172: -#line 1871 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {  // Is it an integer reference...? +  ; +    break;} +case 171: +#line 1872 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{  // Is it an integer reference...?      yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal); -  ;} -    break; - -  case 173: -#line 1874 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                   // Is it a named reference...? +  ; +    break;} +case 172: +#line 1875 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                   // Is it a named reference...?      yyval.ValIDVal = ValID::create(yyvsp[0].StrVal); -  ;} -    break; - -  case 176: -#line 1885 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 175: +#line 1886 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 177: -#line 1889 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 176: +#line 1890 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.FunctionVal = yyvsp[-1].FunctionVal; -  ;} -    break; - -  case 178: -#line 1892 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { // Do not allow functions with 0 basic blocks    +  ; +    break;} +case 177: +#line 1893 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ // Do not allow functions with 0 basic blocks         yyval.FunctionVal = yyvsp[-1].FunctionVal; -  ;} -    break; - -  case 179: -#line 1900 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 178: +#line 1901 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);      InsertValue(yyvsp[0].TermInstVal);      yyvsp[-2].BasicBlockVal->getInstList().push_back(yyvsp[0].TermInstVal);      InsertValue(yyvsp[-2].BasicBlockVal);      yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal; -  ;} -    break; - -  case 180: -#line 1909 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 179: +#line 1910 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);      yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; -  ;} -    break; - -  case 181: -#line 1913 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 180: +#line 1914 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);      // Make sure to move the basic block to the correct location in the @@ -3941,12 +3356,11 @@ yyreduce:      Function::BasicBlockListType &BBL =         CurFun.CurrentFunction->getBasicBlockList();      BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); -  ;} -    break; - -  case 182: -#line 1923 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 181: +#line 1924 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);      // Make sure to move the basic block to the correct location in the @@ -3955,40 +3369,35 @@ yyreduce:      Function::BasicBlockListType &BBL =         CurFun.CurrentFunction->getBasicBlockList();      BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); -  ;} -    break; - -  case 183: -#line 1934 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {              // Return with a result... +  ; +    break;} +case 182: +#line 1935 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{              // Return with a result...      yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal); -  ;} -    break; - -  case 184: -#line 1937 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                                       // Return with no result... +  ; +    break;} +case 183: +#line 1938 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                                       // Return with no result...      yyval.TermInstVal = new ReturnInst(); -  ;} -    break; - -  case 185: -#line 1940 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {                         // Unconditional Branch... +  ; +    break;} +case 184: +#line 1941 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{                         // Unconditional Branch...      yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal)); -  ;} -    break; - -  case 186: -#line 1943 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {   +  ; +    break;} +case 185: +#line 1944 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{        yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal)); -  ;} -    break; - -  case 187: -#line 1946 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 186: +#line 1947 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size());      yyval.TermInstVal = S; @@ -4001,20 +3410,18 @@ yyreduce:          ThrowException("Switch case is constant, but not a simple integer!");      }      delete yyvsp[-1].JumpTable; -  ;} -    break; - -  case 188: -#line 1960 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 187: +#line 1961 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0);      yyval.TermInstVal = S; -  ;} -    break; - -  case 189: -#line 1965 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 188: +#line 1966 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PFTy;      const FunctionType *Ty; @@ -4065,38 +3472,34 @@ yyreduce:      delete yyvsp[-10].TypeVal;      delete yyvsp[-7].ValueList; -  ;} -    break; - -  case 190: -#line 2017 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 189: +#line 2018 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.TermInstVal = new UnwindInst(); -  ;} -    break; - -  case 191: -#line 2020 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 190: +#line 2021 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.TermInstVal = new UnreachableInst(); -  ;} -    break; - -  case 192: -#line 2026 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 191: +#line 2027 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.JumpTable = yyvsp[-5].JumpTable;      Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));      if (V == 0)        ThrowException("May only switch on a constant pool value!");      yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); -  ;} -    break; - -  case 193: -#line 2034 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 192: +#line 2035 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();      Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal)); @@ -4104,75 +3507,66 @@ yyreduce:        ThrowException("May only switch on a constant pool value!");      yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); -  ;} -    break; - -  case 194: -#line 2044 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 193: +#line 2045 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    // Is this definition named?? if so, assign the name...    setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);    InsertValue(yyvsp[0].InstVal);    yyval.InstVal = yyvsp[0].InstVal; -;} -    break; - -  case 195: -#line 2051 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {    // Used for PHI nodes +; +    break;} +case 194: +#line 2052 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    // Used for PHI nodes      yyval.PHIList = new std::list<std::pair<Value*, BasicBlock*> >();      yyval.PHIList->push_back(std::make_pair(getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal)));      delete yyvsp[-5].TypeVal; -  ;} -    break; - -  case 196: -#line 2056 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 195: +#line 2057 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.PHIList = yyvsp[-6].PHIList;      yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal),                                   getBBVal(yyvsp[-1].ValIDVal))); -  ;} -    break; - -  case 197: -#line 2063 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {    // Used for call statements, and memory insts... +  ; +    break;} +case 196: +#line 2064 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{    // Used for call statements, and memory insts...      yyval.ValueList = new std::vector<Value*>();      yyval.ValueList->push_back(yyvsp[0].ValueVal); -  ;} -    break; - -  case 198: -#line 2067 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 197: +#line 2068 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValueList = yyvsp[-2].ValueList;      yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal); -  ;} -    break; - -  case 200: -#line 2073 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { yyval.ValueList = 0; ;} -    break; - -  case 201: -#line 2075 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 199: +#line 2074 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ yyval.ValueList = 0; ; +    break;} +case 200: +#line 2076 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = true; -  ;} -    break; - -  case 202: -#line 2078 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 201: +#line 2079 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = false; -  ;} -    break; - -  case 203: -#line 2084 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 202: +#line 2085 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() &&           !isa<PackedType>((*yyvsp[-3].TypeVal).get()))        ThrowException( @@ -4183,12 +3577,11 @@ yyreduce:      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 204: -#line 2096 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 203: +#line 2097 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!(*yyvsp[-3].TypeVal)->isIntegral()) {        if (!isa<PackedType>(yyvsp[-3].TypeVal->get()) ||            !cast<PackedType>(yyvsp[-3].TypeVal->get())->getElementType()->isIntegral()) @@ -4198,12 +3591,11 @@ yyreduce:      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 205: -#line 2107 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 204: +#line 2108 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {        ThrowException(          "PackedTypes currently not supported in setcc instructions!"); @@ -4212,12 +3604,11 @@ yyreduce:      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 206: -#line 2117 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 205: +#line 2118 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      std::cerr << "WARNING: Use of eliminated 'not' instruction:"                << " Replacing with 'xor'.\n"; @@ -4228,54 +3619,49 @@ yyreduce:      yyval.InstVal = BinaryOperator::create(Instruction::Xor, yyvsp[0].ValueVal, Ones);      if (yyval.InstVal == 0)        ThrowException("Could not create a xor instruction!"); -  ;} -    break; - -  case 207: -#line 2129 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 206: +#line 2130 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].ValueVal->getType() != Type::UByteTy)        ThrowException("Shift amount must be ubyte!");      if (!yyvsp[-2].ValueVal->getType()->isInteger())        ThrowException("Shift constant expression requires integer operand!");      yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); -  ;} -    break; - -  case 208: -#line 2136 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 207: +#line 2137 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!yyvsp[0].TypeVal->get()->isFirstClassType())        ThrowException("cast instruction to a non-primitive type: '" +                       yyvsp[0].TypeVal->get()->getDescription() + "'!");      yyval.InstVal = new CastInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 209: -#line 2143 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 208: +#line 2144 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)        ThrowException("select condition must be boolean!");      if (yyvsp[-2].ValueVal->getType() != yyvsp[0].ValueVal->getType())        ThrowException("select value types should match!");      yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); -  ;} -    break; - -  case 210: -#line 2150 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 209: +#line 2151 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      NewVarArgs = true;      yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 211: -#line 2155 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 210: +#line 2156 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      ObsoleteVarArgs = true;      const Type* ArgTy = yyvsp[-2].ValueVal->getType();      Function* NF = CurModule.CurrentModule-> @@ -4293,12 +3679,11 @@ yyreduce:      CurBB->getInstList().push_back(new StoreInst(bar, foo));      yyval.InstVal = new VAArgInst(foo, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 212: -#line 2174 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 211: +#line 2175 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      ObsoleteVarArgs = true;      const Type* ArgTy = yyvsp[-2].ValueVal->getType();      Function* NF = CurModule.CurrentModule-> @@ -4319,24 +3704,37 @@ yyreduce:      CurBB->getInstList().push_back(tmp);      yyval.InstVal = new LoadInst(foo);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 213: -#line 2196 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 212: +#line 2197 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PackedType>(yyvsp[-2].ValueVal->getType())) -      ThrowException("First operand of extractelement must be a " -                     "packed type val!"); +      ThrowException("First operand of extractelement must be " +                     "packed type!");      if (yyvsp[0].ValueVal->getType() != Type::UIntTy) -      ThrowException("Second operand of extractelement must be a uint!"); +      ThrowException("Second operand of extractelement must be uint!");      yyval.InstVal = new ExtractElementInst(yyvsp[-2].ValueVal, yyvsp[0].ValueVal); -  ;} -    break; - -  case 214: -#line 2204 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 213: +#line 2205 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{ +    if (!isa<PackedType>(yyvsp[-4].ValueVal->getType())) +      ThrowException("First operand of insertelement must be " +                     "packed type!"); +    if (yyvsp[-2].ValueVal->getType() !=  +        cast<PackedType>(yyvsp[-4].ValueVal->getType())->getElementType()) +      ThrowException("Second operand of insertelement must be " +                     "packed element type!"); +    if (yyvsp[0].ValueVal->getType() != Type::UIntTy) +      ThrowException("Third operand of insertelement must be uint!"); +    yyval.InstVal = new InsertElementInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); +  ; +    break;} +case 214: +#line 2217 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const Type *Ty = yyvsp[0].PHIList->front().first->getType();      if (!Ty->isFirstClassType())        ThrowException("PHI node operands must be of first class type!"); @@ -4349,12 +3747,11 @@ yyreduce:        yyvsp[0].PHIList->pop_front();      }      delete yyvsp[0].PHIList;  // Free the list... -  ;} -    break; - -  case 215: -#line 2218 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 215: +#line 2231 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PFTy;      const FunctionType *Ty; @@ -4410,89 +3807,78 @@ yyreduce:      cast<CallInst>(yyval.InstVal)->setCallingConv(yyvsp[-5].UIntVal);      delete yyvsp[-4].TypeVal;      delete yyvsp[-1].ValueList; -  ;} -    break; - -  case 216: -#line 2275 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 216: +#line 2288 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = yyvsp[0].InstVal; -  ;} -    break; - -  case 217: -#line 2281 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {  +  ; +    break;} +case 217: +#line 2294 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{       yyval.ValueList = yyvsp[0].ValueList;  -  ;} -    break; - -  case 218: -#line 2283 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    {  +  ; +    break;} +case 218: +#line 2296 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{       yyval.ValueList = new std::vector<Value*>();  -  ;} -    break; - -  case 219: -#line 2287 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 219: +#line 2300 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = true; -  ;} -    break; - -  case 220: -#line 2290 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 220: +#line 2303 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = false; -  ;} -    break; - -  case 221: -#line 2296 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 221: +#line 2309 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new MallocInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 222: -#line 2300 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 222: +#line 2313 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new MallocInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);      delete yyvsp[-4].TypeVal; -  ;} -    break; - -  case 223: -#line 2304 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 223: +#line 2317 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new AllocaInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 224: -#line 2308 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 224: +#line 2321 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new AllocaInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);      delete yyvsp[-4].TypeVal; -  ;} -    break; - -  case 225: -#line 2312 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 225: +#line 2325 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))        ThrowException("Trying to free nonpointer type " +                        yyvsp[0].ValueVal->getType()->getDescription() + "!");      yyval.InstVal = new FreeInst(yyvsp[0].ValueVal); -  ;} -    break; - -  case 226: -#line 2319 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 226: +#line 2332 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))        ThrowException("Can't load from nonpointer type: " +                       (*yyvsp[-1].TypeVal)->getDescription()); @@ -4501,12 +3887,11 @@ yyreduce:                       (*yyvsp[-1].TypeVal)->getDescription());      yyval.InstVal = new LoadInst(getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal), "", yyvsp[-3].BoolVal);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 227: -#line 2329 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 227: +#line 2342 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());      if (!PT)        ThrowException("Can't store to a nonpointer type: " + @@ -4518,12 +3903,11 @@ yyreduce:      yyval.InstVal = new StoreInst(yyvsp[-3].ValueVal, getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal), yyvsp[-5].BoolVal);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 228: -#line 2342 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 228: +#line 2355 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))        ThrowException("getelementptr insn requires pointer operand!"); @@ -4543,239 +3927,231 @@ yyreduce:                       (*yyvsp[-2].TypeVal)->getDescription()+ "'!");      yyval.InstVal = new GetElementPtrInst(getVal(*yyvsp[-2].TypeVal, yyvsp[-1].ValIDVal), *yyvsp[0].ValueList);      delete yyvsp[-2].TypeVal; delete yyvsp[0].ValueList; -  ;} -    break; - - -    } - -/* Line 1000 of yacc.c.  */ -#line 4554 "llvmAsmParser.tab.c" +  ; +    break;} +} +   /* the action file gets copied in in place of this dollarsign */ +#line 543 "/usr/share/bison.simple"    yyvsp -= yylen;    yyssp -= yylen; +#ifdef YYLSP_NEEDED +  yylsp -= yylen; +#endif - -  YY_STACK_PRINT (yyss, yyssp); +#if YYDEBUG != 0 +  if (yydebug) +    { +      short *ssp1 = yyss - 1; +      fprintf (stderr, "state stack now"); +      while (ssp1 != yyssp) +	fprintf (stderr, " %d", *++ssp1); +      fprintf (stderr, "\n"); +    } +#endif    *++yyvsp = yyval; +#ifdef YYLSP_NEEDED +  yylsp++; +  if (yylen == 0) +    { +      yylsp->first_line = yylloc.first_line; +      yylsp->first_column = yylloc.first_column; +      yylsp->last_line = (yylsp-1)->last_line; +      yylsp->last_column = (yylsp-1)->last_column; +      yylsp->text = 0; +    } +  else +    { +      yylsp->last_line = (yylsp+yylen-1)->last_line; +      yylsp->last_column = (yylsp+yylen-1)->last_column; +    } +#endif -  /* Now `shift' the result of the reduction.  Determine what state -     that goes to, based on the state we popped back to and the rule -     number reduced by.  */ +  /* Now "shift" the result of the reduction. +     Determine what state that goes to, +     based on the state we popped back to +     and the rule number reduced by.  */    yyn = yyr1[yyn]; -  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; -  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) +  yystate = yypgoto[yyn - YYNTBASE] + *yyssp; +  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)      yystate = yytable[yystate];    else -    yystate = yydefgoto[yyn - YYNTOKENS]; +    yystate = yydefgoto[yyn - YYNTBASE];    goto yynewstate; +yyerrlab:   /* here on detecting error */ -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: -  /* If not already recovering from an error, report this error.  */ -  if (!yyerrstatus) +  if (! yyerrstatus) +    /* If not already recovering from an error, report this error.  */      {        ++yynerrs; -#if YYERROR_VERBOSE + +#ifdef YYERROR_VERBOSE        yyn = yypact[yystate]; -      if (YYPACT_NINF < yyn && yyn < YYLAST) +      if (yyn > YYFLAG && yyn < YYLAST)  	{ -	  YYSIZE_T yysize = 0; -	  int yytype = YYTRANSLATE (yychar); -	  const char* yyprefix; -	  char *yymsg; -	  int yyx; - -	  /* Start YYX at -YYN if negative to avoid negative indexes in -	     YYCHECK.  */ -	  int yyxbegin = yyn < 0 ? -yyn : 0; - -	  /* Stay within bounds of both yycheck and yytname.  */ -	  int yychecklim = YYLAST - yyn; -	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; -	  int yycount = 0; - -	  yyprefix = ", expecting "; -	  for (yyx = yyxbegin; yyx < yyxend; ++yyx) -	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) -	      { -		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); -		yycount += 1; -		if (yycount == 5) -		  { -		    yysize = 0; -		    break; -		  } -	      } -	  yysize += (sizeof ("syntax error, unexpected ") -		     + yystrlen (yytname[yytype])); -	  yymsg = (char *) YYSTACK_ALLOC (yysize); -	  if (yymsg != 0) +	  int size = 0; +	  char *msg; +	  int x, count; + +	  count = 0; +	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */ +	  for (x = (yyn < 0 ? -yyn : 0); +	       x < (sizeof(yytname) / sizeof(char *)); x++) +	    if (yycheck[x + yyn] == x) +	      size += strlen(yytname[x]) + 15, count++; +	  msg = (char *) malloc(size + 15); +	  if (msg != 0)  	    { -	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); -	      yyp = yystpcpy (yyp, yytname[yytype]); +	      strcpy(msg, "parse error"); -	      if (yycount < 5) +	      if (count < 5)  		{ -		  yyprefix = ", expecting "; -		  for (yyx = yyxbegin; yyx < yyxend; ++yyx) -		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) +		  count = 0; +		  for (x = (yyn < 0 ? -yyn : 0); +		       x < (sizeof(yytname) / sizeof(char *)); x++) +		    if (yycheck[x + yyn] == x)  		      { -			yyp = yystpcpy (yyp, yyprefix); -			yyp = yystpcpy (yyp, yytname[yyx]); -			yyprefix = " or "; +			strcat(msg, count == 0 ? ", expecting `" : " or `"); +			strcat(msg, yytname[x]); +			strcat(msg, "'"); +			count++;  		      }  		} -	      yyerror (yymsg); -	      YYSTACK_FREE (yymsg); +	      yyerror(msg); +	      free(msg);  	    }  	  else -	    yyerror ("syntax error; also virtual memory exhausted"); +	    yyerror ("parse error; also virtual memory exceeded");  	}        else  #endif /* YYERROR_VERBOSE */ -	yyerror ("syntax error"); +	yyerror("parse error");      } - +  goto yyerrlab1; +yyerrlab1:   /* here on error raised explicitly by an action */    if (yyerrstatus == 3)      { -      /* If just tried and failed to reuse lookahead token after an -	 error, discard it.  */ - -      if (yychar <= YYEOF) -        { -          /* If at end of input, pop the error token, -	     then the rest of the stack, then return failure.  */ -	  if (yychar == YYEOF) -	     for (;;) -	       { -		 YYPOPSTACK; -		 if (yyssp == yyss) -		   YYABORT; -		 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); -		 yydestruct (yystos[*yyssp], yyvsp); -	       } -        } -      else -	{ -	  YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); -	  yydestruct (yytoken, &yylval); -	  yychar = YYEMPTY; +      /* if just tried and failed to reuse lookahead token after an error, discard it.  */ -	} +      /* return failure if at end of input */ +      if (yychar == YYEOF) +	YYABORT; + +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); +#endif + +      yychar = YYEMPTY;      } -  /* Else will try to reuse lookahead token after shifting the error -     token.  */ -  goto yyerrlab1; +  /* Else will try to reuse lookahead token +     after shifting the error token.  */ +  yyerrstatus = 3;		/* Each real token shifted decrements this */ -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR.  | -`---------------------------------------------------*/ -yyerrorlab: +  goto yyerrhandle; -#ifdef __GNUC__ -  /* Pacify GCC when the user code never invokes YYERROR and the label -     yyerrorlab therefore never appears in user code.  */ -  if (0) -     goto yyerrorlab; -#endif +yyerrdefault:  /* current state does not do anything special for the error token. */ -  yyvsp -= yylen; -  yyssp -= yylen; -  yystate = *yyssp; -  goto yyerrlab1; +#if 0 +  /* This is wrong; only states that explicitly want error tokens +     should shift them.  */ +  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/ +  if (yyn) goto yydefault; +#endif +yyerrpop:   /* pop the current state because it cannot handle the error token */ -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR.  | -`-------------------------------------------------------------*/ -yyerrlab1: -  yyerrstatus = 3;	/* Each real token shifted decrements this.  */ +  if (yyssp == yyss) YYABORT; +  yyvsp--; +  yystate = *--yyssp; +#ifdef YYLSP_NEEDED +  yylsp--; +#endif -  for (;;) +#if YYDEBUG != 0 +  if (yydebug)      { -      yyn = yypact[yystate]; -      if (yyn != YYPACT_NINF) -	{ -	  yyn += YYTERROR; -	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) -	    { -	      yyn = yytable[yyn]; -	      if (0 < yyn) -		break; -	    } -	} +      short *ssp1 = yyss - 1; +      fprintf (stderr, "Error: state stack now"); +      while (ssp1 != yyssp) +	fprintf (stderr, " %d", *++ssp1); +      fprintf (stderr, "\n"); +    } +#endif -      /* Pop the current state because it cannot handle the error token.  */ -      if (yyssp == yyss) -	YYABORT; +yyerrhandle: + +  yyn = yypact[yystate]; +  if (yyn == YYFLAG) +    goto yyerrdefault; + +  yyn += YYTERROR; +  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) +    goto yyerrdefault; -      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); -      yydestruct (yystos[yystate], yyvsp); -      YYPOPSTACK; -      yystate = *yyssp; -      YY_STACK_PRINT (yyss, yyssp); +  yyn = yytable[yyn]; +  if (yyn < 0) +    { +      if (yyn == YYFLAG) +	goto yyerrpop; +      yyn = -yyn; +      goto yyreduce;      } +  else if (yyn == 0) +    goto yyerrpop;    if (yyn == YYFINAL)      YYACCEPT; -  YYDPRINTF ((stderr, "Shifting error token, ")); +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Shifting error token, "); +#endif    *++yyvsp = yylval; - +#ifdef YYLSP_NEEDED +  *++yylsp = yylloc; +#endif    yystate = yyn;    goto yynewstate; - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here.  | -`-------------------------------------*/ -yyacceptlab: -  yyresult = 0; -  goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here.  | -`-----------------------------------*/ -yyabortlab: -  yyresult = 1; -  goto yyreturn; - -#ifndef yyoverflow -/*----------------------------------------------. -| yyoverflowlab -- parser overflow comes here.  | -`----------------------------------------------*/ -yyoverflowlab: -  yyerror ("parser stack overflow"); -  yyresult = 2; -  /* Fall through.  */ + yyacceptlab: +  /* YYACCEPT comes here.  */ +  if (yyfree_stacks) +    { +      free (yyss); +      free (yyvs); +#ifdef YYLSP_NEEDED +      free (yyls);  #endif +    } +  return 0; -yyreturn: -#ifndef yyoverflow -  if (yyss != yyssa) -    YYSTACK_FREE (yyss); + yyabortlab: +  /* YYABORT comes here.  */ +  if (yyfree_stacks) +    { +      free (yyss); +      free (yyvs); +#ifdef YYLSP_NEEDED +      free (yyls);  #endif -  return yyresult; +    } +  return 1;  } - - -#line 2365 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" +#line 2378 "/Users/bocchino/llvm-checkin/src/lib/AsmParser/llvmAsmParser.y"  int yyerror(const char *ErrorMsg) {    std::string where  @@ -4789,4 +4165,3 @@ int yyerror(const char *ErrorMsg) {    ThrowException(errMsg);    return 0;  } - diff --git a/llvm/lib/AsmParser/llvmAsmParser.h b/llvm/lib/AsmParser/llvmAsmParser.h index ae779921df1..f9026f8af17 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.h +++ b/llvm/lib/AsmParser/llvmAsmParser.h @@ -1,231 +1,4 @@ -/* A Bison parser, made by GNU Bison 1.875c.  */ - -/* Skeleton parser for Yacc-like parsing with Bison, -   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. - -   This program is free software; you can redistribute it and/or modify -   it under the terms of the GNU General Public License as published by -   the Free Software Foundation; either version 2, or (at your option) -   any later version. - -   This program is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -   GNU General Public License for more details. - -   You should have received a copy of the GNU General Public License -   along with this program; if not, write to the Free Software -   Foundation, Inc., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, USA.  */ - -/* As a special exception, when this file is copied by Bison into a -   Bison output file, you may use that output file without restriction. -   This special exception was added by the Free Software Foundation -   in version 1.24 of Bison.  */ - -/* Tokens.  */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE -   /* Put the tokens into the symbol table, so that GDB and other debuggers -      know about them.  */ -   enum yytokentype { -     ESINT64VAL = 258, -     EUINT64VAL = 259, -     SINTVAL = 260, -     UINTVAL = 261, -     FPVAL = 262, -     VOID = 263, -     BOOL = 264, -     SBYTE = 265, -     UBYTE = 266, -     SHORT = 267, -     USHORT = 268, -     INT = 269, -     UINT = 270, -     LONG = 271, -     ULONG = 272, -     FLOAT = 273, -     DOUBLE = 274, -     TYPE = 275, -     LABEL = 276, -     VAR_ID = 277, -     LABELSTR = 278, -     STRINGCONSTANT = 279, -     IMPLEMENTATION = 280, -     ZEROINITIALIZER = 281, -     TRUETOK = 282, -     FALSETOK = 283, -     BEGINTOK = 284, -     ENDTOK = 285, -     DECLARE = 286, -     GLOBAL = 287, -     CONSTANT = 288, -     SECTION = 289, -     VOLATILE = 290, -     TO = 291, -     DOTDOTDOT = 292, -     NULL_TOK = 293, -     UNDEF = 294, -     CONST = 295, -     INTERNAL = 296, -     LINKONCE = 297, -     WEAK = 298, -     APPENDING = 299, -     OPAQUE = 300, -     NOT = 301, -     EXTERNAL = 302, -     TARGET = 303, -     TRIPLE = 304, -     ENDIAN = 305, -     POINTERSIZE = 306, -     LITTLE = 307, -     BIG = 308, -     ALIGN = 309, -     DEPLIBS = 310, -     CALL = 311, -     TAIL = 312, -     CC_TOK = 313, -     CCC_TOK = 314, -     FASTCC_TOK = 315, -     COLDCC_TOK = 316, -     RET = 317, -     BR = 318, -     SWITCH = 319, -     INVOKE = 320, -     UNWIND = 321, -     UNREACHABLE = 322, -     ADD = 323, -     SUB = 324, -     MUL = 325, -     DIV = 326, -     REM = 327, -     AND = 328, -     OR = 329, -     XOR = 330, -     SETLE = 331, -     SETGE = 332, -     SETLT = 333, -     SETGT = 334, -     SETEQ = 335, -     SETNE = 336, -     MALLOC = 337, -     ALLOCA = 338, -     FREE = 339, -     LOAD = 340, -     STORE = 341, -     GETELEMENTPTR = 342, -     PHI_TOK = 343, -     CAST = 344, -     SELECT = 345, -     SHL = 346, -     SHR = 347, -     VAARG = 348, -     EXTRACTELEMENT = 349, -     VAARG_old = 350, -     VANEXT_old = 351 -   }; -#endif -#define ESINT64VAL 258 -#define EUINT64VAL 259 -#define SINTVAL 260 -#define UINTVAL 261 -#define FPVAL 262 -#define VOID 263 -#define BOOL 264 -#define SBYTE 265 -#define UBYTE 266 -#define SHORT 267 -#define USHORT 268 -#define INT 269 -#define UINT 270 -#define LONG 271 -#define ULONG 272 -#define FLOAT 273 -#define DOUBLE 274 -#define TYPE 275 -#define LABEL 276 -#define VAR_ID 277 -#define LABELSTR 278 -#define STRINGCONSTANT 279 -#define IMPLEMENTATION 280 -#define ZEROINITIALIZER 281 -#define TRUETOK 282 -#define FALSETOK 283 -#define BEGINTOK 284 -#define ENDTOK 285 -#define DECLARE 286 -#define GLOBAL 287 -#define CONSTANT 288 -#define SECTION 289 -#define VOLATILE 290 -#define TO 291 -#define DOTDOTDOT 292 -#define NULL_TOK 293 -#define UNDEF 294 -#define CONST 295 -#define INTERNAL 296 -#define LINKONCE 297 -#define WEAK 298 -#define APPENDING 299 -#define OPAQUE 300 -#define NOT 301 -#define EXTERNAL 302 -#define TARGET 303 -#define TRIPLE 304 -#define ENDIAN 305 -#define POINTERSIZE 306 -#define LITTLE 307 -#define BIG 308 -#define ALIGN 309 -#define DEPLIBS 310 -#define CALL 311 -#define TAIL 312 -#define CC_TOK 313 -#define CCC_TOK 314 -#define FASTCC_TOK 315 -#define COLDCC_TOK 316 -#define RET 317 -#define BR 318 -#define SWITCH 319 -#define INVOKE 320 -#define UNWIND 321 -#define UNREACHABLE 322 -#define ADD 323 -#define SUB 324 -#define MUL 325 -#define DIV 326 -#define REM 327 -#define AND 328 -#define OR 329 -#define XOR 330 -#define SETLE 331 -#define SETGE 332 -#define SETLT 333 -#define SETGT 334 -#define SETEQ 335 -#define SETNE 336 -#define MALLOC 337 -#define ALLOCA 338 -#define FREE 339 -#define LOAD 340 -#define STORE 341 -#define GETELEMENTPTR 342 -#define PHI_TOK 343 -#define CAST 344 -#define SELECT 345 -#define SHL 346 -#define SHR 347 -#define VAARG 348 -#define EXTRACTELEMENT 349 -#define VAARG_old 350 -#define VANEXT_old 351 - - - - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 878 "/proj/llvm/llvm2/lib/AsmParser/llvmAsmParser.y" -typedef union YYSTYPE { +typedef union {    llvm::Module                           *ModuleVal;    llvm::Function                         *FunctionVal;    std::pair<llvm::PATypeHolder*, char*>  *ArgVal; @@ -264,14 +37,101 @@ typedef union YYSTYPE {    llvm::Instruction::OtherOps             OtherOpVal;    llvm::Module::Endianness                Endianness;  } YYSTYPE; -/* Line 1275 of yacc.c.  */ -#line 269 "llvmAsmParser.tab.h" -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - -extern YYSTYPE llvmAsmlval; - +#define	ESINT64VAL	257 +#define	EUINT64VAL	258 +#define	SINTVAL	259 +#define	UINTVAL	260 +#define	FPVAL	261 +#define	VOID	262 +#define	BOOL	263 +#define	SBYTE	264 +#define	UBYTE	265 +#define	SHORT	266 +#define	USHORT	267 +#define	INT	268 +#define	UINT	269 +#define	LONG	270 +#define	ULONG	271 +#define	FLOAT	272 +#define	DOUBLE	273 +#define	TYPE	274 +#define	LABEL	275 +#define	VAR_ID	276 +#define	LABELSTR	277 +#define	STRINGCONSTANT	278 +#define	IMPLEMENTATION	279 +#define	ZEROINITIALIZER	280 +#define	TRUETOK	281 +#define	FALSETOK	282 +#define	BEGINTOK	283 +#define	ENDTOK	284 +#define	DECLARE	285 +#define	GLOBAL	286 +#define	CONSTANT	287 +#define	SECTION	288 +#define	VOLATILE	289 +#define	TO	290 +#define	DOTDOTDOT	291 +#define	NULL_TOK	292 +#define	UNDEF	293 +#define	CONST	294 +#define	INTERNAL	295 +#define	LINKONCE	296 +#define	WEAK	297 +#define	APPENDING	298 +#define	OPAQUE	299 +#define	NOT	300 +#define	EXTERNAL	301 +#define	TARGET	302 +#define	TRIPLE	303 +#define	ENDIAN	304 +#define	POINTERSIZE	305 +#define	LITTLE	306 +#define	BIG	307 +#define	ALIGN	308 +#define	DEPLIBS	309 +#define	CALL	310 +#define	TAIL	311 +#define	CC_TOK	312 +#define	CCC_TOK	313 +#define	FASTCC_TOK	314 +#define	COLDCC_TOK	315 +#define	RET	316 +#define	BR	317 +#define	SWITCH	318 +#define	INVOKE	319 +#define	UNWIND	320 +#define	UNREACHABLE	321 +#define	ADD	322 +#define	SUB	323 +#define	MUL	324 +#define	DIV	325 +#define	REM	326 +#define	AND	327 +#define	OR	328 +#define	XOR	329 +#define	SETLE	330 +#define	SETGE	331 +#define	SETLT	332 +#define	SETGT	333 +#define	SETEQ	334 +#define	SETNE	335 +#define	MALLOC	336 +#define	ALLOCA	337 +#define	FREE	338 +#define	LOAD	339 +#define	STORE	340 +#define	GETELEMENTPTR	341 +#define	PHI_TOK	342 +#define	CAST	343 +#define	SELECT	344 +#define	SHL	345 +#define	SHR	346 +#define	VAARG	347 +#define	EXTRACTELEMENT	348 +#define	INSERTELEMENT	349 +#define	VAARG_old	350 +#define	VANEXT_old	351 +extern YYSTYPE llvmAsmlval; diff --git a/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y index 67d20fed804..01d43347b8a 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.y +++ b/llvm/lib/AsmParser/llvmAsmParser.y @@ -984,7 +984,8 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {  // Other Operators  %type  <OtherOpVal> ShiftOps -%token <OtherOpVal> PHI_TOK CAST SELECT SHL SHR VAARG EXTRACTELEMENT +%token <OtherOpVal> PHI_TOK CAST SELECT SHL SHR VAARG +%token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT  %token VAARG_old VANEXT_old //OBSOLETE @@ -2195,12 +2196,24 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {    }    | EXTRACTELEMENT ResolvedVal ',' ResolvedVal {      if (!isa<PackedType>($2->getType())) -      ThrowException("First operand of extractelement must be a " -                     "packed type val!"); +      ThrowException("First operand of extractelement must be " +                     "packed type!");      if ($4->getType() != Type::UIntTy) -      ThrowException("Second operand of extractelement must be a uint!"); +      ThrowException("Second operand of extractelement must be uint!");      $$ = new ExtractElementInst($2, $4);    } +  | INSERTELEMENT ResolvedVal ',' ResolvedVal ',' ResolvedVal { +    if (!isa<PackedType>($2->getType())) +      ThrowException("First operand of insertelement must be " +                     "packed type!"); +    if ($4->getType() !=  +        cast<PackedType>($2->getType())->getElementType()) +      ThrowException("Second operand of insertelement must be " +                     "packed element type!"); +    if ($6->getType() != Type::UIntTy) +      ThrowException("Third operand of insertelement must be uint!"); +    $$ = new InsertElementInst($2, $4, $6); +  }    | PHI_TOK PHIList {      const Type *Ty = $2->front().first->getType();      if (!Ty->isFirstClassType())  | 

