diff options
Diffstat (limited to 'llvm/lib/AsmParser')
| -rw-r--r-- | llvm/lib/AsmParser/Lexer.cpp | 947 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/Lexer.l | 1 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.cpp | 4592 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.h | 325 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y | 18 | 
5 files changed, 2620 insertions, 3263 deletions
| diff --git a/llvm/lib/AsmParser/Lexer.cpp b/llvm/lib/AsmParser/Lexer.cpp index 657b364a763..77d0d9fa2c9 100644 --- a/llvm/lib/AsmParser/Lexer.cpp +++ b/llvm/lib/AsmParser/Lexer.cpp @@ -28,7 +28,6 @@  #define YY_FLEX_MINOR_VERSION 5  #include <stdio.h> -#include <unistd.h>  /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ @@ -42,6 +41,7 @@  #ifdef __cplusplus  #include <stdlib.h> +#include <unistd.h>  /* Use prototypes in function declarations. */  #define YY_USE_PROTOS @@ -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 99 -#define YY_END_OF_BUFFER 100 -static yyconst short int yy_acclist[177] = +#define YY_NUM_RULES 100 +#define YY_END_OF_BUFFER 101 +static yyconst short int yy_acclist[178] =      {   0, -      100,   98,   99,   97,   98,   99,   97,   99,   98,   99, -       98,   99,   98,   99,   98,   99,   98,   99,   98,   99, -       90,   98,   99,   90,   98,   99,    1,   98,   99,   98, -       99,   98,   99,   98,   99,   98,   99,   98,   99,   98, -       99,   98,   99,   98,   99,   98,   99,   98,   99,   98, -       99,   98,   99,   98,   99,   98,   99,   98,   99,   98, -       99,   98,   99,   98,   99,   98,   99,   98,   99,   98, -       99,   89,   87,   86,   86,   93,   91,   95,   90,    1, -       75,   32,   57,   20,   89,   86,   86,   94,   95,   17, -       95,   96,   51,   56,   30,   33,   54,    3,   42,   53, - -       22,   65,   55,   74,   69,   70,   52,   58,   88,   95, -       95,   37,   66,   67,   82,   83,   44,   19,   92,   23, -        4,   49,   43,   36,   11,   95,    2,    5,   46,   48, -       38,   60,   64,   62,   63,   61,   59,   40,   84,   39, -       45,   18,   72,   81,   35,   47,   27,   21,   34,    7, -       77,   29,   80,   50,   68,   76,   24,   25,   78,   41, -       73,   71,    6,   26,    8,   14,    9,   10,   31,   12, -       28,   79,   85,   13,   15,   16 +      101,   99,  100,   98,   99,  100,   98,  100,   99,  100, +       99,  100,   99,  100,   99,  100,   99,  100,   99,  100, +       91,   99,  100,   91,   99,  100,    1,   99,  100,   99, +      100,   99,  100,   99,  100,   99,  100,   99,  100,   99, +      100,   99,  100,   99,  100,   99,  100,   99,  100,   99, +      100,   99,  100,   99,  100,   99,  100,   99,  100,   99, +      100,   99,  100,   99,  100,   99,  100,   99,  100,   99, +      100,   90,   88,   87,   87,   94,   92,   96,   91,    1, +       76,   32,   58,   20,   90,   87,   87,   95,   96,   17, +       96,   97,   52,   57,   30,   33,   55,    3,   42,   54, + +       22,   66,   56,   75,   70,   71,   53,   59,   89,   96, +       96,   37,   67,   68,   83,   84,   44,   19,   93,   23, +        4,   49,   43,   36,   11,   96,   51,    2,    5,   46, +       48,   38,   61,   65,   63,   64,   62,   60,   40,   85, +       39,   45,   18,   73,   82,   35,   47,   27,   21,   34, +        7,   78,   29,   81,   50,   69,   77,   24,   25,   79, +       41,   74,   72,    6,   26,    8,   14,    9,   10,   31, +       12,   28,   80,   86,   13,   15,   16      } ; -static yyconst short int yy_accept[398] = +static yyconst short int yy_accept[401] =      {   0,          1,    1,    1,    2,    4,    7,    9,   11,   13,   15,         17,   19,   21,   24,   27,   30,   32,   34,   36,   38, @@ -347,37 +347,37 @@ static yyconst short int yy_accept[398] =         84,   84,   84,   84,   85,   85,   85,   85,   85,   85,         85,   85,   85,   85,   85,   85,   85,   86,   87,   89, -       90,   91,   92,   92,   93,   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,  106,  106,  107,  107,  108,  108,  108,  108,  108, +       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,  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,  113,  114,  115, - -      115,  115,  115,  115,  115,  115,  115,  115,  115,  115, -      115,  116,  116,  116,  116,  116,  116,  116,  116,  116, -      117,  118,  118,  119,  119,  119,  120,  120,  120,  120, -      120,  120,  120,  120,  120,  120,  121,  121,  121,  122, -      123,  123,  124,  124,  124,  124,  124,  124,  124,  124, -      124,  124,  125,  125,  126,  126,  127,  127,  127,  128, -      128,  128,  128,  128,  128,  128,  128,  128,  129,  129, -      130,  130,  130,  130,  130,  130,  131,  131,  131,  131, -      131,  131,  132,  132,  133,  134,  135,  136,  137,  138, -      139,  140,  140,  140,  140,  141,  142,  143,  143,  143, - -      143,  143,  143,  144,  144,  144,  144,  145,  145,  146, -      146,  146,  146,  147,  148,  149,  149,  150,  150,  151, -      151,  151,  152,  152,  153,  154,  155,  155,  156,  157, -      158,  159,  159,  159,  160,  161,  162,  163,  163,  163, -      163,  163,  164,  165,  165,  165,  165,  165,  165,  165, -      165,  165,  165,  165,  165,  166,  167,  167,  167,  168, -      169,  169,  169,  169,  170,  170,  171,  171,  171,  171, -      171,  171,  171,  171,  171,  171,  171,  171,  171,  171, -      171,  172,  172,  173,  173,  173,  173,  173,  173,  174, -      174,  175,  175,  176,  176,  177,  177 +      108,  108,  108,  108,  108,  108,  108,  109,  109,  110, +      111,  111,  111,  111,  112,  112,  112,  112,  112,  113, + +      114,  115,  115,  115,  115,  115,  115,  115,  115,  115, +      115,  115,  115,  116,  116,  116,  116,  116,  116,  116, +      116,  116,  117,  118,  118,  119,  119,  119,  120,  120, +      120,  120,  120,  120,  120,  120,  120,  120,  121,  121, +      121,  122,  123,  123,  124,  124,  124,  124,  124,  124, +      124,  124,  124,  124,  125,  125,  126,  126,  127,  128, +      128,  128,  129,  129,  129,  129,  129,  129,  129,  129, +      129,  130,  130,  131,  131,  131,  131,  131,  131,  132, +      132,  132,  132,  132,  132,  133,  133,  134,  135,  136, +      137,  138,  139,  140,  141,  141,  141,  141,  142,  143, + +      144,  144,  144,  144,  144,  144,  145,  145,  145,  145, +      146,  146,  147,  147,  147,  147,  148,  149,  150,  150, +      151,  151,  152,  152,  152,  153,  153,  154,  155,  156, +      156,  157,  158,  159,  160,  160,  160,  161,  162,  163, +      164,  164,  164,  164,  164,  165,  166,  166,  166,  166, +      166,  166,  166,  166,  166,  166,  166,  166,  167,  168, +      168,  168,  169,  170,  170,  170,  170,  171,  171,  172, +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172, +      172,  172,  172,  172,  173,  173,  174,  174,  174,  174, +      174,  174,  175,  175,  176,  176,  177,  177,  178,  178      } ; @@ -422,105 +422,105 @@ static yyconst int yy_meta[42] =          3      } ; -static yyconst short int yy_base[402] = +static yyconst short int yy_base[405] =      {   0, -        0,    0,  834,  835,  835,  835,  829,  820,   34,   36, +        0,    0,  840,  841,  841,  841,  835,  826,   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,  827,  835,  818,  835, +       94,  140,  113,   55,  110,  116,  833,  841,  824,  841,          0,  128,  131,  144,  150,  124,  160,  167,  172,    0, -      136,   89,  168,  100,   41,  145,  114,  817,  139,  183, -      184,  185,  173,  186,  187,  189,  191,  133,  188,  193, -      200,  202,  194,  203,  205,  215,  208,  211,  207,  214, -       57,  816,  224,  225,  227,  231,  233,  234,  241,  235, -      236,  239,  247,  815,  251,  244,  245,  248,  254,  266, - -      255,  276,  269,  278,  270,  277,  814,    0,  287,  291, -      813,  303,  309,    0,  812,  295,  811,  288,  310,  810, -      296,  299,  315,  809,  316,  317,  318,  319,  808,  240, -      322,  320,  321,  325,  326,  327,  328,  331,  336,  341, -      343,  344,  345,  346,  348,  350,  353,  351,  807,  806, -      355,  357,  805,  359,  804,  803,  380,  361,  363,  391, -      802,  373,  801,  374,  800,  369,  365,  393,  396,  398, -      401,  397,  399,  409,  403,  411,  405,  368,  413,  416, -      417,  418,  367,  419,  423,  799,  425,  835,  431,  437, -      443,  446,  449,  450,  439,  451,  798,  797,  796,  452, - -      453,  455,  454,  458,  461,  462,  463,  465,  464,  469, -      795,  470,  472,  478,  475,  479,  480,  482,  483,  794, -      793,  486,  792,  488,  490,    0,  494,  499,  489,  501, -      502,  505,  497,  507,  508,  791,  517,  518,  790,  789, -      519,  788,  521,  527,  522,  529,  523,  530,  531,  536, -      538,  787,  539,  786,  541,  544,  544,  545,  785,  548, -      556,  546,  557,  550,  558,  560,  564,  784,  566,  783, -      568,  569,  570,  571,  576,  782,  572,  578,  590,  582, -      592,  781,  579,  780,  779,  778,  777,  776,  775,  774, -      773,  593,  580,  595,  772,  771,  770,  594,  599,  600, - -      596,  598,  769,  607,  610,  611,  768,  612,  767,  614, -      613,  615,  766,  765,  764,  616,  763,  618,  762,  620, -      627,  761,  626,  760,  759,  758,  624,  757,  756,  755, -      754,  635,  638,  753,  752,  749,  739,  636,  639,  640, -      641,  738,  737,  643,  644,  642,  646,  647,  649,  655, -      662,  654,  665,  666,  736,  735,  668,  669,  734,  733, -      670,  672,  673,  732,  676,  731,  674,  675,  678,  681, -      684,  686,  682,  690,  693,  695,  696,  700,  698,  703, -      730,  708,  728,  706,  704,  709,  710,  711,  726,  712, -      722,  714,  574,  720,  491,  835,  753,  755,  280,  759, - -      161 +      136,  139,  168,  100,   41,  145,  114,  823,  173,  183, +      184,  185,  161,  187,  189,  191,  193,  133,  194,  196, +      200,  202,  205,  206,  209,  217,   89,  210,  213,  216, +       57,  822,  207,  224,  223,  227,  229,  233,  240,  235, +      238,  247,  249,  821,  250,  245,  241,  242,  265,  267, + +      266,  268,  271,  276,  277,  279,  820,    0,  253,  292, +      819,  304,  310,    0,  818,  311,  294,  817,  287,  314, +      816,  282,  315,  316,  815,  317,  299,  318,  319,  814, +      320,  323,  328,  329,  324,  331,  335,  332,  342,  343, +      344,  347,  345,  348,  350,  352,  353,  355,  358,  813, +      812,  362,  360,  811,  365,  810,  809,  385,  374,  367, +      389,  808,  378,  807,  381,  806,  385,  371,  368,  396, +      401,  403,  405,  407,  409,  411,  414,  413,  416,  417, +      418,  419,  424,  434,  427,  425,  805,  436,  841,  446, +      452,  371,  458,  461,  421,  446,  452,  462,  804,  803, + +      802,  463,  441,  466,  465,  467,  468,  472,  474,  475, +      476,  477,  801,  481,  480,  488,  486,  487,  489,  490, +      494,  800,  799,  492,  798,  493,  498,    0,  502,  499, +      503,  505,  513,  515,  512,  516,  519,  797,  518,  529, +      796,  795,  530,  794,  520,  532,  533,  538,  534,  537, +      540,  541,  545,  793,  547,  792,  549,  555,  791,  550, +      548,  790,  557,  560,  559,  437,  566,  567,  563,  568, +      789,  569,  788,  573,  574,  571,  577,  579,  787,  578, +      581,  591,  583,  593,  786,  596,  785,  784,  783,  782, +      781,  780,  779,  778,  597,  599,  601,  777,  776,  775, + +      600,  604,  605,  603,  606,  774,  607,  608,  612,  773, +      614,  772,  615,  616,  618,  771,  770,  769,  628,  768, +      620,  767,  634,  637,  766,  624,  765,  764,  763,  635, +      762,  761,  760,  759,  638,  641,  758,  755,  746,  744, +      639,  644,  645,  646,  743,  742,  648,  649,  647,  650, +      652,  655,  666,  667,  659,  660,  670,  741,  740,  673, +      674,  738,  737,  675,  676,  678,  736,  679,  735,  680, +      682,  685,  686,  689,  693,  694,  695,  696,  700,  701, +      702,  707,  706,  732,  711,  731,  708,  712,  709,  715, +      716,  728,  722,  724,  725,  372,  726,  292,  841,  759, + +      761,  298,  765,  252      } ; -static yyconst short int yy_def[402] = +static yyconst short int yy_def[405] =      {   0, -      396,    1,  396,  396,  396,  396,  397,  398,  399,  396, -      398,  398,  398,  398,  400,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  397,  396,  398,  396, -      401,  401,  396,  396,  398,  398,  398,  398,  398,  400, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, - -      398,  398,  398,  398,  398,  398,  396,  401,  401,  396, -      398,  398,  398,   49,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,   49,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  396,  396,  396, -      396,  398,  398,  398,  398,  398,  398,  398,  398,  398, - -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  157,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  396,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, - -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,  398,  398,  398,  398,  398, -      398,  398,  398,  398,  398,    0,  396,  396,  396,  396, - -      396 +      399,    1,  399,  399,  399,  399,  400,  401,  402,  399, +      401,  401,  401,  401,  403,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  400,  399,  401,  399, +      404,  404,  399,  399,  401,  401,  401,  401,  401,  403, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, + +      401,  401,  401,  401,  401,  401,  399,  404,  404,  399, +      401,  401,  401,   49,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,   49,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  399,  399, +      399,  399,  401,  401,  401,  401,  401,  401,  401,  401, + +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  158,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  399,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, + +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,  401,  401, +      401,  401,  401,  401,  401,  401,  401,  401,    0,  399, + +      399,  399,  399,  399      } ; -static yyconst short int yy_nxt[877] = +static yyconst short int yy_nxt[883] =      {   0,          4,    5,    6,    7,    8,    9,   10,   11,   12,   13,         14,    4,   15,    8,    8,    8,   16,   17,   18,   19, @@ -528,99 +528,100 @@ static yyconst short int yy_nxt[877] =         28,    8,   29,   30,   31,   32,   33,   34,   35,    8,         36,   42,   40,   43,   43,   44,   44,   45,   45,   40,         46,   85,   40,   40,   47,   48,   48,   40,   47,   48, -       48,   40,   40,  119,   40,   40,   40,   40,   40,   59, -       51,   60,   40,  152,   55,  104,   62,   52,   56,   53, +       48,   40,   40,  120,   40,   40,   40,   40,   40,   59, +       51,   60,   40,  153,   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,  116,   82,   78,   80,   84, +       93,   40,   79,   83,   81,  149,   82,   78,   80,   84,         86,   40,   40,   94,   40,   40,   95,   40,   87,  102, -      118,   88,  111,   96,   89,   40,  106,  109,  109,  105, -       43,   43,  103,  121,   40,   90,   91,   40,   92,   86, +      119,   88,  111,   96,   89,   40,  106,  109,  109,  105, +       43,   43,  103,  122,   40,   90,   91,   40,   92,   86,         40,   40,  110,   44,   44,  115,   40,   97,   47,   45, -       45,   40,  136,  108,   98,  122,   99,  120,  100,  112, -      112,   40,  123,  101,  113,   47,   48,   48,   40,   40, -      113,  114,  114,   40,   40,  114,  114,  117,  114,  114, -      114,  114,  114,  114,   40,   40,   40,   40,   40,   40, - -       40,  124,   40,  127,   40,   40,  131,  132,  137,  129, -      125,   40,  126,   40,   40,  128,   40,  134,   40,   40, -      143,  130,   40,  133,  135,   40,   40,  138,  141,  139, -      142,  146,  140,  144,  148,   40,   40,  149,   40,  145, -      151,  150,   40,  147,   40,   40,   40,   40,  153,  154, -       40,   40,   40,  165,  155,   40,   40,  204,   40,   40, -      159,  156,   40,  166,  164,   40,   40,  161,  160,  157, -      162,  167,  158,  163,  171,  169,  173,   40,  179,  168, -       40,   40,   41,  174,  172,  175,  170,   40,   40,   40, -      176,  180,  181,  183,  185,  184,  109,  109,  177,   40, - -      189,  189,  186,  178,  182,  190,   40,   40,  195,  187, -       40,  190,  112,  112,   40,  191,  192,  113,  193,  193, -       40,   40,  197,  113,  194,  198,   40,   40,   40,   40, -       40,   40,   40,   40,  196,  200,   40,   40,   40,   40, -      206,  207,   40,  210,  202,  203,  205,   40,  211,  199, -      201,  212,   40,  213,   40,   40,   40,   40,  208,   40, -      209,   40,   40,  215,   40,  217,   40,  214,   40,  220, -       40,  218,   40,  216,   40,  221,   40,  222,   40,   40, -       40,  223,  219,  228,   40,   40,  252,  225,  224,  226, -      226,  236,  247,  226,  226,  227,  226,  226,  226,  226, - -      226,  226,   40,  235,   40,  233,  234,   40,   40,   40, -       40,  229,   40,  230,   40,  237,   40,  231,  239,  232, -       40,  240,   40,  244,   40,  246,  238,   40,   40,   40, -       40,  241,  249,  242,   40,  253,   40,  243,  251,  245, -      189,  189,  248,  191,  191,  190,  256,  256,  254,  250, -       40,  190,  256,  256,  255,  193,  193,   40,  193,  193, -       40,   40,   40,   40,   40,   40,   40,  258,  257,   40, -      260,  262,   40,   40,   40,   40,   40,  265,  263,  259, -       40,   40,  269,   40,  264,  268,   40,  261,  272,   40, -       40,   40,  266,   40,   40,  267,  271,   40,  273,   40, - -       40,   40,   40,  270,  275,   40,  276,  274,   40,  278, -       40,  277,   40,   40,  282,  279,   40,  283,   40,   40, -      284,  285,  287,  280,  281,  289,  292,  291,   40,   40, -       40,  290,   40,   40,   40,  286,  288,  293,   40,  295, -       40,   40,   40,  296,  294,  299,  298,   40,  297,   40, -       40,  300,   40,  256,  256,   40,   40,   40,  303,   40, -      307,   40,  301,  302,  308,  306,  309,   40,   40,   40, -      313,   40,  310,  305,  312,   40,  304,   40,  311,   40, -       40,   40,   40,   40,  317,   40,  314,   40,  318,   40, -       40,   40,  316,   40,  315,  319,  322,  320,  324,  321, - -      323,   40,  326,   40,   40,   40,   40,   40,  325,   40, -       40,   40,  327,  328,  330,  331,  329,  333,   40,  334, -      336,   40,   40,   40,   40,   40,   40,   40,  332,   40, -      335,   40,  344,  342,  338,   40,  340,   40,   40,  339, -      346,  337,  341,  347,  348,  345,   40,   40,  343,   40, -       40,   40,   40,   40,   40,   40,  349,   40,   40,  350, -       40,  351,  352,  353,  357,   40,   40,  360,  354,  356, -      358,  362,  359,   40,  364,  355,   40,   40,  363,   40, -       40,   40,  361,   40,   40,   40,   40,   40,  366,   40, -      371,  374,   40,   40,  369,   40,  367,   40,  370,  365, - -      372,   40,  378,  368,   40,  376,   40,   40,  373,   40, -      377,   40,  379,  381,   40,   40,  383,   40,  375,   40, -       40,   40,   40,   40,  380,   40,  384,  386,  387,  391, -      388,   40,  385,   40,  394,  382,  389,   40,  390,   40, -      393,   40,   40,   40,   40,   40,   40,   40,   40,   40, -       40,  392,  395,   37,   37,   37,   37,   39,   39,   50, -       40,   50,   50,   40,   40,   40,   40,   40,   40,   40, +       45,   40,  137,  116,   98,  117,   99,  121,  100,  112, +      112,   40,   40,  101,  113,   47,   48,   48,   40,   40, +      113,  114,  114,   40,   40,  114,  114,  118,  114,  114, +      114,  114,  114,  114,   40,   40,   40,  130,   40,  123, + +       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,   40,   40,   40,  108,  166,   40,  157,   40,  160, +       40,   40,  109,  109,  165,  158,  162,  161,  159,  163, +      174,  167,  164,  168,  170,  172,   40,   40,   40,   40, +      173,  169,   40,  181,  182,  171,  176,   40,   40,  180, +       40,  177,  186,   40,  175,  184,  183,  185,   40,  178, + +       41,  190,  190,   40,  179,   40,  191,  197,  199,  187, +       40,  188,  191,  112,  112,   40,  192,  193,  113,  194, +      194,   40,   40,  196,  113,   40,   40,   40,   40,   40, +       40,   40,  203,  195,   40,   40,  202,  206,  198,   40, +       40,  200,   40,   40,  204,  205,   40,  207,  208,  209, +      201,  212,  213,   40,   40,   40,   40,  210,   40,   40, +      215,   40,  214,   40,   40,  211,   40,  217,  219,   40, +      216,   40,  222,   40,  218,  220,   40,  223,   40,   40, +      258,  258,   40,   40,  224,   40,  221,  230,  225,   40, +      239,  226,   40,  227,  228,  228,   40,  238,  228,  228, + +       40,  228,  228,  228,  228,  228,  228,   40,  229,  231, +      235,  232,   40,  236,   40,  233,   40,  234,   40,  237, +       40,  241,   40,  242,   40,   40,  240,   40,   40,   40, +       40,  246,   40,  248,  251,   40,   40,  245,   40,  243, +      249,  244,  247,  255,  253,   40,  250,   40,   40,  259, +      256,  252,   40,  254,  315,  190,  190,   40,  192,  192, +      191,  258,  258,   40,  260,  257,  191,  194,  194,   40, +      194,  194,   40,   40,   40,  264,   40,   40,   40,   40, +      261,  263,  265,   40,  268,   40,   40,   40,   40,  266, +      262,   40,   40,  267,  272,  271,  275,   40,   40,   40, + +       40,   40,  269,   40,   40,   40,  270,  274,  276,   40, +       40,  273,  278,   40,   40,  279,   40,  286,  277,  280, +      281,  282,  285,   40,   40,  288,   40,   40,  283,   40, +       40,   40,  284,  290,  287,  292,  294,  295,  296,  289, +       40,   40,  299,   40,   40,   40,  293,  291,   40,   40, +      298,   40,   40,  300,  302,  297,   40,  301,   40,   40, +       40,   40,  303,  306,  258,  258,  310,  311,   40,  304, +       40,   40,  305,  309,   40,  312,  313,   40,   40,   40, +       40,  308,   40,  307,   40,   40,  316,  320,   40,   40, +       40,  314,   40,  321,   40,  317,  319,  318,  323,  325, + +      322,  327,   40,  329,   40,  324,  326,   40,   40,  328, +       40,   40,   40,  330,   40,   40,   40,   40,   40,   40, +      332,  334,  336,   40,  337,   40,   40,   40,  339,   40, +      331,   40,  341,  333,  335,   40,  345,  338,  343,   40, +      342,  340,  351,  344,  347,   40,   40,  348,   40,   40, +       40,  346,   40,  350,  349,   40,   40,   40,   40,   40, +       40,   40,  353,   40,  354,  355,   40,  352,  356,  360, +       40,   40,  363,  357,  359,  361,  362,   40,   40,  367, +      358,   40,  365,  366,   40,   40,   40,   40,  364,   40, +       40,   40,  369,   40,  368,  374,   40,   40,  377,  372, + +       40,  370,  373,  375,   40,   40,   40,   40,  371,  381, +      379,   40,   40,   40,  376,  380,  384,   40,   40,   40, +       40,  386,   40,   40,  382,  378,   40,   40,  387,  383, +      389,  390,  391,   40,  394,   40,   40,   40,  393,   40, +      385,  388,   40,   40,  392,  397,   40,   40,   40,   40, +      396,   40,   40,   40,   40,   40,  395,   40,  398,   37, +       37,   37,   37,   39,   39,   50,   40,   50,   50,   40,         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,  188,   40,   40,   40,   40, -      107,   40,   38,  396,    3,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396 +       40,   40,   40,   40,   40,   40,   40,   40,   40,   40, +       40,  189,   40,   40,   40,   40,  107,   40,   38,  399, +        3,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399      } ; -static yyconst short int yy_chk[877] = +static yyconst short int yy_chk[883] =      {   0,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1, @@ -633,91 +634,92 @@ static yyconst short int yy_chk[877] =         19,   16,   18,   17,   13,   19,   17,   21,   22,   20,         23,   24,   21,   25,   26,   27,   24,   22,   25,   20, -       52,   28,   21,   22,   24,   31,   23,   23,   21,   24, -       31,   54,   26,   28,   27,   52,   27,   25,   26,   28, +       77,   28,   21,   22,   24,   31,   23,   23,   21,   24, +       31,   54,   26,   28,   27,   77,   27,   25,   26,   28,         30,   35,   30,   31,   33,   57,   31,   36,   30,   33,         54,   30,   46,   31,   30,   46,   36,   42,   42,   35,         43,   43,   33,   57,   68,   30,   30,   51,   30,   32, -       59,   32,   44,   44,   44,   51,   56,   32,   45,   45, -       45,   45,   68,  401,   32,   59,   32,   56,   32,   47, -       47,   47,   59,   32,   47,   48,   48,   48,   48,   53, -       47,   49,   49,   49,   63,   49,   49,   53,   49,   49, -       49,   49,   49,   49,   60,   61,   62,   64,   65,   69, - -       66,   60,   67,   62,   70,   73,   65,   66,   69,   63, -       61,   71,   61,   72,   74,   62,   75,   67,   79,   77, -       74,   64,   78,   66,   67,   80,   76,   70,   73,   71, -       73,   76,   72,   75,   77,   83,   84,   78,   85,   75, -       80,   79,   86,   76,   87,   88,   90,   91,   83,   84, -       92,  130,   89,   91,   85,   96,   97,  130,   93,   98, -       88,   85,   95,   92,   90,   99,  101,   89,   88,   86, -       89,   93,   87,   89,   96,   95,   98,  100,  101,   93, -      103,  105,  399,   99,   97,  100,   95,  102,  106,  104, -      100,  102,  102,  103,  104,  103,  109,  109,  100,  118, - -      110,  110,  105,  100,  102,  110,  116,  121,  118,  106, -      122,  110,  112,  112,  112,  113,  113,  112,  113,  113, -      113,  119,  121,  112,  116,  122,  123,  125,  126,  127, -      128,  132,  133,  131,  119,  125,  134,  135,  136,  137, -      132,  133,  138,  136,  127,  128,  131,  139,  137,  123, -      126,  138,  140,  139,  141,  142,  143,  144,  134,  145, -      135,  146,  148,  141,  147,  143,  151,  140,  152,  146, -      154,  144,  158,  142,  159,  147,  167,  148,  183,  178, -      166,  151,  145,  159,  162,  164,  183,  154,  152,  157, -      157,  167,  178,  157,  157,  158,  157,  157,  157,  157, - -      157,  157,  160,  166,  168,  162,  164,  169,  172,  170, -      173,  160,  171,  160,  175,  168,  177,  160,  170,  160, -      174,  171,  176,  175,  179,  177,  169,  180,  181,  182, -      184,  172,  180,  173,  185,  184,  187,  174,  182,  176, -      189,  189,  179,  190,  190,  189,  190,  190,  185,  181, -      195,  189,  191,  191,  187,  192,  192,  192,  193,  193, -      193,  194,  196,  200,  201,  203,  202,  195,  194,  204, -      200,  202,  205,  206,  207,  209,  208,  205,  203,  196, -      210,  212,  209,  213,  204,  208,  215,  201,  213,  214, -      216,  217,  206,  218,  219,  207,  212,  222,  214,  224, - -      229,  225,  395,  210,  216,  227,  217,  215,  233,  219, -      228,  218,  230,  231,  227,  222,  232,  228,  234,  235, -      229,  230,  231,  224,  225,  232,  235,  234,  237,  238, -      241,  233,  243,  245,  247,  230,  231,  237,  244,  241, -      246,  248,  249,  243,  238,  246,  245,  250,  244,  251, -      253,  247,  255,  256,  256,  257,  258,  262,  250,  260, -      257,  264,  248,  249,  258,  255,  260,  261,  263,  265, -      264,  266,  261,  253,  263,  267,  251,  269,  262,  271, -      272,  273,  274,  277,  269,  393,  265,  275,  271,  278, -      283,  293,  267,  280,  266,  272,  275,  273,  278,  274, - -      277,  279,  280,  281,  292,  298,  294,  301,  279,  302, -      299,  300,  281,  283,  293,  294,  292,  299,  304,  300, -      302,  305,  306,  308,  311,  310,  312,  316,  298,  318, -      301,  320,  316,  311,  305,  327,  308,  323,  321,  306, -      320,  304,  310,  321,  323,  318,  332,  338,  312,  333, -      339,  340,  341,  346,  344,  345,  327,  347,  348,  332, -      349,  333,  338,  339,  345,  352,  350,  348,  340,  344, -      346,  350,  347,  351,  352,  341,  353,  354,  351,  357, -      358,  361,  349,  362,  363,  367,  368,  365,  354,  369, -      363,  368,  370,  373,  361,  371,  357,  372,  362,  353, - -      365,  374,  372,  358,  375,  370,  376,  377,  367,  379, -      371,  378,  373,  375,  380,  385,  377,  384,  369,  382, -      386,  387,  388,  390,  374,  392,  378,  380,  382,  387, -      384,  394,  379,  391,  392,  376,  385,  389,  386,  383, -      390,  381,  366,  364,  360,  359,  356,  355,  343,  342, -      337,  388,  394,  397,  397,  397,  397,  398,  398,  400, -      336,  400,  400,  335,  334,  331,  330,  329,  328,  326, -      325,  324,  322,  319,  317,  315,  314,  313,  309,  307, -      303,  297,  296,  295,  291,  290,  289,  288,  287,  286, -      285,  284,  282,  276,  270,  268,  259,  254,  252,  242, - -      240,  239,  236,  223,  221,  220,  211,  199,  198,  197, -      186,  165,  163,  161,  156,  155,  153,  150,  149,  129, -      124,  120,  117,  115,  111,  107,   94,   82,   58,   39, -       37,    8,    7,    3,  396,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396,  396,  396,  396,  396, -      396,  396,  396,  396,  396,  396 +       52,   32,   44,   44,   44,   51,   56,   32,   45,   45, +       45,   45,   68,   52,   32,   52,   32,   56,   32,   47, +       47,   47,   63,   32,   47,   48,   48,   48,   48,   53, +       47,   49,   49,   49,   59,   49,   49,   53,   49,   49, +       49,   49,   49,   49,   60,   61,   62,   63,   64,   59, + +       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,   89,   97,   98,  404,   91,   96,   85,   92,   88, +       93,   95,  109,  109,   90,   86,   89,   88,   87,   89, +       98,   92,   89,   93,   95,   96,   99,  101,  100,  102, +       97,   93,  103,  102,  102,   95,  100,  104,  105,  101, +      106,  100,  104,  122,   99,  103,  102,  103,  119,  100, + +      402,  110,  110,  398,  100,  117,  110,  119,  122,  105, +      127,  106,  110,  112,  112,  112,  113,  113,  112,  113, +      113,  113,  116,  117,  112,  120,  123,  124,  126,  128, +      129,  131,  127,  116,  132,  135,  126,  131,  120,  133, +      134,  123,  136,  138,  128,  129,  137,  132,  133,  134, +      124,  137,  138,  139,  140,  141,  143,  135,  142,  144, +      140,  145,  139,  146,  147,  136,  148,  142,  144,  149, +      141,  153,  147,  152,  143,  145,  155,  148,  160,  169, +      192,  192,  168,  396,  149,  159,  146,  160,  152,  163, +      169,  153,  165,  155,  158,  158,  167,  168,  158,  158, + +      161,  158,  158,  158,  158,  158,  158,  170,  159,  161, +      163,  161,  171,  165,  172,  161,  173,  161,  174,  167, +      175,  171,  176,  172,  178,  177,  170,  179,  180,  181, +      182,  176,  195,  178,  181,  183,  186,  175,  185,  173, +      179,  174,  177,  185,  183,  184,  180,  188,  266,  195, +      186,  182,  203,  184,  266,  190,  190,  196,  191,  191, +      190,  191,  191,  197,  196,  188,  190,  193,  193,  193, +      194,  194,  194,  198,  202,  203,  205,  204,  206,  207, +      197,  202,  204,  208,  207,  209,  210,  211,  212,  205, +      198,  215,  214,  206,  211,  210,  215,  217,  218,  216, + +      219,  220,  208,  224,  226,  221,  209,  214,  216,  227, +      230,  212,  218,  229,  231,  219,  232,  230,  217,  220, +      221,  224,  229,  235,  233,  232,  234,  236,  226,  239, +      237,  245,  227,  233,  231,  234,  236,  237,  239,  232, +      240,  243,  245,  246,  247,  249,  235,  233,  250,  248, +      243,  251,  252,  246,  248,  240,  253,  247,  255,  261, +      257,  260,  249,  252,  258,  258,  260,  261,  263,  250, +      265,  264,  251,  257,  269,  263,  264,  267,  268,  270, +      272,  255,  276,  253,  274,  275,  267,  272,  277,  280, +      278,  265,  281,  274,  283,  268,  270,  269,  276,  278, + +      275,  281,  282,  283,  284,  277,  280,  286,  295,  282, +      296,  301,  297,  284,  304,  302,  303,  305,  307,  308, +      295,  297,  302,  309,  303,  311,  313,  314,  305,  315, +      286,  321,  308,  296,  301,  326,  314,  304,  311,  319, +      309,  307,  326,  313,  319,  323,  330,  321,  324,  335, +      341,  315,  336,  324,  323,  342,  343,  344,  349,  347, +      348,  350,  335,  351,  336,  341,  352,  330,  342,  348, +      355,  356,  351,  343,  347,  349,  350,  353,  354,  355, +      344,  357,  353,  354,  360,  361,  364,  365,  352,  366, +      368,  370,  357,  371,  356,  366,  372,  373,  371,  364, + +      374,  360,  365,  368,  375,  376,  377,  378,  361,  375, +      373,  379,  380,  381,  370,  374,  378,  383,  382,  387, +      389,  380,  385,  388,  376,  372,  390,  391,  381,  377, +      383,  385,  387,  393,  390,  394,  395,  397,  389,  392, +      379,  382,  386,  384,  388,  395,  369,  367,  363,  362, +      393,  359,  358,  346,  345,  340,  391,  339,  397,  400, +      400,  400,  400,  401,  401,  403,  338,  403,  403,  337, +      334,  333,  332,  331,  329,  328,  327,  325,  322,  320, +      318,  317,  316,  312,  310,  306,  300,  299,  298,  294, +      293,  292,  291,  290,  289,  288,  287,  285,  279,  273, + +      271,  262,  259,  256,  254,  244,  242,  241,  238,  225, +      223,  222,  213,  201,  200,  199,  187,  166,  164,  162, +      157,  156,  154,  151,  150,  130,  125,  121,  118,  115, +      111,  107,   94,   82,   58,   39,   37,    8,    7,    3, +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399, +      399,  399      } ;  static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -734,7 +736,7 @@ goto find_rule; \  #define YY_MORE_ADJ 0  #define YY_RESTORE_YY_MORE_OFFSET  char *yytext; -#line 1 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 1 "/llvm/lib/AsmParser/Lexer.l"  #define INITIAL 0  /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//  // @@ -749,7 +751,7 @@ char *yytext;  //  //===----------------------------------------------------------------------===*/  #define YY_NEVER_INTERACTIVE 1 -#line 28 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 28 "/llvm/lib/AsmParser/Lexer.l"  #include "ParserInternals.h"  #include "llvm/Module.h"  #include <list> @@ -875,7 +877,7 @@ using namespace llvm;  /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing   * it to deal with 64 bit numbers.   */ -#line 879 "Lexer.cpp" +#line 881 "Lexer.cpp"  /* Macros after this point can all be overridden by user definitions in   * section 1. @@ -1023,13 +1025,13 @@ YY_MALLOC_DECL  YY_DECL  	{  	register yy_state_type yy_current_state; -	register char *yy_cp = NULL, *yy_bp = NULL; +	register char *yy_cp, *yy_bp;  	register int yy_act; -#line 179 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 179 "/llvm/lib/AsmParser/Lexer.l" -#line 1033 "Lexer.cpp" +#line 1035 "Lexer.cpp"  	if ( yy_init )  		{ @@ -1077,14 +1079,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 >= 397 ) +				if ( yy_current_state >= 400 )  					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 != 396 ); +		while ( yy_current_state != 399 );  yy_find_action:  		yy_current_state = *--yy_state_ptr; @@ -1122,441 +1124,446 @@ do_action:	/* This label is used only to access EOF actions. */  	{ /* beginning of action switch */  case 1:  YY_RULE_SETUP -#line 181 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 181 "/llvm/lib/AsmParser/Lexer.l"  { /* Ignore comments for now */ }  	YY_BREAK  case 2:  YY_RULE_SETUP -#line 183 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 183 "/llvm/lib/AsmParser/Lexer.l"  { return BEGINTOK; }  	YY_BREAK  case 3:  YY_RULE_SETUP -#line 184 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 184 "/llvm/lib/AsmParser/Lexer.l"  { return ENDTOK; }  	YY_BREAK  case 4:  YY_RULE_SETUP -#line 185 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 185 "/llvm/lib/AsmParser/Lexer.l"  { return TRUETOK;  }  	YY_BREAK  case 5:  YY_RULE_SETUP -#line 186 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 186 "/llvm/lib/AsmParser/Lexer.l"  { return FALSETOK; }  	YY_BREAK  case 6:  YY_RULE_SETUP -#line 187 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 187 "/llvm/lib/AsmParser/Lexer.l"  { return DECLARE; }  	YY_BREAK  case 7:  YY_RULE_SETUP -#line 188 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 188 "/llvm/lib/AsmParser/Lexer.l"  { return GLOBAL; }  	YY_BREAK  case 8:  YY_RULE_SETUP -#line 189 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 189 "/llvm/lib/AsmParser/Lexer.l"  { return CONSTANT; }  	YY_BREAK  case 9:  YY_RULE_SETUP -#line 190 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 190 "/llvm/lib/AsmParser/Lexer.l"  { return INTERNAL; }  	YY_BREAK  case 10:  YY_RULE_SETUP -#line 191 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 191 "/llvm/lib/AsmParser/Lexer.l"  { return LINKONCE; }  	YY_BREAK  case 11:  YY_RULE_SETUP -#line 192 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 192 "/llvm/lib/AsmParser/Lexer.l"  { return WEAK; }  	YY_BREAK  case 12:  YY_RULE_SETUP -#line 193 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 193 "/llvm/lib/AsmParser/Lexer.l"  { return APPENDING; }  	YY_BREAK  case 13:  YY_RULE_SETUP -#line 194 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 194 "/llvm/lib/AsmParser/Lexer.l"  { return EXTERNAL; }    /* Deprecated, turn into external */  	YY_BREAK  case 14:  YY_RULE_SETUP -#line 195 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 195 "/llvm/lib/AsmParser/Lexer.l"  { return EXTERNAL; }  	YY_BREAK  case 15:  YY_RULE_SETUP -#line 196 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 196 "/llvm/lib/AsmParser/Lexer.l"  { return IMPLEMENTATION; }  	YY_BREAK  case 16:  YY_RULE_SETUP -#line 197 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 197 "/llvm/lib/AsmParser/Lexer.l"  { return ZEROINITIALIZER; }  	YY_BREAK  case 17:  YY_RULE_SETUP -#line 198 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 198 "/llvm/lib/AsmParser/Lexer.l"  { return DOTDOTDOT; }  	YY_BREAK  case 18:  YY_RULE_SETUP -#line 199 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 199 "/llvm/lib/AsmParser/Lexer.l"  { return UNDEF; }  	YY_BREAK  case 19:  YY_RULE_SETUP -#line 200 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 200 "/llvm/lib/AsmParser/Lexer.l"  { return NULL_TOK; }  	YY_BREAK  case 20:  YY_RULE_SETUP -#line 201 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 201 "/llvm/lib/AsmParser/Lexer.l"  { return TO; }  	YY_BREAK  case 21:  YY_RULE_SETUP -#line 202 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 202 "/llvm/lib/AsmParser/Lexer.l"  { RET_TOK(TermOpVal, Unwind, UNWIND); }  	YY_BREAK  case 22:  YY_RULE_SETUP -#line 203 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 203 "/llvm/lib/AsmParser/Lexer.l"  { return NOT; }  /* Deprecated, turned into XOR */  	YY_BREAK  case 23:  YY_RULE_SETUP -#line 204 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 204 "/llvm/lib/AsmParser/Lexer.l"  { return TAIL; }  	YY_BREAK  case 24:  YY_RULE_SETUP -#line 205 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 205 "/llvm/lib/AsmParser/Lexer.l"  { return TARGET; }  	YY_BREAK  case 25:  YY_RULE_SETUP -#line 206 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 206 "/llvm/lib/AsmParser/Lexer.l"  { return TRIPLE; }  	YY_BREAK  case 26:  YY_RULE_SETUP -#line 207 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 207 "/llvm/lib/AsmParser/Lexer.l"  { return DEPLIBS; }  	YY_BREAK  case 27:  YY_RULE_SETUP -#line 208 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 208 "/llvm/lib/AsmParser/Lexer.l"  { return ENDIAN; }  	YY_BREAK  case 28:  YY_RULE_SETUP -#line 209 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 209 "/llvm/lib/AsmParser/Lexer.l"  { return POINTERSIZE; }  	YY_BREAK  case 29:  YY_RULE_SETUP -#line 210 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 210 "/llvm/lib/AsmParser/Lexer.l"  { return LITTLE; }  	YY_BREAK  case 30:  YY_RULE_SETUP -#line 211 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 211 "/llvm/lib/AsmParser/Lexer.l"  { return BIG; }  	YY_BREAK  case 31:  YY_RULE_SETUP -#line 212 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 212 "/llvm/lib/AsmParser/Lexer.l"  { return VOLATILE; }  	YY_BREAK  case 32:  YY_RULE_SETUP -#line 214 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 214 "/llvm/lib/AsmParser/Lexer.l"  { return CC_TOK; }  	YY_BREAK  case 33:  YY_RULE_SETUP -#line 215 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 215 "/llvm/lib/AsmParser/Lexer.l"  { return CCC_TOK; }  	YY_BREAK  case 34:  YY_RULE_SETUP -#line 216 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 216 "/llvm/lib/AsmParser/Lexer.l"  { return FASTCC_TOK; }  	YY_BREAK  case 35:  YY_RULE_SETUP -#line 217 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 217 "/llvm/lib/AsmParser/Lexer.l"  { return COLDCC_TOK; }  	YY_BREAK  case 36:  YY_RULE_SETUP -#line 219 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 219 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }  	YY_BREAK  case 37:  YY_RULE_SETUP -#line 220 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 220 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }  	YY_BREAK  case 38:  YY_RULE_SETUP -#line 221 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 221 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }  	YY_BREAK  case 39:  YY_RULE_SETUP -#line 222 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 222 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }  	YY_BREAK  case 40:  YY_RULE_SETUP -#line 223 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 223 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }  	YY_BREAK  case 41:  YY_RULE_SETUP -#line 224 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 224 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }  	YY_BREAK  case 42:  YY_RULE_SETUP -#line 225 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 225 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }  	YY_BREAK  case 43:  YY_RULE_SETUP -#line 226 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 226 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }  	YY_BREAK  case 44:  YY_RULE_SETUP -#line 227 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 227 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }  	YY_BREAK  case 45:  YY_RULE_SETUP -#line 228 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 228 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }  	YY_BREAK  case 46:  YY_RULE_SETUP -#line 229 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 229 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }  	YY_BREAK  case 47:  YY_RULE_SETUP -#line 230 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 230 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }  	YY_BREAK  case 48:  YY_RULE_SETUP -#line 231 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 231 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }  	YY_BREAK  case 49:  YY_RULE_SETUP -#line 232 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 232 "/llvm/lib/AsmParser/Lexer.l"  { return TYPE;   }  	YY_BREAK  case 50:  YY_RULE_SETUP -#line 233 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 233 "/llvm/lib/AsmParser/Lexer.l"  { return OPAQUE; }  	YY_BREAK  case 51:  YY_RULE_SETUP -#line 235 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Add, ADD); } +#line 234 "/llvm/lib/AsmParser/Lexer.l" +{ return ALIGN;  }  	YY_BREAK  case 52:  YY_RULE_SETUP -#line 236 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Sub, SUB); } +#line 236 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Add, ADD); }  	YY_BREAK  case 53:  YY_RULE_SETUP -#line 237 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Mul, MUL); } +#line 237 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Sub, SUB); }  	YY_BREAK  case 54:  YY_RULE_SETUP -#line 238 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Div, DIV); } +#line 238 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Mul, MUL); }  	YY_BREAK  case 55:  YY_RULE_SETUP -#line 239 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Rem, REM); } +#line 239 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Div, DIV); }  	YY_BREAK  case 56:  YY_RULE_SETUP -#line 240 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, And, AND); } +#line 240 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Rem, REM); }  	YY_BREAK  case 57:  YY_RULE_SETUP -#line 241 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Or , OR ); } +#line 241 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, And, AND); }  	YY_BREAK  case 58:  YY_RULE_SETUP -#line 242 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Xor, XOR); } +#line 242 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Or , OR ); }  	YY_BREAK  case 59:  YY_RULE_SETUP -#line 243 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetNE, SETNE); } +#line 243 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Xor, XOR); }  	YY_BREAK  case 60:  YY_RULE_SETUP -#line 244 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); } +#line 244 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetNE, SETNE); }  	YY_BREAK  case 61:  YY_RULE_SETUP -#line 245 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetLT, SETLT); } +#line 245 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }  	YY_BREAK  case 62:  YY_RULE_SETUP -#line 246 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetGT, SETGT); } +#line 246 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetLT, SETLT); }  	YY_BREAK  case 63:  YY_RULE_SETUP -#line 247 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetLE, SETLE); } +#line 247 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetGT, SETGT); }  	YY_BREAK  case 64:  YY_RULE_SETUP -#line 248 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SetGE, SETGE); } +#line 248 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetLE, SETLE); }  	YY_BREAK  case 65:  YY_RULE_SETUP -#line 250 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, PHI, PHI_TOK); } +#line 249 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SetGE, SETGE); }  	YY_BREAK  case 66:  YY_RULE_SETUP -#line 251 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Call, CALL); } +#line 251 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }  	YY_BREAK  case 67:  YY_RULE_SETUP -#line 252 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Cast, CAST); } +#line 252 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Call, CALL); }  	YY_BREAK  case 68:  YY_RULE_SETUP -#line 253 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Select, SELECT); } +#line 253 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Cast, CAST); }  	YY_BREAK  case 69:  YY_RULE_SETUP -#line 254 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Shl, SHL); } +#line 254 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Select, SELECT); }  	YY_BREAK  case 70:  YY_RULE_SETUP -#line 255 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Shr, SHR); } +#line 255 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Shl, SHL); }  	YY_BREAK  case 71:  YY_RULE_SETUP -#line 256 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ return VANEXT_old; } +#line 256 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Shr, SHR); }  	YY_BREAK  case 72:  YY_RULE_SETUP -#line 257 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ return VAARG_old; } +#line 257 "/llvm/lib/AsmParser/Lexer.l" +{ return VANEXT_old; }  	YY_BREAK  case 73:  YY_RULE_SETUP -#line 258 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, VAArg , VAARG); } +#line 258 "/llvm/lib/AsmParser/Lexer.l" +{ return VAARG_old; }  	YY_BREAK  case 74:  YY_RULE_SETUP -#line 259 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Ret, RET); } +#line 259 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, VAArg , VAARG); }  	YY_BREAK  case 75:  YY_RULE_SETUP -#line 260 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Br, BR); } +#line 260 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Ret, RET); }  	YY_BREAK  case 76:  YY_RULE_SETUP -#line 261 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Switch, SWITCH); } +#line 261 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Br, BR); }  	YY_BREAK  case 77:  YY_RULE_SETUP -#line 262 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Invoke, INVOKE); } +#line 262 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Switch, SWITCH); }  	YY_BREAK  case 78:  YY_RULE_SETUP -#line 263 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unwind, UNWIND); } +#line 263 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Invoke, INVOKE); }  	YY_BREAK  case 79:  YY_RULE_SETUP -#line 264 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } +#line 264 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unwind, UNWIND); }  	YY_BREAK  case 80:  YY_RULE_SETUP -#line 266 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Malloc, MALLOC); } +#line 265 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }  	YY_BREAK  case 81:  YY_RULE_SETUP -#line 267 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Alloca, ALLOCA); } +#line 267 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Malloc, MALLOC); }  	YY_BREAK  case 82:  YY_RULE_SETUP -#line 268 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Free, FREE); } +#line 268 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Alloca, ALLOCA); }  	YY_BREAK  case 83:  YY_RULE_SETUP -#line 269 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Load, LOAD); } +#line 269 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Free, FREE); }  	YY_BREAK  case 84:  YY_RULE_SETUP -#line 270 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Store, STORE); } +#line 270 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Load, LOAD); }  	YY_BREAK  case 85:  YY_RULE_SETUP -#line 271 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } +#line 271 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Store, STORE); }  	YY_BREAK  case 86:  YY_RULE_SETUP -#line 274 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 272 "/llvm/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } +	YY_BREAK +case 87: +YY_RULE_SETUP +#line 275 "/llvm/lib/AsmParser/Lexer.l"  {                    UnEscapeLexed(yytext+1);                    llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %                    return VAR_ID;                  }  	YY_BREAK -case 87: +case 88:  YY_RULE_SETUP -#line 279 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 280 "/llvm/lib/AsmParser/Lexer.l"  {                    yytext[strlen(yytext)-1] = 0;  // nuke colon                    UnEscapeLexed(yytext); @@ -1564,9 +1571,9 @@ YY_RULE_SETUP                    return LABELSTR;                  }  	YY_BREAK -case 88: +case 89:  YY_RULE_SETUP -#line 285 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 286 "/llvm/lib/AsmParser/Lexer.l"  {                    yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote                    UnEscapeLexed(yytext+1); @@ -1574,9 +1581,9 @@ YY_RULE_SETUP                    return LABELSTR;                  }  	YY_BREAK -case 89: +case 90:  YY_RULE_SETUP -#line 292 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 293 "/llvm/lib/AsmParser/Lexer.l"  { // Note that we cannot unescape a string constant here!  The                     // string constant might contain a \00 which would not be                     // understood by the string stuff.  It is valid to make a @@ -1587,14 +1594,14 @@ YY_RULE_SETUP                     return STRINGCONSTANT;                   }  	YY_BREAK -case 90: +case 91:  YY_RULE_SETUP -#line 303 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 304 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }  	YY_BREAK -case 91: +case 92:  YY_RULE_SETUP -#line 304 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 305 "/llvm/lib/AsmParser/Lexer.l"  {                    uint64_t Val = atoull(yytext+1);                    // +1:  we have bigger negative range @@ -1604,17 +1611,17 @@ YY_RULE_SETUP                    return ESINT64VAL;                  }  	YY_BREAK -case 92: +case 93:  YY_RULE_SETUP -#line 312 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 313 "/llvm/lib/AsmParser/Lexer.l"  {                     llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);                     return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;                   }  	YY_BREAK -case 93: +case 94:  YY_RULE_SETUP -#line 317 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 318 "/llvm/lib/AsmParser/Lexer.l"  {                    uint64_t Val = atoull(yytext+1);                    if ((unsigned)Val != Val) @@ -1623,9 +1630,9 @@ YY_RULE_SETUP                    return UINTVAL;                  }  	YY_BREAK -case 94: +case 95:  YY_RULE_SETUP -#line 324 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 325 "/llvm/lib/AsmParser/Lexer.l"  {                    uint64_t Val = atoull(yytext+2);                    // +1:  we have bigger negative range @@ -1635,18 +1642,18 @@ YY_RULE_SETUP                    return SINTVAL;                  }  	YY_BREAK -case 95: +case 96:  YY_RULE_SETUP -#line 333 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 334 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }  	YY_BREAK -case 96: +case 97:  YY_RULE_SETUP -#line 334 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 335 "/llvm/lib/AsmParser/Lexer.l"  { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }  	YY_BREAK  case YY_STATE_EOF(INITIAL): -#line 336 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 337 "/llvm/lib/AsmParser/Lexer.l"  {                    /* Make sure to free the internal buffers for flex when we are                     * done reading our input! @@ -1655,22 +1662,22 @@ case YY_STATE_EOF(INITIAL):                    return EOF;                  }  	YY_BREAK -case 97: +case 98:  YY_RULE_SETUP -#line 344 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 345 "/llvm/lib/AsmParser/Lexer.l"  { /* Ignore whitespace */ }  	YY_BREAK -case 98: +case 99:  YY_RULE_SETUP -#line 345 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 346 "/llvm/lib/AsmParser/Lexer.l"  { return yytext[0]; }  	YY_BREAK -case 99: +case 100:  YY_RULE_SETUP -#line 347 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 348 "/llvm/lib/AsmParser/Lexer.l"  YY_FATAL_ERROR( "flex scanner jammed" );  	YY_BREAK -#line 1674 "Lexer.cpp" +#line 1681 "Lexer.cpp"  	case YY_END_OF_BUFFER:  		{ @@ -1957,7 +1964,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 >= 397 ) +			if ( yy_current_state >= 400 )  				yy_c = yy_meta[(unsigned int) yy_c];  			}  		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1987,11 +1994,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 >= 397 ) +		if ( yy_current_state >= 400 )  			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 == 396); +	yy_is_jam = (yy_current_state == 399);  	if ( ! yy_is_jam )  		*yy_state_ptr++ = yy_current_state; @@ -2046,7 +2053,6 @@ register char *yy_bp;  #endif	/* ifndef YY_NO_UNPUT */ -#ifndef YY_NO_INPUT  #ifdef __cplusplus  static int yyinput()  #else @@ -2120,7 +2126,7 @@ static int input()  	return c;  	} -#endif /* YY_NO_INPUT */ +  #ifdef YY_USE_PROTOS  void yyrestart( FILE *input_file ) @@ -2231,6 +2237,11 @@ YY_BUFFER_STATE b;  	} +#ifndef YY_ALWAYS_INTERACTIVE +#ifndef YY_NEVER_INTERACTIVE +extern int isatty YY_PROTO(( int )); +#endif +#endif  #ifdef YY_USE_PROTOS  void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) @@ -2548,5 +2559,5 @@ int main()  	return 0;  	}  #endif -#line 347 "/proj/llvm/build/../llvm/lib/AsmParser/Lexer.l" +#line 348 "/llvm/lib/AsmParser/Lexer.l" diff --git a/llvm/lib/AsmParser/Lexer.l b/llvm/lib/AsmParser/Lexer.l index f9866f2bbcd..2102a93cc29 100644 --- a/llvm/lib/AsmParser/Lexer.l +++ b/llvm/lib/AsmParser/Lexer.l @@ -231,6 +231,7 @@ double          { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }  label           { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }  type            { return TYPE;   }  opaque          { return OPAQUE; } +align           { return ALIGN;  }  add             { RET_TOK(BinaryOpVal, Add, ADD); }  sub             { RET_TOK(BinaryOpVal, Sub, SUB); } diff --git a/llvm/lib/AsmParser/llvmAsmParser.cpp b/llvm/lib/AsmParser/llvmAsmParser.cpp index 92e0a394627..953fce8e8e1 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.cpp +++ b/llvm/lib/AsmParser/llvmAsmParser.cpp @@ -1,257 +1,110 @@ -/* A Bison parser, made by GNU Bison 1.875d.  */ -/* Skeleton parser for Yacc-like parsing with Bison, -   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +/*  A Bison parser, made from /llvm/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.  */ - -/* 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.  */ +#define YYBISON 1  /* Identify Bison output.  */ -/* 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, -     VOLATILE = 289, -     TO = 290, -     DOTDOTDOT = 291, -     NULL_TOK = 292, -     UNDEF = 293, -     CONST = 294, -     INTERNAL = 295, -     LINKONCE = 296, -     WEAK = 297, -     APPENDING = 298, -     OPAQUE = 299, -     NOT = 300, -     EXTERNAL = 301, -     TARGET = 302, -     TRIPLE = 303, -     ENDIAN = 304, -     POINTERSIZE = 305, -     LITTLE = 306, -     BIG = 307, -     DEPLIBS = 308, -     CALL = 309, -     TAIL = 310, -     CC_TOK = 311, -     CCC_TOK = 312, -     FASTCC_TOK = 313, -     COLDCC_TOK = 314, -     RET = 315, -     BR = 316, -     SWITCH = 317, -     INVOKE = 318, -     UNWIND = 319, -     UNREACHABLE = 320, -     ADD = 321, -     SUB = 322, -     MUL = 323, -     DIV = 324, -     REM = 325, -     AND = 326, -     OR = 327, -     XOR = 328, -     SETLE = 329, -     SETGE = 330, -     SETLT = 331, -     SETGT = 332, -     SETEQ = 333, -     SETNE = 334, -     MALLOC = 335, -     ALLOCA = 336, -     FREE = 337, -     LOAD = 338, -     STORE = 339, -     GETELEMENTPTR = 340, -     PHI_TOK = 341, -     CAST = 342, -     SELECT = 343, -     SHL = 344, -     SHR = 345, -     VAARG = 346, -     VAARG_old = 347, -     VANEXT_old = 348 -   }; -#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 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 DEPLIBS 308 -#define CALL 309 -#define TAIL 310 -#define CC_TOK 311 -#define CCC_TOK 312 -#define FASTCC_TOK 313 -#define COLDCC_TOK 314 -#define RET 315 -#define BR 316 -#define SWITCH 317 -#define INVOKE 318 -#define UNWIND 319 -#define UNREACHABLE 320 -#define ADD 321 -#define SUB 322 -#define MUL 323 -#define DIV 324 -#define REM 325 -#define AND 326 -#define OR 327 -#define XOR 328 -#define SETLE 329 -#define SETGE 330 -#define SETLT 331 -#define SETGT 332 -#define SETEQ 333 -#define SETNE 334 -#define MALLOC 335 -#define ALLOCA 336 -#define FREE 337 -#define LOAD 338 -#define STORE 339 -#define GETELEMENTPTR 340 -#define PHI_TOK 341 -#define CAST 342 -#define SELECT 343 -#define SHL 344 -#define SHR 345 -#define VAARG 346 -#define VAARG_old 347 -#define VANEXT_old 348 - - - - -/* Copy the first part of user declarations.  */ -#line 14 "/usr/home/llvm/obj/../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	VOLATILE	288 +#define	TO	289 +#define	DOTDOTDOT	290 +#define	NULL_TOK	291 +#define	UNDEF	292 +#define	CONST	293 +#define	INTERNAL	294 +#define	LINKONCE	295 +#define	WEAK	296 +#define	APPENDING	297 +#define	OPAQUE	298 +#define	NOT	299 +#define	EXTERNAL	300 +#define	TARGET	301 +#define	TRIPLE	302 +#define	ENDIAN	303 +#define	POINTERSIZE	304 +#define	LITTLE	305 +#define	BIG	306 +#define	ALIGN	307 +#define	DEPLIBS	308 +#define	CALL	309 +#define	TAIL	310 +#define	CC_TOK	311 +#define	CCC_TOK	312 +#define	FASTCC_TOK	313 +#define	COLDCC_TOK	314 +#define	RET	315 +#define	BR	316 +#define	SWITCH	317 +#define	INVOKE	318 +#define	UNWIND	319 +#define	UNREACHABLE	320 +#define	ADD	321 +#define	SUB	322 +#define	MUL	323 +#define	DIV	324 +#define	REM	325 +#define	AND	326 +#define	OR	327 +#define	XOR	328 +#define	SETLE	329 +#define	SETGE	330 +#define	SETLT	331 +#define	SETGT	332 +#define	SETEQ	333 +#define	SETNE	334 +#define	MALLOC	335 +#define	ALLOCA	336 +#define	FREE	337 +#define	LOAD	338 +#define	STORE	339 +#define	GETELEMENTPTR	340 +#define	PHI_TOK	341 +#define	CAST	342 +#define	SELECT	343 +#define	SHL	344 +#define	SHR	345 +#define	VAARG	346 +#define	VAARG_old	347 +#define	VANEXT_old	348 + +#line 14 "/llvm/lib/AsmParser/llvmAsmParser.y"  #include "ParserInternals.h"  #include "llvm/CallingConv.h" @@ -1103,23 +956,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 866 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -typedef union YYSTYPE { +#line 866 "/llvm/lib/AsmParser/llvmAsmParser.y" +typedef union {    llvm::Module                           *ModuleVal;    llvm::Function                         *FunctionVal;    std::pair<llvm::PATypeHolder*, char*>  *ArgVal; @@ -1158,1235 +996,948 @@ typedef union YYSTYPE {    llvm::Instruction::OtherOps             OtherOpVal;    llvm::Module::Endianness                Endianness;  } YYSTYPE; -/* Line 191 of yacc.c.  */ -#line 1163 "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.  */ +#include <stdio.h> +#ifndef __cplusplus +#ifndef __STDC__ +#define const +#endif +#endif -/* Line 214 of yacc.c.  */ -#line 1175 "llvmAsmParser.tab.c" - -#if ! defined (yyoverflow) || YYERROR_VERBOSE - -# 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 - -# 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		429 +#define	YYFLAG		-32768 +#define	YYNTBASE	109 + +#define YYTRANSLATE(x) ((unsigned)(x) <= 348 ? yytranslate[x] : 170) + +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,    97, +    98,   106,     2,   107,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,   102, +    95,   103,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +    99,    96,   101,     2,     2,     2,     2,     2,   108,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,   100, +     2,     2,   104,     2,   105,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     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 +}; -/* A type that is properly aligned for any stack member.  */ -union yyalloc -{ -  short int 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,    89,    91,    93,    95,    97, +    99,   101,   103,   105,   107,   109,   111,   113,   115,   117, +   119,   121,   123,   125,   127,   129,   132,   137,   143,   149, +   153,   156,   159,   161,   165,   167,   171,   173,   174,   179, +   183,   187,   192,   197,   201,   204,   207,   210,   213,   216, +   219,   222,   225,   228,   231,   238,   244,   253,   260,   267, +   274,   281,   285,   287,   289,   291,   293,   296,   299,   302, +   304,   309,   312,   318,   324,   328,   333,   334,   336,   338, +   342,   346,   350,   354,   358,   360,   361,   363,   365,   367, +   368,   371,   375,   377,   379,   383,   385,   386,   393,   395, +   397,   401,   403,   405,   408,   409,   413,   415,   417,   419, +   421,   423,   425,   427,   431,   433,   435,   437,   439,   441, +   444,   447,   450,   454,   457,   458,   460,   463,   466,   470, +   480,   490,   499,   513,   515,   517,   524,   530,   533,   540, +   548,   550,   554,   556,   557,   560,   562,   568,   574,   580, +   583,   588,   593,   600,   605,   610,   615,   618,   626,   628, +   631,   632,   634,   635,   638,   644,   650,   659,   662,   668, +   674,   683,   686,   691,   698 +}; -/* 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 int) + 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,    67,     0,    68, +     0,    69,     0,    70,     0,    71,     0,    72,     0,    73, +     0,    74,     0,    75,     0,    76,     0,    77,     0,    78, +     0,    79,     0,    80,     0,    90,     0,    91,     0,    16, +     0,    14,     0,    12,     0,    10,     0,    17,     0,    15, +     0,    13,     0,    11,     0,   115,     0,   116,     0,    18, +     0,    19,     0,   140,    95,     0,     0,    40,     0,    41, +     0,    42,     0,    43,     0,     0,     0,    58,     0,    59, +     0,    60,     0,    57,     4,     0,   124,     0,     8,     0, +   126,     0,     8,     0,   126,     0,     9,     0,    10,     0, +    11,     0,    12,     0,    13,     0,    14,     0,    15,     0, +    16,     0,    17,     0,    18,     0,    19,     0,    20,     0, +    21,     0,    44,     0,   125,     0,   153,     0,    96,     4, +     0,   123,    97,   128,    98,     0,    99,     4,   100,   126, +   101,     0,   102,     4,   100,   126,   103,     0,   104,   127, +   105,     0,   104,   105,     0,   126,   106,     0,   126,     0, +   127,   107,   126,     0,   127,     0,   127,   107,    36,     0, +    36,     0,     0,   124,    99,   131,   101,     0,   124,    99, +   101,     0,   124,   108,    24,     0,   124,   102,   131,   103, +     0,   124,   104,   131,   105,     0,   124,   104,   105,     0, +   124,    37,     0,   124,    38,     0,   124,   153,     0,   124, +   130,     0,   124,    26,     0,   115,   110,     0,   116,     4, +     0,     9,    27,     0,     9,    28,     0,   118,     7,     0, +    88,    97,   129,    35,   124,    98,     0,    86,    97,   129, +   167,    98,     0,    89,    97,   129,   107,   129,   107,   129, +    98,     0,   111,    97,   129,   107,   129,    98,     0,   112, +    97,   129,   107,   129,    98,     0,   113,    97,   129,   107, +   129,    98,     0,   114,    97,   129,   107,   129,    98,     0, +   131,   107,   129,     0,   129,     0,    32,     0,    33,     0, +   134,     0,   134,   149,     0,   134,   150,     0,   134,    25, +     0,   135,     0,   135,   119,    20,   122,     0,   135,   150, +     0,   135,   119,   120,   132,   129,     0,   135,   119,    46, +   132,   124,     0,   135,    47,   137,     0,   135,    54,    95, +   138,     0,     0,    52,     0,    51,     0,    49,    95,   136, +     0,    50,    95,     4,     0,    48,    95,    24,     0,    99, +   139,   101,     0,   139,   107,    24,     0,    24,     0,     0, +    22,     0,    24,     0,   140,     0,     0,   124,   141,     0, +   143,   107,   142,     0,   142,     0,   143,     0,   143,   107, +    36,     0,    36,     0,     0,   121,   122,   140,    97,   144, +    98,     0,    29,     0,   104,     0,   120,   145,   146,     0, +    30,     0,   105,     0,   156,   148,     0,     0,    31,   151, +   145,     0,     3,     0,     4,     0,     7,     0,    27,     0, +    28,     0,    37,     0,    38,     0,   102,   131,   103,     0, +   130,     0,   109,     0,   140,     0,   153,     0,   152,     0, +   124,   154,     0,   156,   157,     0,   147,   157,     0,   158, +   119,   159,     0,   158,   161,     0,     0,    23,     0,    61, +   155,     0,    61,     8,     0,    62,    21,   154,     0,    62, +     9,   154,   107,    21,   154,   107,    21,   154,     0,    63, +   117,   154,   107,    21,   154,    99,   160,   101,     0,    63, +   117,   154,   107,    21,   154,    99,   101,     0,    64,   121, +   122,   154,    97,   164,    98,    35,    21,   154,    65,    21, +   154,     0,    65,     0,    66,     0,   160,   117,   152,   107, +    21,   154,     0,   117,   152,   107,    21,   154,     0,   119, +   166,     0,   124,    99,   154,   107,   154,   101,     0,   162, +   107,    99,   154,   107,   154,   101,     0,   155,     0,   163, +   107,   155,     0,   163,     0,     0,    56,    55,     0,    55, +     0,   111,   124,   154,   107,   154,     0,   112,   124,   154, +   107,   154,     0,   113,   124,   154,   107,   154,     0,    45, +   155,     0,   114,   155,   107,   155,     0,    88,   155,    35, +   124,     0,    89,   155,   107,   155,   107,   155,     0,    92, +   155,   107,   124,     0,    93,   155,   107,   124,     0,    94, +   155,   107,   124,     0,    87,   162,     0,   165,   121,   122, +   154,    97,   164,    98,     0,   169,     0,   107,   163,     0, +     0,    34,     0,     0,    81,   124,     0,    81,   124,   107, +    53,     4,     0,    81,   124,   107,    15,   154,     0,    81, +   124,   107,    15,   154,   107,    53,     4,     0,    82,   124, +     0,    82,   124,   107,    53,     4,     0,    82,   124,   107, +    15,   154,     0,    82,   124,   107,    15,   154,   107,    53, +     4,     0,    83,   155,     0,   168,    84,   124,   154,     0, +   168,    85,   155,   107,   124,   154,     0,    86,   124,   154, +   167,     0 +};  #endif -#if defined (__STDC__) || defined (__cplusplus) -   typedef signed char yysigned_char; -#else -   typedef short int yysigned_char; +#if YYDEBUG != 0 +static const short yyrline[] = { 0, +   983,   984,   991,   992,  1001,  1001,  1001,  1001,  1001,  1002, +  1002,  1002,  1003,  1003,  1003,  1003,  1003,  1003,  1005,  1005, +  1009,  1009,  1009,  1009,  1010,  1010,  1010,  1010,  1011,  1011, +  1012,  1012,  1015,  1018,  1022,  1022,  1023,  1024,  1025,  1028, +  1028,  1029,  1030,  1031,  1045,  1045,  1046,  1046,  1048,  1057, +  1057,  1057,  1057,  1057,  1057,  1057,  1058,  1058,  1058,  1058, +  1058,  1058,  1059,  1062,  1065,  1071,  1078,  1090,  1094,  1105, +  1114,  1117,  1125,  1129,  1134,  1135,  1138,  1141,  1151,  1176, +  1189,  1217,  1242,  1262,  1274,  1283,  1287,  1346,  1352,  1360, +  1365,  1370,  1373,  1376,  1383,  1393,  1424,  1431,  1452,  1459, +  1464,  1474,  1477,  1484,  1484,  1494,  1501,  1505,  1508,  1511, +  1524,  1544,  1546,  1550,  1554,  1556,  1558,  1563,  1564,  1566, +  1569,  1577,  1582,  1584,  1588,  1592,  1600,  1600,  1601,  1601, +  1603,  1609,  1614,  1620,  1623,  1628,  1632,  1636,  1716,  1716, +  1718,  1726,  1726,  1728,  1732,  1732,  1741,  1744,  1747,  1750, +  1753,  1756,  1759,  1762,  1786,  1793,  1796,  1801,  1801,  1807, +  1811,  1814,  1822,  1831,  1835,  1845,  1856,  1859,  1862,  1865, +  1868,  1882,  1886,  1939,  1942,  1948,  1956,  1966,  1973,  1978, +  1985,  1989,  1995,  1995,  1997,  2000,  2006,  2018,  2026,  2036, +  2048,  2055,  2062,  2069,  2074,  2093,  2115,  2129,  2186,  2192, +  2194,  2198,  2201,  2207,  2211,  2215,  2219,  2223,  2227,  2231, +  2235,  2239,  2246,  2256,  2269 +};  #endif -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL  4 -/* YYLAST -- Last index in YYTABLE.  */ -#define YYLAST   1102 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS  108 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS  62 -/* YYNRULES -- Number of rules. */ -#define YYNRULES  212 -/* YYNRULES -- Number of states. */ -#define YYNSTATES  419 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ -#define YYUNDEFTOK  2 -#define YYMAXUTOK   348 - -#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, -      96,    97,   105,     2,   106,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -     101,    94,   102,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,    98,    95,   100,     2,     2,     2,     2,     2,   107, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -      99,     2,     2,   103,     2,   104,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     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 -}; -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in -   YYRHS.  */ -static const unsigned short int 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,    92,    94,    96, -      98,   100,   102,   104,   106,   108,   110,   112,   114,   116, -     118,   120,   122,   124,   126,   128,   130,   132,   135,   140, -     146,   152,   156,   159,   162,   164,   168,   170,   174,   176, -     177,   182,   186,   190,   195,   200,   204,   207,   210,   213, -     216,   219,   222,   225,   228,   231,   234,   241,   247,   256, -     263,   270,   277,   284,   288,   290,   292,   294,   296,   299, -     302,   305,   307,   312,   315,   321,   327,   331,   336,   337, -     339,   341,   345,   349,   353,   357,   361,   363,   364,   366, -     368,   370,   371,   374,   378,   380,   382,   386,   388,   389, -     396,   398,   400,   404,   406,   408,   411,   412,   416,   418, -     420,   422,   424,   426,   428,   430,   434,   436,   438,   440, -     442,   444,   447,   450,   453,   457,   460,   461,   463,   466, -     469,   473,   483,   493,   502,   516,   518,   520,   527,   533, -     536,   543,   551,   553,   557,   559,   560,   563,   565,   571, -     577,   583,   586,   591,   596,   603,   608,   613,   618,   621, -     629,   631,   634,   635,   637,   638,   641,   647,   650,   656, -     659,   664,   671 +#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","VOLATILE","TO","DOTDOTDOT", +"NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING","OPAQUE", +"NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE","BIG","ALIGN", +"DEPLIBS","CALL","TAIL","CC_TOK","CCC_TOK","FASTCC_TOK","COLDCC_TOK","RET","BR", +"SWITCH","INVOKE","UNWIND","UNREACHABLE","ADD","SUB","MUL","DIV","REM","AND", +"OR","XOR","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC","ALLOCA", +"FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK","CAST","SELECT","SHL","SHR", +"VAARG","VAARG_old","VANEXT_old","'='","'\\\\'","'('","')'","'['","'x'","']'", +"'<'","'>'","'{'","'}'","'*'","','","'c'","INTVAL","EINT64VAL","ArithmeticOps", +"LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType", +"OptAssign","OptLinkage","OptCallingConv","TypesV","UpRTypesV","Types","PrimType", +"UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType", +"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition", +"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN", +"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef", +"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst", +"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal", +"IndexList","OptVolatile","MemoryInst", NULL  }; +#endif -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const short int yyrhs[] = -{ -     133,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4, -      -1,    66,    -1,    67,    -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,    89, -      -1,    90,    -1,    16,    -1,    14,    -1,    12,    -1,    10, -      -1,    17,    -1,    15,    -1,    13,    -1,    11,    -1,   115, -      -1,   116,    -1,    18,    -1,    19,    -1,   140,    94,    -1, -      -1,    40,    -1,    41,    -1,    42,    -1,    43,    -1,    -1, -      -1,    57,    -1,    58,    -1,    59,    -1,    56,     4,    -1, -     124,    -1,     8,    -1,   126,    -1,     8,    -1,   126,    -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,    44,    -1,   125,    -1, -     153,    -1,    95,     4,    -1,   123,    96,   128,    97,    -1, -      98,     4,    99,   126,   100,    -1,   101,     4,    99,   126, -     102,    -1,   103,   127,   104,    -1,   103,   104,    -1,   126, -     105,    -1,   126,    -1,   127,   106,   126,    -1,   127,    -1, -     127,   106,    36,    -1,    36,    -1,    -1,   124,    98,   131, -     100,    -1,   124,    98,   100,    -1,   124,   107,    24,    -1, -     124,   101,   131,   102,    -1,   124,   103,   131,   104,    -1, -     124,   103,   104,    -1,   124,    37,    -1,   124,    38,    -1, -     124,   153,    -1,   124,   130,    -1,   124,    26,    -1,   115, -     110,    -1,   116,     4,    -1,     9,    27,    -1,     9,    28, -      -1,   118,     7,    -1,    87,    96,   129,    35,   124,    97, -      -1,    85,    96,   129,   167,    97,    -1,    88,    96,   129, -     106,   129,   106,   129,    97,    -1,   111,    96,   129,   106, -     129,    97,    -1,   112,    96,   129,   106,   129,    97,    -1, -     113,    96,   129,   106,   129,    97,    -1,   114,    96,   129, -     106,   129,    97,    -1,   131,   106,   129,    -1,   129,    -1, -      32,    -1,    33,    -1,   134,    -1,   134,   149,    -1,   134, -     150,    -1,   134,    25,    -1,   135,    -1,   135,   119,    20, -     122,    -1,   135,   150,    -1,   135,   119,   120,   132,   129, -      -1,   135,   119,    46,   132,   124,    -1,   135,    47,   137, -      -1,   135,    53,    94,   138,    -1,    -1,    52,    -1,    51, -      -1,    49,    94,   136,    -1,    50,    94,     4,    -1,    48, -      94,    24,    -1,    98,   139,   100,    -1,   139,   106,    24, -      -1,    24,    -1,    -1,    22,    -1,    24,    -1,   140,    -1, -      -1,   124,   141,    -1,   143,   106,   142,    -1,   142,    -1, -     143,    -1,   143,   106,    36,    -1,    36,    -1,    -1,   121, -     122,   140,    96,   144,    97,    -1,    29,    -1,   103,    -1, -     120,   145,   146,    -1,    30,    -1,   104,    -1,   156,   148, -      -1,    -1,    31,   151,   145,    -1,     3,    -1,     4,    -1, -       7,    -1,    27,    -1,    28,    -1,    37,    -1,    38,    -1, -     101,   131,   102,    -1,   130,    -1,   109,    -1,   140,    -1, -     153,    -1,   152,    -1,   124,   154,    -1,   156,   157,    -1, -     147,   157,    -1,   158,   119,   159,    -1,   158,   161,    -1, -      -1,    23,    -1,    60,   155,    -1,    60,     8,    -1,    61, -      21,   154,    -1,    61,     9,   154,   106,    21,   154,   106, -      21,   154,    -1,    62,   117,   154,   106,    21,   154,    98, -     160,   100,    -1,    62,   117,   154,   106,    21,   154,    98, -     100,    -1,    63,   121,   122,   154,    96,   164,    97,    35, -      21,   154,    64,    21,   154,    -1,    64,    -1,    65,    -1, -     160,   117,   152,   106,    21,   154,    -1,   117,   152,   106, -      21,   154,    -1,   119,   166,    -1,   124,    98,   154,   106, -     154,   100,    -1,   162,   106,    98,   154,   106,   154,   100, -      -1,   155,    -1,   163,   106,   155,    -1,   163,    -1,    -1, -      55,    54,    -1,    54,    -1,   111,   124,   154,   106,   154, -      -1,   112,   124,   154,   106,   154,    -1,   113,   124,   154, -     106,   154,    -1,    45,   155,    -1,   114,   155,   106,   155, -      -1,    87,   155,    35,   124,    -1,    88,   155,   106,   155, -     106,   155,    -1,    91,   155,   106,   124,    -1,    92,   155, -     106,   124,    -1,    93,   155,   106,   124,    -1,    86,   162, -      -1,   165,   121,   122,   154,    96,   164,    97,    -1,   169, -      -1,   106,   163,    -1,    -1,    34,    -1,    -1,    80,   124, -      -1,    80,   124,   106,    15,   154,    -1,    81,   124,    -1, -      81,   124,   106,    15,   154,    -1,    82,   155,    -1,   168, -      83,   124,   154,    -1,   168,    84,   155,   106,   124,   154, -      -1,    85,   124,   154,   167,    -1 +static const short yyr1[] = {     0, +   109,   109,   110,   110,   111,   111,   111,   111,   111,   112, +   112,   112,   113,   113,   113,   113,   113,   113,   114,   114, +   115,   115,   115,   115,   116,   116,   116,   116,   117,   117, +   118,   118,   119,   119,   120,   120,   120,   120,   120,   121, +   121,   121,   121,   121,   122,   122,   123,   123,   124,   125, +   125,   125,   125,   125,   125,   125,   125,   125,   125,   125, +   125,   125,   126,   126,   126,   126,   126,   126,   126,   126, +   126,   126,   127,   127,   128,   128,   128,   128,   129,   129, +   129,   129,   129,   129,   129,   129,   129,   129,   129,   129, +   129,   129,   129,   129,   130,   130,   130,   130,   130,   130, +   130,   131,   131,   132,   132,   133,   134,   134,   134,   134, +   135,   135,   135,   135,   135,   135,   135,   136,   136,   137, +   137,   137,   138,   139,   139,   139,   140,   140,   141,   141, +   142,   143,   143,   144,   144,   144,   144,   145,   146,   146, +   147,   148,   148,   149,   151,   150,   152,   152,   152,   152, +   152,   152,   152,   152,   152,   153,   153,   154,   154,   155, +   156,   156,   157,   158,   158,   158,   159,   159,   159,   159, +   159,   159,   159,   159,   159,   160,   160,   161,   162,   162, +   163,   163,   164,   164,   165,   165,   166,   166,   166,   166, +   166,   166,   166,   166,   166,   166,   166,   166,   166,   167, +   167,   168,   168,   169,   169,   169,   169,   169,   169,   169, +   169,   169,   169,   169,   169  }; -/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ -static const unsigned short int yyrline[] = -{ -       0,   983,   983,   984,   991,   992,  1001,  1001,  1001,  1001, -    1001,  1002,  1002,  1002,  1003,  1003,  1003,  1003,  1003,  1003, -    1005,  1005,  1009,  1009,  1009,  1009,  1010,  1010,  1010,  1010, -    1011,  1011,  1012,  1012,  1015,  1018,  1022,  1023,  1024,  1025, -    1026,  1028,  1029,  1030,  1031,  1032,  1045,  1045,  1046,  1046, -    1048,  1057,  1057,  1057,  1057,  1057,  1057,  1057,  1058,  1058, -    1058,  1058,  1058,  1058,  1059,  1062,  1065,  1071,  1078,  1090, -    1094,  1105,  1114,  1117,  1125,  1129,  1134,  1135,  1138,  1141, -    1151,  1176,  1189,  1217,  1242,  1262,  1274,  1283,  1287,  1346, -    1352,  1360,  1365,  1370,  1373,  1376,  1383,  1393,  1424,  1431, -    1452,  1459,  1464,  1474,  1477,  1484,  1484,  1494,  1501,  1505, -    1508,  1511,  1524,  1544,  1546,  1550,  1554,  1556,  1558,  1563, -    1564,  1566,  1569,  1577,  1582,  1584,  1588,  1592,  1600,  1600, -    1601,  1601,  1603,  1609,  1614,  1620,  1623,  1628,  1632,  1636, -    1716,  1716,  1718,  1726,  1726,  1728,  1732,  1732,  1741,  1744, -    1747,  1750,  1753,  1756,  1759,  1762,  1786,  1793,  1796,  1801, -    1801,  1807,  1811,  1814,  1822,  1831,  1835,  1845,  1856,  1859, -    1862,  1865,  1868,  1882,  1886,  1939,  1942,  1948,  1956,  1966, -    1973,  1978,  1985,  1989,  1995,  1995,  1997,  2000,  2006,  2018, -    2026,  2036,  2048,  2055,  2062,  2069,  2074,  2093,  2115,  2129, -    2186,  2192,  2194,  2198,  2201,  2207,  2211,  2215,  2219,  2223, -    2230,  2240,  2253 +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,     1,     1,     1,     1,     1,     1, +     1,     1,     1,     1,     1,     1,     1,     1,     1,     1, +     1,     1,     1,     1,     1,     2,     4,     5,     5,     3, +     2,     2,     1,     3,     1,     3,     1,     0,     4,     3, +     3,     4,     4,     3,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     6,     5,     8,     6,     6,     6, +     6,     3,     1,     1,     1,     1,     2,     2,     2,     1, +     4,     2,     5,     5,     3,     4,     0,     1,     1,     3, +     3,     3,     3,     3,     1,     0,     1,     1,     1,     0, +     2,     3,     1,     1,     3,     1,     0,     6,     1,     1, +     3,     1,     1,     2,     0,     3,     1,     1,     1,     1, +     1,     1,     1,     3,     1,     1,     1,     1,     1,     2, +     2,     2,     3,     2,     0,     1,     2,     2,     3,     9, +     9,     8,    13,     1,     1,     6,     5,     2,     6,     7, +     1,     3,     1,     0,     2,     1,     5,     5,     5,     2, +     4,     4,     6,     4,     4,     4,     2,     7,     1,     2, +     0,     1,     0,     2,     5,     5,     8,     2,     5,     5, +     8,     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", "VOLATILE", "TO", "DOTDOTDOT", -  "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE", "WEAK", -  "APPENDING", "OPAQUE", "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", -  "POINTERSIZE", "LITTLE", "BIG", "DEPLIBS", "CALL", "TAIL", "CC_TOK", -  "CCC_TOK", "FASTCC_TOK", "COLDCC_TOK", "RET", "BR", "SWITCH", "INVOKE", -  "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "DIV", "REM", "AND", "OR", -  "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", -  "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST", -  "SELECT", "SHL", "SHR", "VAARG", "VAARG_old", "VANEXT_old", "'='", -  "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", -  "'*'", "','", "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps", -  "LogicalOps", "SetCondOps", "ShiftOps", "SIntType", "UIntType", -  "IntType", "FPType", "OptAssign", "OptLinkage", "OptCallingConv", -  "TypesV", "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI", -  "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", -  "Module", "FunctionList", "ConstPool", "BigOrLittle", "TargetDefinition", -  "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal", -  "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", -  "END", "Function", "FunctionProto", "@1", "ConstValueRef", -  "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList", -  "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", -  "PHIList", "ValueRefList", "ValueRefListE", "OptTailCall", "InstVal", -  "IndexList", "OptVolatile", "MemoryInst", 0 +static const short yydefact[] = {   117, +    39,   110,   109,   145,    35,    36,    37,    38,    40,   165, +   107,   108,   165,   127,   128,     0,     0,    39,     0,   112, +    40,     0,    41,    42,    43,     0,     0,   166,   162,    34, +   142,   143,   144,   161,     0,     0,     0,   115,     0,     0, +     0,     0,    33,   146,    44,     1,     2,    46,    50,    51, +    52,    53,    54,    55,    56,    57,    58,    59,    60,    61, +    62,    63,     0,     0,     0,     0,   156,     0,     0,    45, +    64,    49,   157,    65,   139,   140,   141,   203,   164,     0, +     0,     0,   126,   116,   111,   104,   105,     0,     0,    66, +     0,     0,    48,    71,    73,     0,     0,    78,    72,   202, +     0,   186,     0,     0,     0,     0,    40,   174,   175,     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,   163, +    40,   178,     0,   199,   122,   119,   118,   120,   121,   125, +     0,   114,    50,    51,    52,    53,    54,    55,    56,    57, +    58,    59,    60,     0,     0,     0,     0,   113,     0,     0, +    70,     0,   137,    77,    75,     0,     0,   190,   185,   168, +   167,     0,     0,    24,    28,    23,    27,    22,    26,    21, +    25,    29,    30,     0,     0,   204,   208,   212,     0,     0, +   197,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,   123,     0,    92,    93,     3,     4,    90, +    91,    94,    89,    85,    86,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,    88,    87,    47,    47, +    74,   136,   130,   133,   134,     0,     0,    67,   147,   148, +   149,   150,   151,   152,   153,     0,   155,   159,   158,   160, +     0,   169,     0,     0,     0,     0,   201,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,   124,     0,     0,     0,    80,   103,     0,     0,    84, +     0,    81,     0,     0,     0,     0,    68,    69,   129,   131, +     0,   138,    76,     0,     0,     0,     0,     0,     0,     0, +     0,     0,   215,     0,     0,   192,     0,   194,   195,   196, +     0,     0,     0,   191,     0,   213,     0,   201,     0,     0, +    79,     0,    82,    83,     0,     0,     0,     0,   135,   132, +   154,     0,     0,   184,   206,   205,   210,   209,   181,   200, +     0,     0,     0,   187,   188,   189,   184,     0,     0,     0, +     0,   102,     0,     0,     0,     0,     0,     0,   183,     0, +     0,     0,     0,     0,     0,   193,     0,   214,    96,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +   182,   179,     0,   198,    95,     0,    98,    99,   100,   101, +     0,   172,     0,     0,     0,   207,   211,   180,     0,   170, +     0,   171,     0,     0,    97,     0,     0,     0,     0,     0, +     0,   177,     0,     0,   176,   173,     0,     0,     0  }; -#endif -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to -   token YYLEX-NUM.  */ -static const unsigned short int 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,    61,    92,    40,    41,    91,   120, -      93,    60,    62,   123,   125,    42,    44,    99 +static const short yydefgoto[] = {    67, +   220,   233,   234,   235,   236,   164,   165,   194,   166,    18, +     9,    26,    68,    69,   167,    71,    72,    96,   176,   287, +   257,   288,    88,   427,     1,     2,   148,    38,    84,   151, +    73,   300,   244,   245,   246,    27,    77,    10,    33,    11, +    12,    21,   258,    74,   260,   349,    13,    29,    30,   140, +   404,    79,   201,   369,   370,   141,   142,   313,   143,   144  }; -# endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */ -static const unsigned char yyr1[] = -{ -       0,   108,   109,   109,   110,   110,   111,   111,   111,   111, -     111,   112,   112,   112,   113,   113,   113,   113,   113,   113, -     114,   114,   115,   115,   115,   115,   116,   116,   116,   116, -     117,   117,   118,   118,   119,   119,   120,   120,   120,   120, -     120,   121,   121,   121,   121,   121,   122,   122,   123,   123, -     124,   125,   125,   125,   125,   125,   125,   125,   125,   125, -     125,   125,   125,   125,   126,   126,   126,   126,   126,   126, -     126,   126,   126,   126,   127,   127,   128,   128,   128,   128, -     129,   129,   129,   129,   129,   129,   129,   129,   129,   129, -     129,   129,   129,   129,   129,   129,   130,   130,   130,   130, -     130,   130,   130,   131,   131,   132,   132,   133,   134,   134, -     134,   134,   135,   135,   135,   135,   135,   135,   135,   136, -     136,   137,   137,   137,   138,   139,   139,   139,   140,   140, -     141,   141,   142,   143,   143,   144,   144,   144,   144,   145, -     146,   146,   147,   148,   148,   149,   151,   150,   152,   152, -     152,   152,   152,   152,   152,   152,   152,   153,   153,   154, -     154,   155,   156,   156,   157,   158,   158,   158,   159,   159, -     159,   159,   159,   159,   159,   159,   159,   160,   160,   161, -     162,   162,   163,   163,   164,   164,   165,   165,   166,   166, -     166,   166,   166,   166,   166,   166,   166,   166,   166,   166, -     166,   167,   167,   168,   168,   169,   169,   169,   169,   169, -     169,   169,   169 +static const short yypact[] = {-32768, +    40,   341,-32768,-32768,-32768,-32768,-32768,-32768,    62,    12, +-32768,-32768,   -20,-32768,-32768,   110,   -67,    48,   -50,-32768, +    62,    65,-32768,-32768,-32768,  1073,   -18,-32768,-32768,    71, +-32768,-32768,-32768,-32768,   -19,    -8,     2,-32768,   -15,  1073, +    31,    31,-32768,-32768,-32768,-32768,-32768,     8,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,   123,   152,   163,   120,-32768,    71,    17,-32768, +-32768,   -36,-32768,-32768,-32768,-32768,-32768,  1228,-32768,   148, +    72,   170,   164,-32768,-32768,-32768,-32768,  1136,  1173,-32768, +    89,    90,-32768,-32768,   -36,    58,    94,   835,-32768,-32768, +  1136,-32768,   137,  1236,    27,   138,    62,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,  1136,  1136,  1136,  1136,  1136,  1136,  1136, +-32768,-32768,  1136,  1136,  1136,  1136,  1136,  1136,  1136,-32768, +    62,-32768,    77,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +   -35,-32768,   118,   167,   190,   173,   191,   175,   192,   177, +   193,   196,   197,   180,   194,   198,   519,-32768,  1136,  1136, +-32768,  1136,   872,-32768,    92,   108,   662,-32768,-32768,     8, +-32768,   662,   662,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,   662,  1073,   100,   101,-32768,   662,   115, +   102,   182,   111,   113,   114,   119,   662,   662,   662,   121, +  1073,  1136,  1136,-32768,   203,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,   132,   133,   134,   935,  1173, +   620,   208,   139,   140,   143,   144,-32768,-32768,   -74,   -29, +   -36,-32768,    71,-32768,   127,   117,   972,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,  1173,-32768,-32768,-32768,-32768, +   128,-32768,   136,   662,    -6,    -2,   146,   662,   155,  1136, +  1136,  1136,  1136,  1136,   149,   151,   153,  1136,   662,   662, +   154,-32768,  1173,  1173,  1173,-32768,-32768,   -28,   -57,-32768, +    61,-32768,  1173,  1173,  1173,  1173,-32768,-32768,-32768,-32768, +  1036,-32768,-32768,   -11,   230,   238,   165,   662,   262,   662, +   263,  1136,-32768,   162,   662,-32768,   166,-32768,-32768,-32768, +   662,   662,   662,-32768,   171,-32768,  1136,   146,   235,   169, +-32768,  1173,-32768,-32768,   172,   183,   184,   185,-32768,-32768, +-32768,   662,   662,  1136,   186,-32768,   187,-32768,-32768,   188, +   662,   189,  1136,-32768,-32768,-32768,  1136,   662,   174,  1136, +  1173,-32768,  1173,  1173,  1173,  1173,   199,   200,   188,   176, +   218,   231,  1136,   202,   662,-32768,   206,-32768,-32768,   209, +   201,   211,   212,   213,   214,   266,     5,   254,   293,   294, +-32768,-32768,   215,-32768,-32768,  1173,-32768,-32768,-32768,-32768, +   662,-32768,   740,    42,   279,-32768,-32768,-32768,   216,-32768, +   210,-32768,   740,   662,-32768,   298,   219,   250,   662,   300, +   301,-32768,   662,   662,-32768,-32768,   323,   325,-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,     1,     1,     1,     1, -       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, -       1,     1,     1,     1,     1,     1,     1,     2,     4,     5, -       5,     3,     2,     2,     1,     3,     1,     3,     1,     0, -       4,     3,     3,     4,     4,     3,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     6,     5,     8,     6, -       6,     6,     6,     3,     1,     1,     1,     1,     2,     2, -       2,     1,     4,     2,     5,     5,     3,     4,     0,     1, -       1,     3,     3,     3,     3,     3,     1,     0,     1,     1, -       1,     0,     2,     3,     1,     1,     3,     1,     0,     6, -       1,     1,     3,     1,     1,     2,     0,     3,     1,     1, -       1,     1,     1,     1,     1,     3,     1,     1,     1,     1, -       1,     2,     2,     2,     3,     2,     0,     1,     2,     2, -       3,     9,     9,     8,    13,     1,     1,     6,     5,     2, -       6,     7,     1,     3,     1,     0,     2,     1,     5,     5, -       5,     2,     4,     4,     6,     4,     4,     4,     2,     7, -       1,     2,     0,     1,     0,     2,     5,     2,     5,     2, -       4,     6,     4 +static const short yypgoto[] = {-32768, +-32768,   251,   252,   255,   259,  -102,   -99,  -362,-32768,   302, +   310,   -81,   -38,-32768,   -26,-32768,   -54,   240,-32768,   -83, +   178,  -207,   297,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +    -1,-32768,    39,-32768,-32768,   320,-32768,-32768,-32768,-32768, +   340,-32768,  -372,    56,   161,   -96,-32768,   333,-32768,-32768, +-32768,-32768,-32768,    36,    -7,-32768,-32768,    21,-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[] = -{ -     118,     0,    40,   111,     1,   110,   146,    36,    37,    38, -      39,    41,   166,   108,   109,   166,   128,   129,     0,     0, -      40,     0,   113,    41,     0,    42,    43,    44,     0,     0, -     167,   163,    35,   143,   144,   145,   162,     0,     0,     0, -     116,     0,     0,     0,     0,    34,   147,    45,     2,     3, -      47,    51,    52,    53,    54,    55,    56,    57,    58,    59, -      60,    61,    62,    63,    64,     0,     0,     0,     0,   157, -       0,     0,    46,    65,    50,   158,    66,   140,   141,   142, -     204,   165,     0,     0,     0,   127,   117,   112,   105,   106, -       0,     0,    67,     0,     0,    49,    72,    74,     0,     0, -      79,    73,   203,     0,   187,     0,     0,     0,     0,    41, -     175,   176,     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,   164,    41,   179,     0,   200,   123,   120,   119, -     121,   122,   126,     0,   115,    51,    52,    53,    54,    55, -      56,    57,    58,    59,    60,    61,     0,     0,     0,     0, -     114,     0,     0,    71,     0,   138,    78,    76,     0,     0, -     191,   186,   169,   168,     0,     0,    25,    29,    24,    28, -      23,    27,    22,    26,    30,    31,     0,     0,   205,   207, -     209,     0,     0,   198,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   124,     0,    93,    94, -       4,     5,    91,    92,    95,    90,    86,    87,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,    89, -      88,    48,    48,    75,   137,   131,   134,   135,     0,     0, -      68,   148,   149,   150,   151,   152,   153,   154,     0,   156, -     160,   159,   161,     0,   170,     0,     0,     0,     0,   202, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,   125,     0,     0,     0,    81,   104, -       0,     0,    85,     0,    82,     0,     0,     0,     0,    69, -      70,   130,   132,     0,   139,    77,     0,     0,     0,     0, -       0,     0,     0,   212,     0,     0,   193,     0,   195,   196, -     197,     0,     0,     0,   192,     0,   210,     0,   202,     0, -       0,    80,     0,    83,    84,     0,     0,     0,     0,   136, -     133,   155,     0,     0,   185,   206,   208,   182,   201,     0, -       0,     0,   188,   189,   190,   185,     0,     0,     0,     0, -     103,     0,     0,     0,     0,     0,     0,   184,     0,     0, -       0,     0,   194,     0,   211,    97,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   183,   180,     0,   199,    96, -       0,    99,   100,   101,   102,     0,   173,     0,     0,     0, -     181,     0,   171,     0,   172,     0,     0,    98,     0,     0, -       0,     0,     0,     0,   178,     0,     0,   177,   174 -}; -/* YYDEFGOTO[NTERM-NUM]. */ -static const short int yydefgoto[] = -{ -      -1,    69,   222,   235,   236,   237,   238,   166,   167,   196, -     168,    20,    11,    28,    70,    71,   169,    73,    74,    98, -     178,   289,   259,   290,    90,     1,     2,     3,   150,    40, -      86,   153,    75,   302,   246,   247,   248,    29,    79,    12, -      35,    13,    14,    23,   260,    76,   262,   347,    15,    31, -      32,   142,   398,    81,   203,   367,   368,   143,   144,   313, -     145,   146 +#define	YYLAST		1340 + + +static const short yytable[] = {    70, +    19,    85,    28,   192,   178,   168,   193,   181,   308,    31, +    75,    95,   310,    70,   184,   185,   186,   187,   188,   189, +   190,   191,   289,   291,   403,   195,   297,    39,    19,   198, +   411,    99,   202,   203,    28,   182,   204,   205,   206,  -106, +   417,   413,   210,    95,    43,   333,   309,   183,   304,   332, +   311,   184,   185,   186,   187,   188,   189,   190,   191,   211, +   -47,   152,    86,    87,     3,   214,    97,    40,    45,    99, +     4,   215,   331,   298,   177,    80,    99,   177,   332,     5, +     6,     7,     8,    83,    32,    76,    81,     5,     6,     7, +     8,   341,    14,    41,    15,   332,    82,   196,   197,   177, +   199,   200,   177,   177,   -48,   402,   177,   177,   177,   207, +   208,   209,   177,    98,   239,   240,   281,   241,    22,    23, +    24,    25,   146,   147,    46,    47,    90,    93,    49,    50, +    51,    52,    53,    54,    55,    56,    57,    58,    59,    60, +    61,    14,   412,    15,   216,   217,   243,   184,   185,   186, +   187,   188,   189,   190,   191,    91,   264,    35,    36,    37, +   212,   213,   171,    62,   172,   334,    92,   332,    70,   -24, +   -24,   145,   279,   149,   317,   -23,   -23,   -22,   -22,   -21, +   -21,   324,   218,   219,    70,   280,   177,   150,   169,   170, +   173,   179,   241,   -28,   -27,   -26,   -25,   221,   247,   328, +   329,   330,   -31,   -32,   222,   248,   265,   266,   269,   335, +   336,   337,   338,   268,   302,    63,   270,   271,    64,   272, +   273,    65,   238,    66,    94,   274,   282,   278,   283,   284, +   285,   292,   259,   301,   305,   293,   294,   259,   259,   295, +   296,   299,   306,   316,   177,   318,   319,   320,   362,   259, +   342,   177,   312,   315,   259,   321,   376,   322,   343,   323, +   327,   344,   259,   259,   259,   346,   348,   357,   351,   360, +   389,   379,   353,   388,   243,   361,   391,   381,   363,   382, +   383,   384,   385,   390,   192,   177,   401,   193,   405,   364, +   365,   366,   371,   372,   373,   375,   406,   407,   387,   414, +   358,   192,   392,   394,   193,   386,   395,   396,   397,   398, +   399,   400,   409,   415,   421,   408,   416,   177,   419,   259, +   423,   424,   428,   259,   429,   420,   177,    42,   136,   137, +   177,    78,   138,   380,   259,   259,   139,   175,    89,   340, +    44,    20,   261,   262,   237,    34,   177,   350,   359,   377, +     0,     0,     0,     0,   263,     0,     0,     0,     0,   267, +   -34,     0,    14,   259,    15,   259,     0,   275,   276,   277, +   259,     4,   -34,   -34,     0,     0,   259,   259,   259,     0, +   -34,   -34,   -34,   -34,     0,     0,   -34,    16,     0,     0, +     0,     0,     0,     0,    17,     0,     0,   259,   259,     0, +     0,     0,     0,     0,     0,     0,   259,     0,     0,     0, +     0,     0,     0,   259,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,   307,     0,     0,     0,   314,     0, +   259,     0,     0,     0,     0,     0,     0,     0,     0,   325, +   326,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,   259,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,   345,   259, +   347,     0,     0,     0,   259,   352,     0,     0,   259,   259, +     0,   354,   355,   356,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,   367,   368,     0,     0,     0,     0,     0,     0, +     0,   374,     0,     0,     0,     0,     0,     0,   378,     0, +     0,     0,     0,    46,    47,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,   393,     0,     0,     0,     0, +    14,     0,    15,     0,   223,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,   224,   225,     0,     0,     0, +     0,   410,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,   418,     0,     0,     0,     0,   422, +     0,     0,     0,   425,   426,   110,   111,   112,   113,   114, +   115,   116,   117,   118,   119,   120,   121,   122,   123,     0, +     0,     0,     0,     0,   226,     0,   227,   228,   131,   132, +     0,     0,     0,     0,     0,     0,     0,   229,     0,     0, +   230,     0,   231,     0,    46,    47,   232,    93,   153,   154, +   155,   156,   157,   158,   159,   160,   161,   162,   163,    60, +    61,    14,     0,    15,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,    62,   249,   250,    46,    47,   251,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,    14,     0,    15,     0,     0,   252,   253, +     0,     0,     0,     0,     0,     0,     0,     0,   254,   255, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,    63,     0,     0,    64,     0, +     0,    65,     0,    66,   290,     0,     0,     0,   110,   111, +   112,   113,   114,   115,   116,   117,   118,   119,   120,   121, +   122,   123,   249,   250,     0,     0,   251,   226,     0,   227, +   228,   131,   132,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,   256,     0,     0,   252,   253,     0,     0, +     0,     0,     0,     0,     0,     0,   254,   255,     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,   226,     0,   227,   228,   131, +   132,     0,     0,     0,     0,     0,     0,     0,     0,    46, +    47,   256,    93,    49,    50,    51,    52,    53,    54,    55, +    56,    57,    58,    59,    60,    61,    14,     0,    15,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +   174,     0,     0,     0,     0,     0,    46,    47,    62,    93, +    49,    50,    51,    52,    53,    54,    55,    56,    57,    58, +    59,    60,    61,    14,     0,    15,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,   242,     0,     0, +     0,     0,     0,     0,     0,    62,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +    63,     0,     0,    64,     0,     0,    65,     0,    66,    46, +    47,     0,    93,   153,   154,   155,   156,   157,   158,   159, +   160,   161,   162,   163,    60,    61,    14,     0,    15,     0, +     0,     0,     0,     0,     0,     0,     0,    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,   303,     0,     0, +     0,     0,     0,     0,     0,    62,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +    63,     0,     0,    64,     0,   286,    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,    63,     0,     0, +    64,   339,     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,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,    62,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,    63,     0,     0,    64,     0,     0,    65,     0,    66, +    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,     0,     0,    65,     0,    66,    46,    47,    62, +    93,   153,   154,   155,   156,   157,   158,   159,   160,   161, +   162,   163,    60,    61,    14,     0,    15,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,    62,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,    63,     0,     0,    64,     0,     0,    65,     0,    66, +    46,    47,     0,   180,    49,    50,    51,    52,    53,    54, +    55,    56,    57,    58,    59,    60,    61,    14,     0,    15, +     0,   100,     0,     0,     0,     0,     0,     0,    63,     0, +     0,    64,   101,     0,    65,     0,    66,     0,     0,    62, +     0,     0,   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,     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 -383 -static const short int yypact[] = -{ -    -383,    48,   136,   517,  -383,  -383,  -383,  -383,  -383,  -383, -    -383,    27,    36,  -383,  -383,   -17,  -383,  -383,    46,   -21, -      -3,     3,  -383,    27,    73,  -383,  -383,  -383,   879,   -24, -    -383,  -383,   113,  -383,  -383,  -383,  -383,    20,    51,    60, -    -383,    21,   879,   -13,   -13,  -383,  -383,  -383,  -383,  -383, -      62,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,   156,   162,   164,   480,  -383, -     113,    76,  -383,  -383,   -25,  -383,  -383,  -383,  -383,  -383, -     992,  -383,   149,    37,   170,   157,  -383,  -383,  -383,  -383, -     900,   941,  -383,    81,    83,  -383,  -383,   -25,    34,    87, -     643,  -383,  -383,   900,  -383,   130,   999,    32,   243,    27, -    -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,  -383,   900,   900,   900,   900, -     900,   900,   900,  -383,  -383,   900,   900,   900,   900,   900, -     900,   900,  -383,    27,  -383,    22,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,   -82,  -383,   122,   148,   184,   153,   185, -     159,   186,   161,   187,   191,   193,   167,   197,   195,   380, -    -383,   900,   900,  -383,   900,   680,  -383,    97,   114,   549, -    -383,  -383,    62,  -383,   549,   549,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,  -383,   549,   879,   108,   109, -    -383,   549,   118,   111,   183,   116,   117,   119,   121,   549, -     549,   549,   124,   879,   900,   900,  -383,   196,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,   123,   132, -     135,   742,   941,   501,   208,   137,   144,   145,   147,  -383, -    -383,   -84,   -12,   -25,  -383,   113,  -383,   155,   154,   779, -    -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,   941,  -383, -    -383,  -383,  -383,   158,  -383,   160,   549,   235,   247,   173, -     549,   165,   900,   900,   900,   900,   900,   174,   175,   176, -     900,   549,   549,   177,  -383,   941,   941,   941,  -383,  -383, -     -54,   -57,  -383,    42,  -383,   941,   941,   941,   941,  -383, -    -383,  -383,  -383,   842,  -383,  -383,   -30,   244,   246,   172, -     549,   549,   900,  -383,   179,   549,  -383,   180,  -383,  -383, -    -383,   549,   549,   549,  -383,   194,  -383,   900,   173,   241, -     181,  -383,   941,  -383,  -383,   190,   198,   199,   202,  -383, -    -383,  -383,   549,   549,   900,  -383,  -383,  -383,   205,   549, -     206,   900,  -383,  -383,  -383,   900,   549,   192,   900,   941, -    -383,   941,   941,   941,   941,   207,   203,   205,   200,   900, -     214,   549,  -383,   218,  -383,  -383,   220,   212,   222,   223, -     224,   225,   281,    17,   268,  -383,  -383,   226,  -383,  -383, -     941,  -383,  -383,  -383,  -383,   549,  -383,    54,    53,   303, -    -383,   228,  -383,   227,  -383,    54,   549,  -383,   307,   231, -     265,   549,   310,   311,  -383,   549,   549,  -383,  -383 +static const short yycheck[] = {    26, +     2,    40,    23,   106,   101,    89,   106,   104,    15,    30, +    29,    66,    15,    40,    10,    11,    12,    13,    14,    15, +    16,    17,   230,   231,   387,   107,   101,    95,    30,   126, +   403,   106,   129,   130,    23,     9,   133,   134,   135,     0, +   413,   404,   139,    98,    95,   103,    53,    21,   256,   107, +    53,    10,    11,    12,    13,    14,    15,    16,    17,   141, +    97,    88,    32,    33,    25,   101,    68,    20,     4,   106, +    31,   107,   101,   103,   101,    95,   106,   104,   107,    40, +    41,    42,    43,    99,   105,   104,    95,    40,    41,    42, +    43,   103,    22,    46,    24,   107,    95,   124,   125,   126, +   127,   128,   129,   130,    97,   101,   133,   134,   135,   136, +   137,   138,   139,    97,   169,   170,   213,   172,    57,    58, +    59,    60,    51,    52,     5,     6,     4,     8,     9,    10, +    11,    12,    13,    14,    15,    16,    17,    18,    19,    20, +    21,    22,   101,    24,    27,    28,   173,    10,    11,    12, +    13,    14,    15,    16,    17,     4,   195,    48,    49,    50, +    84,    85,   105,    44,   107,   105,     4,   107,   195,     3, +     4,    24,   211,     4,   271,     3,     4,     3,     4,     3, +     4,   278,     3,     4,   211,   212,   213,    24,   100,   100, +    97,    55,   247,     4,     4,     4,     4,     4,   107,   283, +   284,   285,     7,     7,     7,    98,   107,   107,   107,   293, +   294,   295,   296,    99,    98,    96,    35,   107,    99,   107, +   107,   102,   167,   104,   105,   107,    24,   107,    97,    97, +    97,    24,   177,   107,   107,    97,    97,   182,   183,    97, +    97,   243,   107,   270,   271,   272,   273,   274,   332,   194, +    21,   278,   107,    99,   199,   107,   353,   107,    21,   107, +   107,    97,   207,   208,   209,     4,     4,    97,   107,    35, +    53,    98,   107,    98,   301,   107,   373,   361,   107,   363, +   364,   365,   366,    53,   387,   312,    21,   387,    35,   107, +   107,   107,   107,   107,   107,   107,     4,     4,    99,    21, +   327,   404,   101,    98,   404,   107,    98,   107,    98,    98, +    98,    98,   396,    98,    65,   101,   107,   344,    21,   264, +    21,    21,     0,   268,     0,   107,   353,    18,    78,    78, +   357,    30,    78,   360,   279,   280,    78,    98,    42,   301, +    21,     2,   182,   183,   167,    13,   373,   312,   328,   357, +    -1,    -1,    -1,    -1,   194,    -1,    -1,    -1,    -1,   199, +    20,    -1,    22,   308,    24,   310,    -1,   207,   208,   209, +   315,    31,    32,    33,    -1,    -1,   321,   322,   323,    -1, +    40,    41,    42,    43,    -1,    -1,    46,    47,    -1,    -1, +    -1,    -1,    -1,    -1,    54,    -1,    -1,   342,   343,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1, +    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,   264,    -1,    -1,    -1,   268,    -1, +   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   279, +   280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,   401,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,   414, +   310,    -1,    -1,    -1,   419,   315,    -1,    -1,   423,   424, +    -1,   321,   322,   323,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,   342,   343,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1, +    -1,    -1,    -1,     5,     6,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1, +    22,    -1,    24,    -1,    26,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    -1,    -1, +    -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,   414,    -1,    -1,    -1,    -1,   419, +    -1,    -1,    -1,   423,   424,    67,    68,    69,    70,    71, +    72,    73,    74,    75,    76,    77,    78,    79,    80,    -1, +    -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90,    91, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1, +   102,    -1,   104,    -1,     5,     6,   108,     8,     9,    10, +    11,    12,    13,    14,    15,    16,    17,    18,    19,    20, +    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    44,     3,     4,     5,     6,     7,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    22,    -1,    24,    -1,    -1,    27,    28, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    99,    -1, +    -1,   102,    -1,   104,   105,    -1,    -1,    -1,    67,    68, +    69,    70,    71,    72,    73,    74,    75,    76,    77,    78, +    79,    80,     3,     4,    -1,    -1,     7,    86,    -1,    88, +    89,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,   102,    -1,    -1,    27,    28,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -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,    67,    68,    69,    70, +    71,    72,    73,    74,    75,    76,    77,    78,    79,    80, +    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90, +    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5, +     6,   102,     8,     9,    10,    11,    12,    13,    14,    15, +    16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    36,    -1,    -1,    -1,    -1,    -1,     5,     6,    44,     8, +     9,    10,    11,    12,    13,    14,    15,    16,    17,    18, +    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104,     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,    96,    -1,    -1, +    99,    -1,    -1,   102,    -1,   104,     5,     6,    44,     8, +     9,    10,    11,    12,    13,    14,    15,    16,    17,    18, +    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    96,    -1,    -1,    99,    -1,   101,   102,    -1,   104,    -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,    96,    -1,    -1, +    99,    36,    -1,   102,    -1,   104,    -1,     5,     6,    44, +     8,     9,    10,    11,    12,    13,    14,    15,    16,    17, +    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104, +     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,    96,    -1, +    -1,    99,    -1,    -1,   102,    -1,   104,     5,     6,    44, +     8,     9,    10,    11,    12,    13,    14,    15,    16,    17, +    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104, +     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14, +    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24, +    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1, +    -1,    99,    45,    -1,   102,    -1,   104,    -1,    -1,    44, +    -1,    -1,    55,    56,    -1,    -1,    -1,    -1,    61,    62, +    63,    64,    65,    66,    67,    68,    69,    70,    71,    72, +    73,    74,    75,    76,    77,    78,    79,    80,    81,    82, +    83,    -1,    -1,    86,    87,    88,    89,    90,    91,    92, +    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104  }; +/* -*-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 int yypgoto[] = -{ -    -383,  -383,  -383,   254,   262,   264,   272,  -106,  -105,  -372, -    -383,   313,   333,  -101,   -38,  -383,   -28,  -383,   -56,   255, -    -383,   -90,   188,  -223,   312,  -383,  -383,  -383,  -383,  -383, -    -383,  -383,     4,  -383,    55,  -383,  -383,   331,  -383,  -383, -    -383,  -383,   356,  -383,  -382,    25,    28,   -81,  -383,   345, -    -383,  -383,  -383,  -383,  -383,    49,     7,  -383,  -383,    35, -    -383,  -383 -}; +/* 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 -108 -static const short int yytable[] = -{ -      72,   170,   194,   195,    87,    77,    30,    21,   197,   291, -     293,   397,    97,    33,    72,   403,   299,    42,   216,    88, -      89,   101,   180,   409,   217,   183,   405,   186,   187,   188, -     189,   190,   191,   192,   193,   306,    21,     7,     8,     9, -      10,   184,   213,    43,    97,   333,   331,   200,     4,   332, -     204,   205,   332,   185,   206,   207,   208,   251,   252,    30, -     212,   253,   154,   186,   187,   188,   189,   190,   191,   192, -     193,   -48,   341,    41,    99,   179,   332,    47,   179,    78, -     101,   254,   255,    24,    25,    26,    27,    34,   148,   149, -     300,   256,   257,   101,    37,    38,    39,    45,   198,   199, -     179,   201,   202,   179,   179,   214,   215,   179,   179,   179, -     209,   210,   211,   179,    82,   241,   242,   396,   243,    85, -     112,   113,   114,   115,   116,   117,   118,   119,   120,   121, -     122,   123,   124,   125,   283,    16,  -107,    17,   173,   228, -     174,   229,   230,   133,   134,    83,   334,   245,   332,   218, -     219,   -25,   -25,   404,    84,   258,   -24,   -24,   -49,   266, -      92,     5,   -23,   -23,   -22,   -22,    93,     6,    94,    72, -     220,   221,   100,   147,   151,   281,     7,     8,     9,    10, -     171,   152,   172,   175,   181,    72,   282,   179,   -29,   -28, -     -27,   -26,   317,   243,   240,   328,   329,   330,   -32,   324, -     -33,   223,   224,   249,   261,   335,   336,   337,   338,   261, -     261,   250,   263,   264,   267,   268,   270,   271,   272,   285, -     284,   261,   273,   274,   265,   275,   261,   276,   286,   269, -     280,   287,   294,   295,   261,   261,   261,   277,   278,   279, -     296,   297,   360,   298,   316,   179,   318,   319,   320,   301, -     310,   304,   179,   186,   187,   188,   189,   190,   191,   192, -     193,   303,   311,   315,   307,   342,   308,   343,   344,   377, -     372,   378,   379,   380,   381,   245,   358,   194,   195,   312, -     321,   322,   323,   327,   179,   349,   351,   359,   385,   375, -     355,   261,   194,   195,   309,   261,   361,   384,   314,   356, -     401,   383,   395,   399,   362,   363,   261,   261,   364,   325, -     326,   369,   371,   382,   386,   388,   179,   389,   390,   391, -     392,   393,   394,   179,   406,   407,   400,   179,   411,   413, -     376,   415,   416,   408,   138,   261,   261,   412,   345,   346, -     261,   179,   139,   350,   140,    80,   261,   261,   261,   352, -     353,   354,   141,    44,    46,   177,    91,   239,   340,    22, -      36,   348,   373,   357,     0,     0,     0,   261,   261,     0, -     365,   366,     0,     0,   261,     0,     0,   370,     0,     0, -       0,   261,     0,     0,   374,    48,    49,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   261,     0,     0,   387, -       0,     0,    16,     0,    17,     0,   225,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   226,   227,     0, -     261,     0,     0,   402,     0,     0,     0,     0,     0,     0, -       0,   261,     0,     0,   410,     0,   261,     0,     0,   414, -     261,   261,     0,   417,   418,     0,   112,   113,   114,   115, -     116,   117,   118,   119,   120,   121,   122,   123,   124,   125, -       0,     0,     0,     0,     0,   228,     0,   229,   230,   133, -     134,     0,     0,     0,     0,     0,     0,     0,   231,     0, -       0,   232,     0,   233,     0,    48,    49,   234,    95,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    16,     0,    17,     0,    48,    49,     0,    95, -     155,   156,   157,   158,   159,   160,   161,   162,   163,   164, -     165,    62,    63,    16,    64,    17,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   -35,     0,    16, -       0,    17,     0,     0,     0,    64,     0,     0,     6,   -35, -     -35,     0,   251,   252,    48,    49,   253,   -35,   -35,   -35, -     -35,     0,     0,   -35,    18,     0,     0,     0,     0,     0, -      19,    16,     0,    17,     0,    65,   254,   255,    66,     0, -       0,    67,     0,    68,    96,     0,   256,   257,     0,     0, -       0,     0,     0,     0,     0,     0,    65,     0,     0,    66, -       0,     0,    67,     0,    68,   292,     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,   228,     0,   229,   230,   133,   134, -       0,     0,     0,     0,     0,     0,     0,     0,    48,    49, -     258,    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,   176, -       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,   244,     0,     0,     0, -       0,     0,     0,     0,    64,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    65,     0, -       0,    66,     0,     0,    67,     0,    68,    48,    49,     0, -      95,   155,   156,   157,   158,   159,   160,   161,   162,   163, -     164,   165,    62,    63,    16,     0,    17,     0,     0,     0, -       0,     0,     0,     0,     0,    65,     0,     0,    66,     0, -       0,    67,     0,    68,    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,   305,     0,     0,     0,     0, -       0,     0,     0,    64,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    65,     0,     0, -      66,     0,   288,    67,     0,    68,     0,    48,    49,     0, -      95,    51,    52,    53,    54,    55,    56,    57,    58,    59, -      60,    61,    62,    63,    16,     0,    17,     0,     0,     0, -       0,     0,     0,     0,    65,     0,     0,    66,   339,     0, -      67,     0,    68,     0,    48,    49,    64,    50,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    16,     0,    17,     0,    48,    49,     0,    95,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    16,    64,    17,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    65,     0,     0, -      66,     0,     0,    67,    64,    68,    48,    49,     0,    95, -     155,   156,   157,   158,   159,   160,   161,   162,   163,   164, -     165,    62,    63,    16,     0,    17,     0,     0,     0,     0, -       0,     0,     0,     0,    65,     0,     0,    66,     0,     0, -      67,     0,    68,     0,     0,    64,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    65,     0,     0,    66,     0, -       0,    67,     0,    68,    48,    49,     0,   182,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    16,     0,    17,     0,     0,   102,     0,     0,     0, -       0,     0,     0,     0,     0,     0,    65,   103,     0,    66, -       0,     0,    67,    64,    68,     0,   104,   105,     0,     0, -       0,     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,     0,     0,     0,     0, -       0,     0,     0,     0,    65,     0,     0,    66,     0,     0, -      67,     0,    68 -}; +   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 int yycheck[] = -{ -      28,    91,   108,   108,    42,    29,    23,     3,   109,   232, -     233,   383,    68,    30,    42,   397,   100,    20,   100,    32, -      33,   105,   103,   405,   106,   106,   398,    10,    11,    12, -      13,    14,    15,    16,    17,   258,    32,    40,    41,    42, -      43,     9,   143,    46,   100,   102,   100,   128,     0,   106, -     131,   132,   106,    21,   135,   136,   137,     3,     4,    23, -     141,     7,    90,    10,    11,    12,    13,    14,    15,    16, -      17,    96,   102,    94,    70,   103,   106,     4,   106,   103, -     105,    27,    28,    56,    57,    58,    59,   104,    51,    52, -     102,    37,    38,   105,    48,    49,    50,    94,   126,   127, -     128,   129,   130,   131,   132,    83,    84,   135,   136,   137, -     138,   139,   140,   141,    94,   171,   172,   100,   174,    98, -      66,    67,    68,    69,    70,    71,    72,    73,    74,    75, -      76,    77,    78,    79,   215,    22,     0,    24,   104,    85, -     106,    87,    88,    89,    90,    94,   104,   175,   106,    27, -      28,     3,     4,   100,    94,   101,     3,     4,    96,   197, -       4,    25,     3,     4,     3,     4,     4,    31,     4,   197, -       3,     4,    96,    24,     4,   213,    40,    41,    42,    43, -      99,    24,    99,    96,    54,   213,   214,   215,     4,     4, -       4,     4,   273,   249,   169,   285,   286,   287,     7,   280, -       7,     4,     7,   106,   179,   295,   296,   297,   298,   184, -     185,    97,   184,   185,   106,   106,    98,   106,    35,    96, -      24,   196,   106,   106,   196,   106,   201,   106,    96,   201, -     106,    96,    24,    96,   209,   210,   211,   209,   210,   211, -      96,    96,   332,    96,   272,   273,   274,   275,   276,   245, -      15,    97,   280,    10,    11,    12,    13,    14,    15,    16, -      17,   106,    15,    98,   106,    21,   106,    21,    96,   359, -     351,   361,   362,   363,   364,   303,    35,   383,   383,   106, -     106,   106,   106,   106,   312,   106,   106,   106,   369,    97, -      96,   266,   398,   398,   266,   270,   106,    97,   270,   327, -     390,    98,    21,    35,   106,   106,   281,   282,   106,   281, -     282,   106,   106,   106,   100,    97,   344,    97,   106,    97, -      97,    97,    97,   351,    21,    97,   100,   355,    21,    64, -     358,    21,    21,   106,    80,   310,   311,   106,   310,   311, -     315,   369,    80,   315,    80,    32,   321,   322,   323,   321, -     322,   323,    80,    20,    23,   100,    44,   169,   303,     3, -      15,   312,   355,   328,    -1,    -1,    -1,   342,   343,    -1, -     342,   343,    -1,    -1,   349,    -1,    -1,   349,    -1,    -1, -      -1,   356,    -1,    -1,   356,     5,     6,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,    -1,   371, -      -1,    -1,    22,    -1,    24,    -1,    26,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1, -     395,    -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,   406,    -1,    -1,   406,    -1,   411,    -1,    -1,   411, -     415,   416,    -1,   415,   416,    -1,    66,    67,    68,    69, -      70,    71,    72,    73,    74,    75,    76,    77,    78,    79, -      -1,    -1,    -1,    -1,    -1,    85,    -1,    87,    88,    89, -      90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1, -      -1,   101,    -1,   103,    -1,     5,     6,   107,     8,     9, -      10,    11,    12,    13,    14,    15,    16,    17,    18,    19, -      20,    21,    22,    -1,    24,    -1,     5,     6,    -1,     8, -       9,    10,    11,    12,    13,    14,    15,    16,    17,    18, -      19,    20,    21,    22,    44,    24,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,    22, -      -1,    24,    -1,    -1,    -1,    44,    -1,    -1,    31,    32, -      33,    -1,     3,     4,     5,     6,     7,    40,    41,    42, -      43,    -1,    -1,    46,    47,    -1,    -1,    -1,    -1,    -1, -      53,    22,    -1,    24,    -1,    95,    27,    28,    98,    -1, -      -1,   101,    -1,   103,   104,    -1,    37,    38,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    98, -      -1,    -1,   101,    -1,   103,   104,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    66,    67,    68,    69,    70, -      71,    72,    73,    74,    75,    76,    77,    78,    79,    -1, -      -1,    -1,    -1,    -1,    85,    -1,    87,    88,    89,    90, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6, -     101,     8,     9,    10,    11,    12,    13,    14,    15,    16, -      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36, -      -1,    -1,    -1,    -1,    -1,     5,     6,    44,     8,     9, -      10,    11,    12,    13,    14,    15,    16,    17,    18,    19, -      20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1, -      -1,    98,    -1,    -1,   101,    -1,   103,     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,    95,    -1,    -1,    98,    -1, -      -1,   101,    -1,   103,     5,     6,    44,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1, -      98,    -1,   100,   101,    -1,   103,    -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,    95,    -1,    -1,    98,    36,    -1, -     101,    -1,   103,    -1,     5,     6,    44,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    -1,    24,    -1,     5,     6,    -1,     8,     9, -      10,    11,    12,    13,    14,    15,    16,    17,    18,    19, -      20,    21,    22,    44,    24,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1, -      98,    -1,    -1,   101,    44,   103,     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,    95,    -1,    -1,    98,    -1,    -1, -     101,    -1,   103,    -1,    -1,    44,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    98,    -1, -      -1,   101,    -1,   103,     5,     6,    -1,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    -1,    24,    -1,    -1,    34,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    95,    45,    -1,    98, -      -1,    -1,   101,    44,   103,    -1,    54,    55,    -1,    -1, -      -1,    -1,    60,    61,    62,    63,    64,    65,    66,    67, -      68,    69,    70,    71,    72,    73,    74,    75,    76,    77, -      78,    79,    80,    81,    82,    -1,    -1,    85,    86,    87, -      88,    89,    90,    91,    92,    93,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    95,    -1,    -1,    98,    -1,    -1, -     101,    -1,   103 -}; +   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,   133,   134,   135,     0,    25,    31,    40,    41,    42, -      43,   120,   147,   149,   150,   156,    22,    24,    47,    53, -     119,   140,   150,   151,    56,    57,    58,    59,   121,   145, -      23,   157,   158,    30,   104,   148,   157,    48,    49,    50, -     137,    94,    20,    46,   120,    94,   145,     4,     5,     6, -       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, -      18,    19,    20,    21,    44,    95,    98,   101,   103,   109, -     122,   123,   124,   125,   126,   140,   153,    29,   103,   146, -     119,   161,    94,    94,    94,    98,   138,   122,    32,    33, -     132,   132,     4,     4,     4,     8,   104,   126,   127,   140, -      96,   105,    34,    45,    54,    55,    60,    61,    62,    63, -      64,    65,    66,    67,    68,    69,    70,    71,    72,    73, -      74,    75,    76,    77,    78,    79,    80,    81,    82,    85, -      86,    87,    88,    89,    90,    91,    92,    93,   111,   112, -     113,   114,   159,   165,   166,   168,   169,    24,    51,    52, -     136,     4,    24,   139,   124,     9,    10,    11,    12,    13, -      14,    15,    16,    17,    18,    19,   115,   116,   118,   124, -     129,    99,    99,   104,   106,    96,    36,   127,   128,   124, -     155,    54,     8,   155,     9,    21,    10,    11,    12,    13, -      14,    15,    16,    17,   115,   116,   117,   121,   124,   124, -     155,   124,   124,   162,   155,   155,   155,   155,   155,   124, -     124,   124,   155,   121,    83,    84,   100,   106,    27,    28, -       3,     4,   110,     4,     7,    26,    37,    38,    85,    87, -      88,    98,   101,   103,   107,   111,   112,   113,   114,   130, -     153,   126,   126,   126,    36,   124,   142,   143,   144,   106, -      97,     3,     4,     7,    27,    28,    37,    38,   101,   130, -     152,   153,   154,   154,   154,   154,   122,   106,   106,   154, -      98,   106,    35,   106,   106,   106,   106,   154,   154,   154, -     106,   122,   124,   155,    24,    96,    96,    96,   100,   129, -     131,   131,   104,   131,    24,    96,    96,    96,    96,   100, -     102,   140,   141,   106,    97,    36,   131,   106,   106,   154, -      15,    15,   106,   167,   154,    98,   124,   155,   124,   124, -     124,   106,   106,   106,   155,   154,   154,   106,   129,   129, -     129,   100,   106,   102,   104,   129,   129,   129,   129,    36, -     142,   102,    21,    21,    96,   154,   154,   155,   163,   106, -     154,   106,   154,   154,   154,    96,   124,   167,    35,   106, -     129,   106,   106,   106,   106,   154,   154,   163,   164,   106, -     154,   106,   155,   164,   154,    97,   124,   129,   129,   129, -     129,   129,   106,    98,    97,   155,   100,   154,    97,    97, -     106,    97,    97,    97,    97,    21,   100,   117,   160,    35, -     100,   129,   154,   152,   100,   117,    21,    97,   106,   152, -     154,    21,   106,    64,   154,    21,    21,   154,   154 -}; +   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 int *bottom, short int *top) +#else /* not YYLSP_NEEDED */ +#ifdef YYLEX_PARAM +#define YYLEX		yylex(&yylval, YYLEX_PARAM)  #else -static void -yy_stack_print (bottom, top) -    short int *bottom; -    short int *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	*/ + +#ifndef	YYINITDEPTH +#define YYINITDEPTH 200 +#endif -   Do not make this value too large; the results are undefined if -   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) -   evaluated with infinite-precision integer arithmetic.  */ +/*  YYMAXDEPTH is the maximum size the stacks can grow to +    (effective only if the built-in stack extension method is used).  */ -#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 -# undef YYMAXDEPTH +#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) +/* This is the most reliable way to avoid incompatibilities +   in available built-in functions on various systems.  */  static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) -#else -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; +  register char *t = to; +  register char *f = from; +  register int i = count; -  if (yytype < YYNTOKENS) -    { -      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); -# ifdef YYPRINT -      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif -    } -  else -    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - -  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 int yyssa[YYINITDEPTH]; -  short int *yyss = yyssa; -  register short int *yyssp; - -  /* The semantic value stack.  */ -  YYSTYPE yyvsa[YYINITDEPTH]; -  YYSTYPE *yyvs = yyvsa; +  register short *yyssp;    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; @@ -2398,97 +1949,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 +/* 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: -  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++; - - 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 int *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 int *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.  */ @@ -2497,236 +2061,251 @@ 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 984 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  switch (yyn) { + +case 2: +#line 984 "/llvm/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 992 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 4: +#line 992 "/llvm/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 1015 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 33: +#line 1015 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.StrVal = yyvsp[-1].StrVal; -  ;} -    break; - -  case 35: -#line 1018 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 34: +#line 1018 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.StrVal = 0; -  ;} -    break; - -  case 36: -#line 1022 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::InternalLinkage; ;} -    break; - -  case 37: -#line 1023 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;} -    break; - -  case 38: -#line 1024 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::WeakLinkage; ;} -    break; - -  case 39: -#line 1025 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::AppendingLinkage; ;} -    break; - -  case 40: -#line 1026 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::ExternalLinkage; ;} -    break; - -  case 41: -#line 1028 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::C; ;} -    break; - -  case 42: -#line 1029 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::C; ;} -    break; - -  case 43: -#line 1030 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::Fast; ;} -    break; - -  case 44: -#line 1031 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::Cold; ;} -    break; - -  case 45: -#line 1032 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 35: +#line 1022 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::InternalLinkage; ; +    break;} +case 36: +#line 1023 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::LinkOnceLinkage; ; +    break;} +case 37: +#line 1024 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::WeakLinkage; ; +    break;} +case 38: +#line 1025 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::AppendingLinkage; ; +    break;} +case 39: +#line 1026 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::ExternalLinkage; ; +    break;} +case 40: +#line 1028 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::C; ; +    break;} +case 41: +#line 1029 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::C; ; +    break;} +case 42: +#line 1030 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::Fast; ; +    break;} +case 43: +#line 1031 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::Cold; ; +    break;} +case 44: +#line 1032 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                     if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)                       ThrowException("Calling conv too large!");                     yyval.UIntVal = yyvsp[0].UInt64Val; -                 ;} -    break; - -  case 47: -#line 1045 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;} -    break; - -  case 49: -#line 1046 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;} -    break; - -  case 50: -#line 1048 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +                 ; +    break;} +case 46: +#line 1045 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +    break;} +case 48: +#line 1046 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +    break;} +case 49: +#line 1048 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!UpRefs.empty())        ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());      yyval.TypeVal = yyvsp[0].TypeVal; -  ;} -    break; - -  case 64: -#line 1059 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 63: +#line 1059 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeVal = new PATypeHolder(OpaqueType::get()); -  ;} -    break; - -  case 65: -#line 1062 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 64: +#line 1062 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); -  ;} -    break; - -  case 66: -#line 1065 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {            // Named types are also simple types... +  ; +    break;} +case 65: +#line 1065 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            // Named types are also simple types...    yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal)); -;} -    break; - -  case 67: -#line 1071 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                   // Type UpReference +; +    break;} +case 66: +#line 1071 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                   // Type UpReference      if (yyvsp[0].UInt64Val > (uint64_t)~0U) ThrowException("Value out of range!");      OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder      UpRefs.push_back(UpRefRecord((unsigned)yyvsp[0].UInt64Val, OT));  // Add to vector...      yyval.TypeVal = new PATypeHolder(OT);      UR_OUT("New Upreference!\n"); -  ;} -    break; - -  case 68: -#line 1078 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {           // Function derived type? +  ; +    break;} +case 67: +#line 1078 "/llvm/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) @@ -2737,20 +2316,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 69: -#line 1090 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {          // Sized array type? +  ; +    break;} +case 68: +#line 1090 "/llvm/lib/AsmParser/llvmAsmParser.y" +{          // Sized array type?      yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 70: -#line 1094 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {          // Packed array type? +  ; +    break;} +case 69: +#line 1094 "/llvm/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"); @@ -2760,12 +2337,11 @@ yyreduce:       }       yyval.TypeVal = new PATypeHolder(HandleUpRefs(PackedType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));       delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 71: -#line 1105 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                        // Structure type? +  ; +    break;} +case 70: +#line 1105 "/llvm/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) @@ -2773,63 +2349,55 @@ yyreduce:      yyval.TypeVal = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));      delete yyvsp[-1].TypeList; -  ;} -    break; - -  case 72: -#line 1114 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                                  // Empty structure type? +  ; +    break;} +case 71: +#line 1114 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                                  // Empty structure type?      yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>())); -  ;} -    break; - -  case 73: -#line 1117 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                             // Pointer type? +  ; +    break;} +case 72: +#line 1117 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                             // Pointer type?      yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 74: -#line 1125 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 73: +#line 1125 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeList = new std::list<PATypeHolder>();      yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 75: -#line 1129 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 74: +#line 1129 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 77: -#line 1135 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 76: +#line 1135 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy); -  ;} -    break; - -  case 78: -#line 1138 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 77: +#line 1138 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy); -  ;} -    break; - -  case 79: -#line 1141 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 78: +#line 1141 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeList = new std::list<PATypeHolder>(); -  ;} -    break; - -  case 80: -#line 1151 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized arr +  ; +    break;} +case 79: +#line 1151 "/llvm/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: '" +  @@ -2853,12 +2421,11 @@ yyreduce:      yyval.ConstVal = ConstantArray::get(ATy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 81: -#line 1176 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 80: +#line 1176 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -2870,12 +2437,11 @@ yyreduce:                       " arguments, but has size of " + itostr(NumElements) +"!");      yyval.ConstVal = ConstantArray::get(ATy, std::vector<Constant*>());      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 82: -#line 1189 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 81: +#line 1189 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -2902,12 +2468,11 @@ yyreduce:      free(yyvsp[0].StrVal);      yyval.ConstVal = ConstantArray::get(ATy, Vals);      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 83: -#line 1217 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized arr +  ; +    break;} +case 82: +#line 1217 "/llvm/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: '" +  @@ -2931,12 +2496,11 @@ yyreduce:      yyval.ConstVal = ConstantPacked::get(PTy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 84: -#line 1242 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 83: +#line 1242 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());      if (STy == 0)        ThrowException("Cannot make struct constant with type: '" +  @@ -2955,12 +2519,11 @@ yyreduce:      yyval.ConstVal = ConstantStruct::get(STy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 85: -#line 1262 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 84: +#line 1262 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());      if (STy == 0)        ThrowException("Cannot make struct constant with type: '" +  @@ -2971,12 +2534,11 @@ yyreduce:      yyval.ConstVal = ConstantStruct::get(STy, std::vector<Constant*>());      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 86: -#line 1274 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 85: +#line 1274 "/llvm/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: '" +  @@ -2984,20 +2546,18 @@ yyreduce:      yyval.ConstVal = ConstantPointerNull::get(PTy);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 87: -#line 1283 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 86: +#line 1283 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 88: -#line 1287 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 87: +#line 1287 "/llvm/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!"); @@ -3055,74 +2615,66 @@ yyreduce:      yyval.ConstVal = cast<GlobalValue>(V);      delete yyvsp[-1].TypeVal;            // Free the type handle -  ;} -    break; - -  case 89: -#line 1346 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 88: +#line 1346 "/llvm/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 90: -#line 1352 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 89: +#line 1352 "/llvm/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 91: -#line 1360 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {      // integral constants +  ; +    break;} +case 90: +#line 1360 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      // integral constants      if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))        ThrowException("Constant value doesn't fit in type!");      yyval.ConstVal = ConstantSInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val); -  ;} -    break; - -  case 92: -#line 1365 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {            // integral constants +  ; +    break;} +case 91: +#line 1365 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            // integral constants      if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))        ThrowException("Constant value doesn't fit in type!");      yyval.ConstVal = ConstantUInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val); -  ;} -    break; - -  case 93: -#line 1370 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                      // Boolean constants +  ; +    break;} +case 92: +#line 1370 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                      // Boolean constants      yyval.ConstVal = ConstantBool::True; -  ;} -    break; - -  case 94: -#line 1373 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                     // Boolean constants +  ; +    break;} +case 93: +#line 1373 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                     // Boolean constants      yyval.ConstVal = ConstantBool::False; -  ;} -    break; - -  case 95: -#line 1376 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                   // Float & Double constants +  ; +    break;} +case 94: +#line 1376 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                   // Float & Double constants      if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))        ThrowException("Floating point constant invalid for type!!");      yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal); -  ;} -    break; - -  case 96: -#line 1383 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 95: +#line 1383 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())        ThrowException("cast constant expression from a non-primitive type: '" +                       yyvsp[-3].ConstVal->getType()->getDescription() + "'!"); @@ -3131,12 +2683,11 @@ yyreduce:                       yyvsp[-1].TypeVal->get()->getDescription() + "'!");      yyval.ConstVal = ConstantExpr::getCast(yyvsp[-3].ConstVal, yyvsp[-1].TypeVal->get());      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 97: -#line 1393 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 96: +#line 1393 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))        ThrowException("GetElementPtr requires a pointer operand!"); @@ -3166,23 +2717,21 @@ yyreduce:      delete yyvsp[-1].ValueList;      yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec); -  ;} -    break; - -  case 98: -#line 1424 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 97: +#line 1424 "/llvm/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 99: -#line 1431 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 98: +#line 1431 "/llvm/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. @@ -3202,98 +2751,86 @@ yyreduce:                               ConstantExpr::getCast(yyvsp[-1].ConstVal, IntPtrTy));        yyval.ConstVal = ConstantExpr::getCast(yyval.ConstVal, yyvsp[-3].ConstVal->getType());      } -  ;} -    break; - -  case 100: -#line 1452 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 99: +#line 1452 "/llvm/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())        ThrowException("Logical operands must have integral types!");      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 101: -#line 1459 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 100: +#line 1459 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("setcc operand types must match!");      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 102: -#line 1464 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 101: +#line 1464 "/llvm/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 103: -#line 1474 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 102: +#line 1474 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal); -  ;} -    break; - -  case 104: -#line 1477 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 103: +#line 1477 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ConstVector = new std::vector<Constant*>();      yyval.ConstVector->push_back(yyvsp[0].ConstVal); -  ;} -    break; - -  case 105: -#line 1484 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.BoolVal = false; ;} -    break; - -  case 106: -#line 1484 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.BoolVal = true; ;} -    break; - -  case 107: -#line 1494 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 104: +#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.BoolVal = false; ; +    break;} +case 105: +#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.BoolVal = true; ; +    break;} +case 106: +#line 1494 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;    CurModule.ModuleDone(); -;} -    break; - -  case 108: -#line 1501 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 107: +#line 1501 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal;      CurFun.FunctionDone(); -  ;} -    break; - -  case 109: -#line 1505 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 108: +#line 1505 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal; -  ;} -    break; - -  case 110: -#line 1508 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 109: +#line 1508 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal; -  ;} -    break; - -  case 111: -#line 1511 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 110: +#line 1511 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = CurModule.CurrentModule;      // Emit an error if there are any unresolved types left.      if (!CurModule.LateResolveTypes.empty()) { @@ -3303,12 +2840,11 @@ yyreduce:        else          ThrowException("Reference to an undefined type: #" + itostr(DID.Num));      } -  ;} -    break; - -  case 112: -#line 1524 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 111: +#line 1524 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      // Eagerly resolve types.  This is not an optimization, this is a      // requirement that is due to the fact that we could have this:      // @@ -3327,174 +2863,151 @@ yyreduce:      }      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 113: -#line 1544 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {       // Function prototypes can be in const pool -  ;} -    break; - -  case 114: -#line 1546 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 112: +#line 1544 "/llvm/lib/AsmParser/llvmAsmParser.y" +{       // Function prototypes can be in const pool +  ; +    break;} +case 113: +#line 1546 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");      ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal); -  ;} -    break; - -  case 115: -#line 1550 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 114: +#line 1550 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 116: -#line 1554 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  -  ;} -    break; - -  case 117: -#line 1556 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { -  ;} -    break; - -  case 118: -#line 1558 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  -  ;} -    break; - -  case 119: -#line 1563 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Endianness = Module::BigEndian; ;} -    break; - -  case 120: -#line 1564 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Endianness = Module::LittleEndian; ;} -    break; - -  case 121: -#line 1566 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 115: +#line 1554 "/llvm/lib/AsmParser/llvmAsmParser.y" +{  +  ; +    break;} +case 116: +#line 1556 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +  ; +    break;} +case 117: +#line 1558 "/llvm/lib/AsmParser/llvmAsmParser.y" +{  +  ; +    break;} +case 118: +#line 1563 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Endianness = Module::BigEndian; ; +    break;} +case 119: +#line 1564 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Endianness = Module::LittleEndian; ; +    break;} +case 120: +#line 1566 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness); -  ;} -    break; - -  case 122: -#line 1569 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 121: +#line 1569 "/llvm/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 123: -#line 1577 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 122: +#line 1577 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);      free(yyvsp[0].StrVal); -  ;} -    break; - -  case 125: -#line 1584 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 124: +#line 1584 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);            free(yyvsp[0].StrVal); -        ;} -    break; - -  case 126: -#line 1588 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +        ; +    break;} +case 125: +#line 1588 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);            free(yyvsp[0].StrVal); -        ;} -    break; - -  case 127: -#line 1592 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { -        ;} -    break; - -  case 131: -#line 1601 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.StrVal = 0; ;} -    break; - -  case 132: -#line 1603 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +        ; +    break;} +case 126: +#line 1592 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +        ; +    break;} +case 130: +#line 1601 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = 0; ; +    break;} +case 131: +#line 1603 "/llvm/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 133: -#line 1609 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 132: +#line 1609 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[-2].ArgList;      yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal);      delete yyvsp[0].ArgVal; -  ;} -    break; - -  case 134: -#line 1614 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 133: +#line 1614 "/llvm/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 135: -#line 1620 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 134: +#line 1620 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[0].ArgList; -  ;} -    break; - -  case 136: -#line 1623 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 135: +#line 1623 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[-2].ArgList;      yyval.ArgList->push_back(std::pair<PATypeHolder*,                              char*>(new PATypeHolder(Type::VoidTy), 0)); -  ;} -    break; - -  case 137: -#line 1628 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 136: +#line 1628 "/llvm/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 138: -#line 1632 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 137: +#line 1632 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = 0; -  ;} -    break; - -  case 139: -#line 1636 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 138: +#line 1636 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    UnEscapeLexed(yyvsp[-3].StrVal);    std::string FunctionName(yyvsp[-3].StrVal);    free(yyvsp[-3].StrVal);  // Free strdup'd memory! @@ -3572,92 +3085,80 @@ yyreduce:      delete yyvsp[-1].ArgList;                     // We're now done with the argument list    } -;} -    break; - -  case 142: -#line 1718 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 141: +#line 1718 "/llvm/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 145: -#line 1728 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 144: +#line 1728 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = yyvsp[-1].FunctionVal; -;} -    break; - -  case 146: -#line 1732 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { CurFun.isDeclare = true; ;} -    break; - -  case 147: -#line 1732 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 145: +#line 1732 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ CurFun.isDeclare = true; ; +    break;} +case 146: +#line 1732 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = CurFun.CurrentFunction;    CurFun.FunctionDone(); -;} -    break; - -  case 148: -#line 1741 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {    // A reference to a direct constant +; +    break;} +case 147: +#line 1741 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    // A reference to a direct constant      yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val); -  ;} -    break; - -  case 149: -#line 1744 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 148: +#line 1744 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val); -  ;} -    break; - -  case 150: -#line 1747 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                     // Perhaps it's an FP constant? +  ; +    break;} +case 149: +#line 1747 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                     // Perhaps it's an FP constant?      yyval.ValIDVal = ValID::create(yyvsp[0].FPVal); -  ;} -    break; - -  case 151: -#line 1750 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 150: +#line 1750 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(ConstantBool::True); -  ;} -    break; - -  case 152: -#line 1753 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 151: +#line 1753 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(ConstantBool::False); -  ;} -    break; - -  case 153: -#line 1756 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 152: +#line 1756 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::createNull(); -  ;} -    break; - -  case 154: -#line 1759 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 153: +#line 1759 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::createUndef(); -  ;} -    break; - -  case 155: -#line 1762 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized packed vector +  ; +    break;} +case 154: +#line 1762 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ // Nonempty unsized packed vector      const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();      int NumElements = yyvsp[-1].ConstVector->size();  @@ -3680,74 +3181,65 @@ yyreduce:      yyval.ValIDVal = ValID::create(ConstantPacked::get(pt, *yyvsp[-1].ConstVector));      delete PTy; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 156: -#line 1786 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 155: +#line 1786 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal); -  ;} -    break; - -  case 157: -#line 1793 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  // Is it an integer reference...? +  ; +    break;} +case 156: +#line 1793 "/llvm/lib/AsmParser/llvmAsmParser.y" +{  // Is it an integer reference...?      yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal); -  ;} -    break; - -  case 158: -#line 1796 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                   // Is it a named reference...? +  ; +    break;} +case 157: +#line 1796 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                   // Is it a named reference...?      yyval.ValIDVal = ValID::create(yyvsp[0].StrVal); -  ;} -    break; - -  case 161: -#line 1807 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 160: +#line 1807 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 162: -#line 1811 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 161: +#line 1811 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.FunctionVal = yyvsp[-1].FunctionVal; -  ;} -    break; - -  case 163: -#line 1814 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Do not allow functions with 0 basic blocks    +  ; +    break;} +case 162: +#line 1814 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ // Do not allow functions with 0 basic blocks         yyval.FunctionVal = yyvsp[-1].FunctionVal; -  ;} -    break; - -  case 164: -#line 1822 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 163: +#line 1822 "/llvm/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 165: -#line 1831 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 164: +#line 1831 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);      yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; -  ;} -    break; - -  case 166: -#line 1835 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 165: +#line 1835 "/llvm/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 @@ -3756,12 +3248,11 @@ yyreduce:      Function::BasicBlockListType &BBL =         CurFun.CurrentFunction->getBasicBlockList();      BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); -  ;} -    break; - -  case 167: -#line 1845 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 166: +#line 1845 "/llvm/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 @@ -3770,40 +3261,35 @@ yyreduce:      Function::BasicBlockListType &BBL =         CurFun.CurrentFunction->getBasicBlockList();      BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); -  ;} -    break; - -  case 168: -#line 1856 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {              // Return with a result... +  ; +    break;} +case 167: +#line 1856 "/llvm/lib/AsmParser/llvmAsmParser.y" +{              // Return with a result...      yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal); -  ;} -    break; - -  case 169: -#line 1859 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                                       // Return with no result... +  ; +    break;} +case 168: +#line 1859 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                                       // Return with no result...      yyval.TermInstVal = new ReturnInst(); -  ;} -    break; - -  case 170: -#line 1862 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                         // Unconditional Branch... +  ; +    break;} +case 169: +#line 1862 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                         // Unconditional Branch...      yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal)); -  ;} -    break; - -  case 171: -#line 1865 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {   +  ; +    break;} +case 170: +#line 1865 "/llvm/lib/AsmParser/llvmAsmParser.y" +{        yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal)); -  ;} -    break; - -  case 172: -#line 1868 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 171: +#line 1868 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size());      yyval.TermInstVal = S; @@ -3816,20 +3302,18 @@ yyreduce:          ThrowException("Switch case is constant, but not a simple integer!");      }      delete yyvsp[-1].JumpTable; -  ;} -    break; - -  case 173: -#line 1882 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 172: +#line 1882 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0);      yyval.TermInstVal = S; -  ;} -    break; - -  case 174: -#line 1887 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 173: +#line 1887 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PFTy;      const FunctionType *Ty; @@ -3880,38 +3364,34 @@ yyreduce:      delete yyvsp[-10].TypeVal;      delete yyvsp[-7].ValueList; -  ;} -    break; - -  case 175: -#line 1939 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 174: +#line 1939 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TermInstVal = new UnwindInst(); -  ;} -    break; - -  case 176: -#line 1942 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 175: +#line 1942 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TermInstVal = new UnreachableInst(); -  ;} -    break; - -  case 177: -#line 1948 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 176: +#line 1948 "/llvm/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 178: -#line 1956 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 177: +#line 1956 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();      Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal)); @@ -3919,75 +3399,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 179: -#line 1966 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 178: +#line 1966 "/llvm/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 180: -#line 1973 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {    // Used for PHI nodes +; +    break;} +case 179: +#line 1973 "/llvm/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 181: -#line 1978 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 180: +#line 1978 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.PHIList = yyvsp[-6].PHIList;      yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal),                                   getBBVal(yyvsp[-1].ValIDVal))); -  ;} -    break; - -  case 182: -#line 1985 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {    // Used for call statements, and memory insts... +  ; +    break;} +case 181: +#line 1985 "/llvm/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 183: -#line 1989 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 182: +#line 1989 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValueList = yyvsp[-2].ValueList;      yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal); -  ;} -    break; - -  case 185: -#line 1995 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.ValueList = 0; ;} -    break; - -  case 186: -#line 1997 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 184: +#line 1995 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.ValueList = 0; ; +    break;} +case 185: +#line 1997 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = true; -  ;} -    break; - -  case 187: -#line 2000 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 186: +#line 2000 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = false; -  ;} -    break; - -  case 188: -#line 2006 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 187: +#line 2006 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() &&           !isa<PackedType>((*yyvsp[-3].TypeVal).get()))        ThrowException( @@ -3998,24 +3469,22 @@ yyreduce:      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 189: -#line 2018 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 188: +#line 2018 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!(*yyvsp[-3].TypeVal)->isIntegral())        ThrowException("Logical operator requires integral operands!");      yyval.InstVal = BinaryOperator::create(yyvsp[-4].BinaryOpVal, getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal), getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal));      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 190: -#line 2026 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 189: +#line 2026 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {        ThrowException(          "PackedTypes currently not supported in setcc instructions!"); @@ -4024,12 +3493,11 @@ yyreduce:      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 191: -#line 2036 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 190: +#line 2036 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      std::cerr << "WARNING: Use of eliminated 'not' instruction:"                << " Replacing with 'xor'.\n"; @@ -4040,54 +3508,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 192: -#line 2048 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 191: +#line 2048 "/llvm/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 193: -#line 2055 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 192: +#line 2055 "/llvm/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 194: -#line 2062 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 193: +#line 2062 "/llvm/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 195: -#line 2069 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 194: +#line 2069 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      NewVarArgs = true;      yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 196: -#line 2074 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 195: +#line 2074 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      ObsoleteVarArgs = true;      const Type* ArgTy = yyvsp[-2].ValueVal->getType();      Function* NF = CurModule.CurrentModule-> @@ -4105,12 +3568,11 @@ yyreduce:      CurBB->getInstList().push_back(new StoreInst(bar, foo));      yyval.InstVal = new VAArgInst(foo, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 197: -#line 2093 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 196: +#line 2093 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      ObsoleteVarArgs = true;      const Type* ArgTy = yyvsp[-2].ValueVal->getType();      Function* NF = CurModule.CurrentModule-> @@ -4131,12 +3593,11 @@ yyreduce:      CurBB->getInstList().push_back(tmp);      yyval.InstVal = new LoadInst(foo);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 198: -#line 2115 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 197: +#line 2115 "/llvm/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!"); @@ -4149,12 +3610,11 @@ yyreduce:        yyvsp[0].PHIList->pop_front();      }      delete yyvsp[0].PHIList;  // Free the list... -  ;} -    break; - -  case 199: -#line 2129 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 198: +#line 2129 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PFTy;      const FunctionType *Ty; @@ -4210,89 +3670,106 @@ yyreduce:      cast<CallInst>(yyval.InstVal)->setCallingConv(yyvsp[-5].UIntVal);      delete yyvsp[-4].TypeVal;      delete yyvsp[-1].ValueList; -  ;} -    break; - -  case 200: -#line 2186 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 199: +#line 2186 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = yyvsp[0].InstVal; -  ;} -    break; - -  case 201: -#line 2192 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  +  ; +    break;} +case 200: +#line 2192 "/llvm/lib/AsmParser/llvmAsmParser.y" +{       yyval.ValueList = yyvsp[0].ValueList;  -  ;} -    break; - -  case 202: -#line 2194 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  +  ; +    break;} +case 201: +#line 2194 "/llvm/lib/AsmParser/llvmAsmParser.y" +{       yyval.ValueList = new std::vector<Value*>();  -  ;} -    break; - -  case 203: -#line 2198 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 202: +#line 2198 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = true; -  ;} -    break; - -  case 204: -#line 2201 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 203: +#line 2201 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = false; -  ;} -    break; - -  case 205: -#line 2207 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 204: +#line 2207 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new MallocInst(*yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 206: -#line 2211 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 205: +#line 2211 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val); +    delete yyvsp[-3].TypeVal; +  ; +    break;} +case 206: +#line 2215 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 207: -#line 2215 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 207: +#line 2219 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new MallocInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val); +    delete yyvsp[-6].TypeVal; +  ; +    break;} +case 208: +#line 2223 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new AllocaInst(*yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 208: -#line 2219 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 209: +#line 2227 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val); +    delete yyvsp[-3].TypeVal; +  ; +    break;} +case 210: +#line 2231 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 209: -#line 2223 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 211: +#line 2235 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new AllocaInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val); +    delete yyvsp[-6].TypeVal; +  ; +    break;} +case 212: +#line 2239 "/llvm/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 210: -#line 2230 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 213: +#line 2246 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))        ThrowException("Can't load from nonpointer type: " +                       (*yyvsp[-1].TypeVal)->getDescription()); @@ -4301,12 +3778,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 211: -#line 2240 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 214: +#line 2256 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());      if (!PT)        ThrowException("Can't store to a nonpointer type: " + @@ -4318,12 +3794,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 212: -#line 2253 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 215: +#line 2269 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))        ThrowException("getelementptr insn requires pointer operand!"); @@ -4343,239 +3818,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 1010 of yacc.c.  */ -#line 4354 "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: -      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); -      yydestruct (yystos[yystate], yyvsp); -      YYPOPSTACK; -      yystate = *yyssp; -      YY_STACK_PRINT (yyss, yyssp); +  yyn = yypact[yystate]; +  if (yyn == YYFLAG) +    goto yyerrdefault; + +  yyn += YYTERROR; +  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) +    goto yyerrdefault; + +  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 2276 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" +#line 2292 "/llvm/lib/AsmParser/llvmAsmParser.y"  int yyerror(const char *ErrorMsg) {    std::string where  @@ -4589,4 +4056,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 fbd1b9a2705..082a43791dc 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.h +++ b/llvm/lib/AsmParser/llvmAsmParser.h @@ -1,225 +1,4 @@ -/* A Bison parser, made by GNU Bison 1.875d.  */ - -/* Skeleton parser for Yacc-like parsing with Bison, -   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 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, -     VOLATILE = 289, -     TO = 290, -     DOTDOTDOT = 291, -     NULL_TOK = 292, -     UNDEF = 293, -     CONST = 294, -     INTERNAL = 295, -     LINKONCE = 296, -     WEAK = 297, -     APPENDING = 298, -     OPAQUE = 299, -     NOT = 300, -     EXTERNAL = 301, -     TARGET = 302, -     TRIPLE = 303, -     ENDIAN = 304, -     POINTERSIZE = 305, -     LITTLE = 306, -     BIG = 307, -     DEPLIBS = 308, -     CALL = 309, -     TAIL = 310, -     CC_TOK = 311, -     CCC_TOK = 312, -     FASTCC_TOK = 313, -     COLDCC_TOK = 314, -     RET = 315, -     BR = 316, -     SWITCH = 317, -     INVOKE = 318, -     UNWIND = 319, -     UNREACHABLE = 320, -     ADD = 321, -     SUB = 322, -     MUL = 323, -     DIV = 324, -     REM = 325, -     AND = 326, -     OR = 327, -     XOR = 328, -     SETLE = 329, -     SETGE = 330, -     SETLT = 331, -     SETGT = 332, -     SETEQ = 333, -     SETNE = 334, -     MALLOC = 335, -     ALLOCA = 336, -     FREE = 337, -     LOAD = 338, -     STORE = 339, -     GETELEMENTPTR = 340, -     PHI_TOK = 341, -     CAST = 342, -     SELECT = 343, -     SHL = 344, -     SHR = 345, -     VAARG = 346, -     VAARG_old = 347, -     VANEXT_old = 348 -   }; -#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 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 DEPLIBS 308 -#define CALL 309 -#define TAIL 310 -#define CC_TOK 311 -#define CCC_TOK 312 -#define FASTCC_TOK 313 -#define COLDCC_TOK 314 -#define RET 315 -#define BR 316 -#define SWITCH 317 -#define INVOKE 318 -#define UNWIND 319 -#define UNREACHABLE 320 -#define ADD 321 -#define SUB 322 -#define MUL 323 -#define DIV 324 -#define REM 325 -#define AND 326 -#define OR 327 -#define XOR 328 -#define SETLE 329 -#define SETGE 330 -#define SETLT 331 -#define SETGT 332 -#define SETEQ 333 -#define SETNE 334 -#define MALLOC 335 -#define ALLOCA 336 -#define FREE 337 -#define LOAD 338 -#define STORE 339 -#define GETELEMENTPTR 340 -#define PHI_TOK 341 -#define CAST 342 -#define SELECT 343 -#define SHL 344 -#define SHR 345 -#define VAARG 346 -#define VAARG_old 347 -#define VANEXT_old 348 - - - - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 866 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -typedef union YYSTYPE { +typedef union {    llvm::Module                           *ModuleVal;    llvm::Function                         *FunctionVal;    std::pair<llvm::PATypeHolder*, char*>  *ArgVal; @@ -258,14 +37,98 @@ typedef union YYSTYPE {    llvm::Instruction::OtherOps             OtherOpVal;    llvm::Module::Endianness                Endianness;  } YYSTYPE; -/* Line 1285 of yacc.c.  */ -#line 263 "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	VOLATILE	288 +#define	TO	289 +#define	DOTDOTDOT	290 +#define	NULL_TOK	291 +#define	UNDEF	292 +#define	CONST	293 +#define	INTERNAL	294 +#define	LINKONCE	295 +#define	WEAK	296 +#define	APPENDING	297 +#define	OPAQUE	298 +#define	NOT	299 +#define	EXTERNAL	300 +#define	TARGET	301 +#define	TRIPLE	302 +#define	ENDIAN	303 +#define	POINTERSIZE	304 +#define	LITTLE	305 +#define	BIG	306 +#define	ALIGN	307 +#define	DEPLIBS	308 +#define	CALL	309 +#define	TAIL	310 +#define	CC_TOK	311 +#define	CCC_TOK	312 +#define	FASTCC_TOK	313 +#define	COLDCC_TOK	314 +#define	RET	315 +#define	BR	316 +#define	SWITCH	317 +#define	INVOKE	318 +#define	UNWIND	319 +#define	UNREACHABLE	320 +#define	ADD	321 +#define	SUB	322 +#define	MUL	323 +#define	DIV	324 +#define	REM	325 +#define	AND	326 +#define	OR	327 +#define	XOR	328 +#define	SETLE	329 +#define	SETGE	330 +#define	SETLT	331 +#define	SETGT	332 +#define	SETEQ	333 +#define	SETNE	334 +#define	MALLOC	335 +#define	ALLOCA	336 +#define	FREE	337 +#define	LOAD	338 +#define	STORE	339 +#define	GETELEMENTPTR	340 +#define	PHI_TOK	341 +#define	CAST	342 +#define	SELECT	343 +#define	SHL	344 +#define	SHR	345 +#define	VAARG	346 +#define	VAARG_old	347 +#define	VANEXT_old	348 +extern YYSTYPE llvmAsmlval; diff --git a/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y index c0b7d63c138..c5589782937 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.y +++ b/llvm/lib/AsmParser/llvmAsmParser.y @@ -953,7 +953,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {  %token IMPLEMENTATION ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK  %token DECLARE GLOBAL CONSTANT VOLATILE  %token TO DOTDOTDOT NULL_TOK UNDEF CONST INTERNAL LINKONCE WEAK  APPENDING -%token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG +%token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN  %token DEPLIBS CALL TAIL  %token CC_TOK CCC_TOK FASTCC_TOK COLDCC_TOK  %type <UIntVal> OptCallingConv @@ -2208,18 +2208,34 @@ MemoryInst : MALLOC Types {      $$ = new MallocInst(*$2);      delete $2;    } +  | MALLOC Types ',' ALIGN EUINT64VAL { +    $$ = new MallocInst(*$2, 0, $5); +    delete $2; +  }    | MALLOC Types ',' UINT ValueRef {      $$ = new MallocInst(*$2, getVal($4, $5));      delete $2;    } +  | MALLOC Types ',' UINT ValueRef ',' ALIGN EUINT64VAL { +    $$ = new MallocInst(*$2, getVal($4, $5), $8); +    delete $2; +  }    | ALLOCA Types {      $$ = new AllocaInst(*$2);      delete $2;    } +  | ALLOCA Types ',' ALIGN EUINT64VAL { +    $$ = new AllocaInst(*$2, 0, $5); +    delete $2; +  }    | ALLOCA Types ',' UINT ValueRef {      $$ = new AllocaInst(*$2, getVal($4, $5));      delete $2;    } +  | ALLOCA Types ',' UINT ValueRef ',' ALIGN EUINT64VAL { +    $$ = new AllocaInst(*$2, getVal($4, $5), $8); +    delete $2; +  }    | FREE ResolvedVal {      if (!isa<PointerType>($2->getType()))        ThrowException("Trying to free nonpointer type " +  | 

