[llvm-commits] CVS: llvm/lib/AsmParser/Lexer.cpp llvmAsmParser.cpp llvmAsmParser.h

Chris Lattner lattner at cs.uiuc.edu
Fri Nov 11 16:12:00 PST 2005



Changes in directory llvm/lib/AsmParser:

Lexer.cpp updated: 1.11 -> 1.12
llvmAsmParser.cpp updated: 1.23 -> 1.24
llvmAsmParser.h updated: 1.11 -> 1.12
---
Log message:

regenerate


---
Diffs of the changes:  (+1446 -1376)

 Lexer.cpp         |  902 +++++++++++++--------------
 llvmAsmParser.cpp | 1775 ++++++++++++++++++++++++++++--------------------------
 llvmAsmParser.h   |  123 +--
 3 files changed, 1446 insertions(+), 1354 deletions(-)


Index: llvm/lib/AsmParser/Lexer.cpp
diff -u llvm/lib/AsmParser/Lexer.cpp:1.11 llvm/lib/AsmParser/Lexer.cpp:1.12
--- llvm/lib/AsmParser/Lexer.cpp:1.11	Sat Nov  5 03:21:28 2005
+++ llvm/lib/AsmParser/Lexer.cpp	Fri Nov 11 18:11:48 2005
@@ -20,7 +20,7 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp,v 1.11 2005/11/05 09:21:28 sampo Exp $
+ * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp,v 1.12 2005/11/12 00:11:48 lattner Exp $
  */
 
 #define FLEX_SCANNER
@@ -308,32 +308,32 @@
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 100
-#define YY_END_OF_BUFFER 101
-static yyconst short int yy_acclist[178] =
+#define YY_NUM_RULES 101
+#define YY_END_OF_BUFFER 102
+static yyconst short int yy_acclist[179] =
     {   0,
-      101,   99,  100,   98,   99,  100,   98,  100,   99,  100,
-       99,  100,   99,  100,   99,  100,   99,  100,   99,  100,
-       91,   99,  100,   91,   99,  100,    1,   99,  100,   99,
-      100,   99,  100,   99,  100,   99,  100,   99,  100,   99,
-      100,   99,  100,   99,  100,   99,  100,   99,  100,   99,
-      100,   99,  100,   99,  100,   99,  100,   99,  100,   99,
-      100,   99,  100,   99,  100,   99,  100,   99,  100,   99,
-      100,   90,   88,   87,   87,   94,   92,   96,   91,    1,
-       76,   32,   58,   20,   90,   87,   87,   95,   96,   17,
-       96,   97,   52,   57,   30,   33,   55,    3,   42,   54,
-
-       22,   66,   56,   75,   70,   71,   53,   59,   89,   96,
-       96,   37,   67,   68,   83,   84,   44,   19,   93,   23,
-        4,   49,   43,   36,   11,   96,   51,    2,    5,   46,
-       48,   38,   61,   65,   63,   64,   62,   60,   40,   85,
-       39,   45,   18,   73,   82,   35,   47,   27,   21,   34,
-        7,   78,   29,   81,   50,   69,   77,   24,   25,   79,
-       41,   74,   72,    6,   26,    8,   14,    9,   10,   31,
-       12,   28,   80,   86,   13,   15,   16
+      102,  100,  101,   99,  100,  101,   99,  101,  100,  101,
+      100,  101,  100,  101,  100,  101,  100,  101,  100,  101,
+       92,  100,  101,   92,  100,  101,    1,  100,  101,  100,
+      101,  100,  101,  100,  101,  100,  101,  100,  101,  100,
+      101,  100,  101,  100,  101,  100,  101,  100,  101,  100,
+      101,  100,  101,  100,  101,  100,  101,  100,  101,  100,
+      101,  100,  101,  100,  101,  100,  101,  100,  101,  100,
+      101,   91,   89,   88,   88,   95,   93,   97,   92,    1,
+       77,   34,   59,   20,   91,   88,   88,   96,   97,   17,
+       97,   98,   53,   58,   30,   35,   56,    3,   44,   55,
+
+       22,   67,   57,   76,   71,   72,   54,   60,   90,   97,
+       97,   39,   68,   69,   84,   85,   46,   19,   94,   23,
+        4,   51,   45,   38,   11,   97,   32,    2,    5,   48,
+       50,   40,   62,   66,   64,   65,   63,   61,   42,   86,
+       41,   47,   18,   74,   83,   37,   49,   27,   21,   36,
+        7,   79,   29,   82,   52,   70,   78,   24,   25,   80,
+       43,   75,   73,    6,   26,   33,    8,   14,    9,   10,
+       31,   12,   28,   81,   87,   13,   15,   16
     } ;
 
-static yyconst short int yy_accept[401] =
+static yyconst short int yy_accept[406] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
@@ -352,33 +352,34 @@
        98,   98,   99,   99,   99,   99,   99,   99,   99,   99,
        99,   99,  100,  100,  100,  100,  100,  100,  100,  100,
       101,  102,  102,  102,  103,  103,  104,  105,  105,  105,
-      105,  105,  106,  106,  107,  107,  108,  108,  108,  108,
+      105,  105,  105,  106,  106,  107,  107,  108,  108,  108,
       108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  108,  108,  108,  108,  108,  109,  109,  110,
-      111,  111,  111,  111,  112,  112,  112,  112,  112,  113,
+      108,  108,  108,  108,  108,  108,  108,  108,  109,  109,
+      110,  111,  111,  111,  111,  112,  112,  112,  112,  112,
 
-      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
+      113,  114,  115,  115,  115,  115,  115,  115,  115,  115,
+      115,  115,  115,  115,  116,  116,  116,  116,  116,  116,
+      116,  116,  116,  117,  118,  118,  119,  119,  119,  120,
+      120,  120,  120,  120,  120,  120,  120,  120,  120,  120,
+      121,  121,  121,  122,  123,  123,  124,  124,  124,  124,
+      124,  124,  124,  124,  124,  124,  125,  125,  126,  126,
+      127,  128,  128,  128,  129,  129,  129,  129,  129,  129,
+      129,  129,  129,  130,  130,  131,  131,  131,  131,  131,
+      131,  132,  132,  132,  132,  132,  132,  133,  133,  133,
+      134,  135,  136,  137,  138,  139,  140,  141,  141,  141,
+
+      141,  142,  143,  144,  144,  144,  144,  144,  144,  145,
+      145,  145,  145,  146,  146,  147,  147,  147,  147,  148,
+      149,  150,  150,  151,  151,  152,  152,  152,  153,  153,
+      154,  155,  156,  156,  156,  157,  158,  159,  160,  160,
+      160,  161,  162,  163,  164,  164,  164,  164,  164,  165,
+      166,  166,  166,  166,  166,  166,  166,  167,  167,  167,
+      167,  167,  167,  168,  169,  169,  169,  170,  171,  171,
+      171,  171,  172,  172,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  174,
+      174,  175,  175,  175,  175,  175,  175,  176,  176,  177,
 
+      177,  178,  178,  179,  179
     } ;
 
 static yyconst int yy_ec[256] =
@@ -422,105 +423,105 @@
         3
     } ;
 
-static yyconst short int yy_base[405] =
+static yyconst short int yy_base[410] =
     {   0,
-        0,    0,  840,  841,  841,  841,  835,  826,   34,   36,
+        0,    0,  850,  851,  851,  851,  845,  836,   34,   36,
        38,   42,   46,   50,    0,   51,   54,   53,   56,   61,
        76,   77,   79,   80,   82,   83,   84,   90,   31,  111,
-       94,  140,  113,   55,  110,  116,  833,  841,  824,  841,
+       94,  140,  113,   55,  110,  116,  843,  851,  834,  851,
         0,  128,  131,  144,  150,  124,  160,  167,  172,    0,
-      136,  139,  168,  100,   41,  145,  114,  823,  173,  183,
+      136,  139,  168,  100,   41,  145,  114,  833,  173,  183,
       184,  185,  161,  187,  189,  191,  193,  133,  194,  196,
       200,  202,  205,  206,  209,  217,   89,  210,  213,  216,
-       57,  822,  207,  224,  223,  227,  229,  233,  240,  235,
-      238,  247,  249,  821,  250,  245,  241,  242,  265,  267,
+       57,  832,  207,  224,  223,  227,  229,  233,  243,  235,
+      238,  242,  247,  831,  249,  250,  251,  259,  245,  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,
+      265,  266,  272,  281,  274,  278,  830,    0,  291,  293,
+      829,  305,  311,    0,  828,  241,  282,  827,  312,  284,
+      826,  298,  301,  294,  825,  315,  318,  319,  320,  824,
+      322,  324,  327,  329,  325,  326,  339,  332,  333,  345,
+      331,  343,  330,  350,  353,  354,  355,  357,  356,  823,
+      822,  358,  360,  821,  361,  820,  819,  383,  364,  372,
+      365,  394,  818,  362,  817,  375,  816,  376,  369,  397,
+      379,  401,  404,  400,  402,  407,  406,  412,  417,  414,
+      416,  428,  418,  421,  432,  431,  435,  815,  419,  851,
+      443,  449,  452,  455,  458,  443,  459,  461,  462,  814,
+
+      813,  812,  463,  464,  467,  468,  465,  469,  471,  473,
+      475,  476,  477,  811,  482,  486,  489,  485,  488,  492,
+      420,  493,  810,  809,  495,  808,  496,  499,    0,  501,
+      503,  504,  505,  509,  512,  514,  515,  517,  524,  807,
+      519,  527,  806,  805,  530,  804,  529,  533,  534,  536,
+      537,  544,  545,  546,  548,  803,  549,  802,  550,  553,
+      801,  553,  556,  800,  555,  568,  559,  561,  560,  570,
+      571,  574,  799,  576,  798,  577,  578,  579,  581,  588,
+      797,  582,  592,  589,  600,  602,  796,  585,  584,  795,
+      794,  793,  792,  791,  790,  789,  788,  604,  590,  605,
+
+      787,  786,  785,  606,  608,  610,  612,  617,  784,  619,
+      620,  621,  783,  623,  782,  622,  625,  624,  781,  780,
+      779,  626,  778,  627,  777,  632,  640,  776,  630,  775,
+      774,  773,  644,  647,  772,  771,  770,  769,  648,  650,
+      768,  765,  756,  755,  651,  654,  652,  649,  753,  752,
+      653,  670,  656,  659,  671,  655,  751,  658,  676,  675,
+      660,  678,  750,  749,  682,  685,  748,  747,  687,  686,
+      688,  746,  690,  745,  691,  692,  693,  696,  695,  702,
+      698,  704,  706,  705,  711,  713,  712,  716,  744,  721,
+      739,  718,  719,  723,  724,  725,  738,  726,  737,  733,
 
-      761,  298,  765,  252
+      657,  736,  422,  851,  769,  771,  379,  775,  375
     } ;
 
-static yyconst short int yy_def[405] =
+static yyconst short int yy_def[410] =
     {   0,
-      399,    1,  399,  399,  399,  399,  400,  401,  402,  399,
-      401,  401,  401,  401,  403,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  400,  399,  401,  399,
-      404,  404,  399,  399,  401,  401,  401,  401,  401,  403,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-
-      401,  401,  401,  401,  401,  401,  399,  404,  404,  399,
-      401,  401,  401,   49,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,   49,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  399,  399,
-      399,  399,  401,  401,  401,  401,  401,  401,  401,  401,
-
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  158,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  399,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,    0,  399,
+      404,    1,  404,  404,  404,  404,  405,  406,  407,  404,
+      406,  406,  406,  406,  408,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  405,  404,  406,  404,
+      409,  409,  404,  404,  406,  406,  406,  406,  406,  408,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+
+      406,  406,  406,  406,  406,  406,  404,  409,  409,  404,
+      406,  406,  406,   49,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,   49,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  404,
+      404,  404,  404,  406,  406,  406,  406,  406,  406,  406,
+
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  158,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  404,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
+      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
 
-      399,  399,  399,  399
+      406,  406,  406,    0,  404,  404,  404,  404,  404
     } ;
 
-static yyconst short int yy_nxt[883] =
+static yyconst short int yy_nxt[893] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
        14,    4,   15,    8,    8,    8,   16,   17,   18,   19,
@@ -549,79 +550,81 @@
        40,   40,  131,  144,   40,  134,  136,   40,   40,  140,
       139,  154,  141,  147,   40,   40,  150,  145,   40,  142,
        40,  143,  152,  146,   40,  148,   40,  151,  155,   40,
-      156,   40,   40,   40,  108,  166,   40,  157,   40,  160,
-       40,   40,  109,  109,  165,  158,  162,  161,  159,  163,
-      174,  167,  164,  168,  170,  172,   40,   40,   40,   40,
-      173,  169,   40,  181,  182,  171,  176,   40,   40,  180,
-       40,  177,  186,   40,  175,  184,  183,  185,   40,  178,
-
-       41,  190,  190,   40,  179,   40,  191,  197,  199,  187,
-       40,  188,  191,  112,  112,   40,  192,  193,  113,  194,
-      194,   40,   40,  196,  113,   40,   40,   40,   40,   40,
-       40,   40,  203,  195,   40,   40,  202,  206,  198,   40,
-       40,  200,   40,   40,  204,  205,   40,  207,  208,  209,
-      201,  212,  213,   40,   40,   40,   40,  210,   40,   40,
-      215,   40,  214,   40,   40,  211,   40,  217,  219,   40,
-      216,   40,  222,   40,  218,  220,   40,  223,   40,   40,
-      258,  258,   40,   40,  224,   40,  221,  230,  225,   40,
-      239,  226,   40,  227,  228,  228,   40,  238,  228,  228,
-
-       40,  228,  228,  228,  228,  228,  228,   40,  229,  231,
-      235,  232,   40,  236,   40,  233,   40,  234,   40,  237,
-       40,  241,   40,  242,   40,   40,  240,   40,   40,   40,
-       40,  246,   40,  248,  251,   40,   40,  245,   40,  243,
-      249,  244,  247,  255,  253,   40,  250,   40,   40,  259,
-      256,  252,   40,  254,  315,  190,  190,   40,  192,  192,
-      191,  258,  258,   40,  260,  257,  191,  194,  194,   40,
-      194,  194,   40,   40,   40,  264,   40,   40,   40,   40,
-      261,  263,  265,   40,  268,   40,   40,   40,   40,  266,
-      262,   40,   40,  267,  272,  271,  275,   40,   40,   40,
-
-       40,   40,  269,   40,   40,   40,  270,  274,  276,   40,
-       40,  273,  278,   40,   40,  279,   40,  286,  277,  280,
-      281,  282,  285,   40,   40,  288,   40,   40,  283,   40,
-       40,   40,  284,  290,  287,  292,  294,  295,  296,  289,
-       40,   40,  299,   40,   40,   40,  293,  291,   40,   40,
-      298,   40,   40,  300,  302,  297,   40,  301,   40,   40,
-       40,   40,  303,  306,  258,  258,  310,  311,   40,  304,
-       40,   40,  305,  309,   40,  312,  313,   40,   40,   40,
-       40,  308,   40,  307,   40,   40,  316,  320,   40,   40,
-       40,  314,   40,  321,   40,  317,  319,  318,  323,  325,
-
-      322,  327,   40,  329,   40,  324,  326,   40,   40,  328,
-       40,   40,   40,  330,   40,   40,   40,   40,   40,   40,
-      332,  334,  336,   40,  337,   40,   40,   40,  339,   40,
-      331,   40,  341,  333,  335,   40,  345,  338,  343,   40,
-      342,  340,  351,  344,  347,   40,   40,  348,   40,   40,
-       40,  346,   40,  350,  349,   40,   40,   40,   40,   40,
-       40,   40,  353,   40,  354,  355,   40,  352,  356,  360,
-       40,   40,  363,  357,  359,  361,  362,   40,   40,  367,
-      358,   40,  365,  366,   40,   40,   40,   40,  364,   40,
-       40,   40,  369,   40,  368,  374,   40,   40,  377,  372,
-
-       40,  370,  373,  375,   40,   40,   40,   40,  371,  381,
-      379,   40,   40,   40,  376,  380,  384,   40,   40,   40,
-       40,  386,   40,   40,  382,  378,   40,   40,  387,  383,
-      389,  390,  391,   40,  394,   40,   40,   40,  393,   40,
-      385,  388,   40,   40,  392,  397,   40,   40,   40,   40,
-      396,   40,   40,   40,   40,   40,  395,   40,  398,   37,
-       37,   37,   37,   39,   39,   50,   40,   50,   50,   40,
+      156,  160,   40,   40,   40,  167,   40,  157,   40,  161,
+       40,   40,   40,  196,  166,  158,  168,  162,  159,  163,
+       40,  169,  164,  171,  176,  165,   40,   40,   40,  170,
+      173,  182,  183,   40,  172,   40,  177,  175,  181,   40,
+      174,  178,   40,   40,  184,   40,  185,  187,  186,  179,
+
+      109,  109,  191,  191,  180,   40,  188,  192,  199,   40,
+      189,  197,   40,  192,  112,  112,   40,  193,  194,  113,
+      195,  195,   40,   40,  200,  113,   40,  201,  202,   40,
+       40,   40,  198,   40,  203,   40,   40,   40,   40,  207,
+       40,   40,   40,   40,   40,  205,  206,  209,  208,  210,
+       40,  204,  214,  215,   40,  213,   40,  217,  211,  219,
+      212,   40,  216,  218,   40,   40,   40,   40,   40,   40,
+      220,   40,   40,   40,  223,   40,   40,  108,  221,  224,
+       40,   41,  225,   40,  226,  232,   40,   40,  222,  228,
+       40,  227,  229,  229,  237,  240,  229,  229,  230,  229,
+
+      229,  229,  229,  229,  229,   40,  231,  238,   40,  242,
+      239,   40,   40,   40,  233,   40,  234,   40,   40,  241,
+      235,  243,  236,   40,  244,   40,  248,   40,   40,   40,
+       40,   40,   40,   40,  245,  247,  246,  250,  251,   40,
+      249,  255,   40,   40,  253,  252,   40,  257,  259,  282,
+      254,  256,  191,  191,   40,  193,  193,  192,  260,  260,
+      258,  260,  260,  192,  195,  195,   40,  195,  195,   40,
+       40,  261,   40,   40,   40,   40,   40,  262,   40,   40,
+       40,  265,   40,  267,   40,  270,   40,   40,   40,  263,
+      264,  269,  268,   40,  274,  273,   40,   40,  266,   40,
+
+       40,  271,  277,   40,   40,  272,   40,   40,  276,  278,
+       40,  275,   40,  280,   40,   40,   40,  279,  281,  283,
+       40,  287,  289,   40,  284,   40,   40,  288,   40,  291,
+       40,  285,  293,  286,  295,   40,  290,  297,   40,  299,
+       40,   40,  298,  292,   40,   40,  294,   40,   40,  296,
+      301,  302,  305,  300,  303,   40,   40,   40,  304,   40,
+       40,   40,  260,  260,   40,  306,   40,   40,  309,  313,
+       40,   40,   40,  315,  312,  314,  307,  308,  318,   40,
+      319,   40,   40,  311,  316,   40,  310,   40,   40,   40,
+       40,  317,   40,   40,  323,   40,   40,  324,  320,   40,
+
+       40,   40,  322,   40,  325,  321,  326,  331,  328,  327,
+      329,   40,  330,   40,  334,   40,   40,   40,  335,   40,
+      332,   40,  333,   40,  337,  338,  340,  336,   40,  341,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,  343,
+      339,   40,  351,   40,  345,  349,  342,  347,  355,  346,
+      348,   40,  353,  344,  352,   40,  354,  350,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,  358,  359,  370,  357,  356,  360,  361,  364,
+      362,   40,   40,  363,  366,  367,   40,   40,  369,   40,
+      365,  368,  371,   40,  373,  372,   40,   40,   40,   40,
+
+      374,   40,   40,   40,   40,  379,   40,   40,  382,   40,
+      375,  377,  378,   40,  380,   40,   40,   40,  386,  376,
+      384,  385,   40,   40,   40,  381,  389,   40,  387,   40,
+       40,  391,   40,  383,   40,   40,   40,   40,  388,  392,
+      394,  395,  396,  399,   40,  390,  393,   40,   40,   40,
+       40,  397,  398,  402,  401,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,  400,   40,   40,  403,   37,
+       37,   37,   37,   39,   39,   50,   40,   50,   50,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
 
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,  189,   40,   40,   40,   40,  107,   40,   38,  399,
-        3,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  190,   40,   40,   40,   40,  107,   40,   38,  404,
+        3,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404
+
     } ;
 
-static yyconst short int yy_chk[883] =
+static yyconst short int yy_chk[893] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -650,76 +653,78 @@
        75,   78,   64,   74,   79,   66,   67,   80,   76,   71,
        70,   83,   72,   76,   85,   84,   78,   75,   86,   73,
        87,   73,   80,   75,   88,   76,   90,   79,   84,   91,
-       85,   89,   97,   98,  404,   91,   96,   85,   92,   88,
-       93,   95,  109,  109,   90,   86,   89,   88,   87,   89,
-       98,   92,   89,   93,   95,   96,   99,  101,  100,  102,
-       97,   93,  103,  102,  102,   95,  100,  104,  105,  101,
-      106,  100,  104,  122,   99,  103,  102,  103,  119,  100,
-
-      402,  110,  110,  398,  100,  117,  110,  119,  122,  105,
-      127,  106,  110,  112,  112,  112,  113,  113,  112,  113,
-      113,  113,  116,  117,  112,  120,  123,  124,  126,  128,
-      129,  131,  127,  116,  132,  135,  126,  131,  120,  133,
-      134,  123,  136,  138,  128,  129,  137,  132,  133,  134,
-      124,  137,  138,  139,  140,  141,  143,  135,  142,  144,
-      140,  145,  139,  146,  147,  136,  148,  142,  144,  149,
-      141,  153,  147,  152,  143,  145,  155,  148,  160,  169,
-      192,  192,  168,  396,  149,  159,  146,  160,  152,  163,
-      169,  153,  165,  155,  158,  158,  167,  168,  158,  158,
-
-      161,  158,  158,  158,  158,  158,  158,  170,  159,  161,
-      163,  161,  171,  165,  172,  161,  173,  161,  174,  167,
-      175,  171,  176,  172,  178,  177,  170,  179,  180,  181,
-      182,  176,  195,  178,  181,  183,  186,  175,  185,  173,
-      179,  174,  177,  185,  183,  184,  180,  188,  266,  195,
-      186,  182,  203,  184,  266,  190,  190,  196,  191,  191,
-      190,  191,  191,  197,  196,  188,  190,  193,  193,  193,
-      194,  194,  194,  198,  202,  203,  205,  204,  206,  207,
-      197,  202,  204,  208,  207,  209,  210,  211,  212,  205,
-      198,  215,  214,  206,  211,  210,  215,  217,  218,  216,
-
-      219,  220,  208,  224,  226,  221,  209,  214,  216,  227,
-      230,  212,  218,  229,  231,  219,  232,  230,  217,  220,
-      221,  224,  229,  235,  233,  232,  234,  236,  226,  239,
-      237,  245,  227,  233,  231,  234,  236,  237,  239,  232,
-      240,  243,  245,  246,  247,  249,  235,  233,  250,  248,
-      243,  251,  252,  246,  248,  240,  253,  247,  255,  261,
-      257,  260,  249,  252,  258,  258,  260,  261,  263,  250,
-      265,  264,  251,  257,  269,  263,  264,  267,  268,  270,
-      272,  255,  276,  253,  274,  275,  267,  272,  277,  280,
-      278,  265,  281,  274,  283,  268,  270,  269,  276,  278,
-
-      275,  281,  282,  283,  284,  277,  280,  286,  295,  282,
-      296,  301,  297,  284,  304,  302,  303,  305,  307,  308,
-      295,  297,  302,  309,  303,  311,  313,  314,  305,  315,
-      286,  321,  308,  296,  301,  326,  314,  304,  311,  319,
-      309,  307,  326,  313,  319,  323,  330,  321,  324,  335,
-      341,  315,  336,  324,  323,  342,  343,  344,  349,  347,
-      348,  350,  335,  351,  336,  341,  352,  330,  342,  348,
-      355,  356,  351,  343,  347,  349,  350,  353,  354,  355,
-      344,  357,  353,  354,  360,  361,  364,  365,  352,  366,
-      368,  370,  357,  371,  356,  366,  372,  373,  371,  364,
-
-      374,  360,  365,  368,  375,  376,  377,  378,  361,  375,
-      373,  379,  380,  381,  370,  374,  378,  383,  382,  387,
-      389,  380,  385,  388,  376,  372,  390,  391,  381,  377,
-      383,  385,  387,  393,  390,  394,  395,  397,  389,  392,
-      379,  382,  386,  384,  388,  395,  369,  367,  363,  362,
-      393,  359,  358,  346,  345,  340,  391,  339,  397,  400,
-      400,  400,  400,  401,  401,  403,  338,  403,  403,  337,
-      334,  333,  332,  331,  329,  328,  327,  325,  322,  320,
-      318,  317,  316,  312,  310,  306,  300,  299,  298,  294,
-      293,  292,  291,  290,  289,  288,  287,  285,  279,  273,
-
-      271,  262,  259,  256,  254,  244,  242,  241,  238,  225,
-      223,  222,  213,  201,  200,  199,  187,  166,  164,  162,
+       85,   88,  116,   92,   89,   91,   99,   85,   93,   88,
+       95,   96,   97,  116,   90,   86,   92,   88,   87,   89,
+       98,   93,   89,   95,   99,   89,  101,  102,  100,   93,
+       96,  102,  102,  103,   95,  105,  100,   98,  101,  106,
+       97,  100,  104,  117,  102,  120,  103,  104,  103,  100,
+
+      109,  109,  110,  110,  100,  124,  105,  110,  120,  122,
+      106,  117,  123,  110,  112,  112,  112,  113,  113,  112,
+      113,  113,  113,  119,  122,  112,  126,  123,  124,  127,
+      128,  129,  119,  131,  126,  132,  135,  136,  133,  131,
+      134,  143,  141,  138,  139,  128,  129,  133,  132,  134,
+      137,  127,  138,  139,  142,  137,  140,  141,  135,  143,
+      136,  144,  140,  142,  145,  146,  147,  149,  148,  152,
+      144,  153,  155,  164,  147,  159,  161,  409,  145,  148,
+      169,  407,  149,  160,  152,  161,  166,  168,  146,  155,
+      171,  153,  158,  158,  164,  169,  158,  158,  159,  158,
+
+      158,  158,  158,  158,  158,  162,  160,  166,  170,  171,
+      168,  174,  172,  175,  162,  173,  162,  177,  176,  170,
+      162,  172,  162,  178,  173,  180,  177,  181,  179,  183,
+      189,  221,  184,  403,  174,  176,  175,  179,  180,  182,
+      178,  184,  186,  185,  182,  181,  187,  186,  189,  221,
+      183,  185,  191,  191,  196,  192,  192,  191,  192,  192,
+      187,  193,  193,  191,  194,  194,  194,  195,  195,  195,
+      197,  196,  198,  199,  203,  204,  207,  197,  205,  206,
+      208,  203,  209,  205,  210,  208,  211,  212,  213,  198,
+      199,  207,  206,  215,  212,  211,  218,  216,  204,  219,
+
+      217,  209,  216,  220,  222,  210,  225,  227,  215,  217,
+      228,  213,  230,  219,  231,  232,  233,  218,  220,  222,
+      234,  230,  232,  235,  225,  236,  237,  231,  238,  234,
+      241,  227,  235,  228,  236,  239,  233,  238,  242,  241,
+      247,  245,  239,  234,  248,  249,  235,  250,  251,  237,
+      245,  247,  250,  242,  248,  252,  253,  254,  249,  255,
+      257,  259,  260,  260,  262,  251,  265,  263,  254,  262,
+      267,  269,  268,  265,  259,  263,  252,  253,  268,  266,
+      269,  270,  271,  257,  266,  272,  255,  274,  276,  277,
+      278,  267,  279,  282,  274,  289,  288,  276,  270,  280,
+
+      284,  299,  272,  283,  277,  271,  278,  284,  280,  279,
+      282,  285,  283,  286,  288,  298,  300,  304,  289,  305,
+      285,  306,  286,  307,  299,  300,  305,  298,  308,  306,
+      310,  311,  312,  316,  314,  318,  317,  322,  324,  308,
+      304,  329,  322,  326,  311,  317,  307,  314,  329,  312,
+      316,  327,  326,  310,  324,  333,  327,  318,  334,  339,
+      348,  340,  345,  347,  351,  346,  356,  353,  401,  358,
+      354,  361,  339,  340,  358,  334,  333,  345,  346,  351,
+      347,  352,  355,  348,  353,  354,  360,  359,  356,  362,
+      352,  355,  359,  365,  361,  360,  366,  370,  369,  371,
+
+      362,  373,  375,  376,  377,  371,  379,  378,  376,  381,
+      365,  369,  370,  380,  373,  382,  384,  383,  380,  366,
+      378,  379,  385,  387,  386,  375,  383,  388,  381,  392,
+      393,  385,  390,  377,  394,  395,  396,  398,  382,  386,
+      388,  390,  392,  395,  400,  384,  387,  402,  399,  397,
+      391,  393,  394,  400,  398,  389,  374,  372,  368,  367,
+      364,  363,  357,  350,  349,  396,  344,  343,  402,  405,
+      405,  405,  405,  406,  406,  408,  342,  408,  408,  341,
+      338,  337,  336,  335,  332,  331,  330,  328,  325,  323,
+      321,  320,  319,  315,  313,  309,  303,  302,  301,  297,
+
+      296,  295,  294,  293,  292,  291,  290,  287,  281,  275,
+      273,  264,  261,  258,  256,  246,  244,  243,  240,  226,
+      224,  223,  214,  202,  201,  200,  188,  167,  165,  163,
       157,  156,  154,  151,  150,  130,  125,  121,  118,  115,
       111,  107,   94,   82,   58,   39,   37,    8,    7,    3,
-      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
-      399,  399
+      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
+      404,  404
+
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -736,7 +741,7 @@
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/llvm/lib/AsmParser/Lexer.l"
+#line 1 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 #define INITIAL 0
 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
 //
@@ -751,7 +756,7 @@
 //
 //===----------------------------------------------------------------------===*/
 #define YY_NEVER_INTERACTIVE 1
-#line 28 "/llvm/lib/AsmParser/Lexer.l"
+#line 28 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 #include "ParserInternals.h"
 #include "llvm/Module.h"
 #include <list>
@@ -877,7 +882,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 881 "Lexer.cpp"
+#line 886 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1028,10 +1033,10 @@
 	register char *yy_cp, *yy_bp;
 	register int yy_act;
 
-#line 179 "/llvm/lib/AsmParser/Lexer.l"
+#line 179 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 
 
-#line 1035 "Lexer.cpp"
+#line 1040 "Lexer.cpp"
 
 	if ( yy_init )
 		{
@@ -1079,14 +1084,14 @@
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 400 )
+				if ( yy_current_state >= 405 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			*yy_state_ptr++ = yy_current_state;
 			++yy_cp;
 			}
-		while ( yy_current_state != 399 );
+		while ( yy_current_state != 404 );
 
 yy_find_action:
 		yy_current_state = *--yy_state_ptr;
@@ -1124,446 +1129,451 @@
 	{ /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 181 "/llvm/lib/AsmParser/Lexer.l"
+#line 181 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { /* Ignore comments for now */ }
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 183 "/llvm/lib/AsmParser/Lexer.l"
+#line 183 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return BEGINTOK; }
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 184 "/llvm/lib/AsmParser/Lexer.l"
+#line 184 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return ENDTOK; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 185 "/llvm/lib/AsmParser/Lexer.l"
+#line 185 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return TRUETOK;  }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 186 "/llvm/lib/AsmParser/Lexer.l"
+#line 186 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return FALSETOK; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 187 "/llvm/lib/AsmParser/Lexer.l"
+#line 187 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return DECLARE; }
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 188 "/llvm/lib/AsmParser/Lexer.l"
+#line 188 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return GLOBAL; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 189 "/llvm/lib/AsmParser/Lexer.l"
+#line 189 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return CONSTANT; }
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 190 "/llvm/lib/AsmParser/Lexer.l"
+#line 190 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return INTERNAL; }
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 191 "/llvm/lib/AsmParser/Lexer.l"
+#line 191 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return LINKONCE; }
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 192 "/llvm/lib/AsmParser/Lexer.l"
+#line 192 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return WEAK; }
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 193 "/llvm/lib/AsmParser/Lexer.l"
+#line 193 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return APPENDING; }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 194 "/llvm/lib/AsmParser/Lexer.l"
+#line 194 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }    /* Deprecated, turn into external */
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 195 "/llvm/lib/AsmParser/Lexer.l"
+#line 195 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 196 "/llvm/lib/AsmParser/Lexer.l"
+#line 196 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return IMPLEMENTATION; }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 197 "/llvm/lib/AsmParser/Lexer.l"
+#line 197 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return ZEROINITIALIZER; }
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 198 "/llvm/lib/AsmParser/Lexer.l"
+#line 198 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return DOTDOTDOT; }
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 199 "/llvm/lib/AsmParser/Lexer.l"
+#line 199 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return UNDEF; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 200 "/llvm/lib/AsmParser/Lexer.l"
+#line 200 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return NULL_TOK; }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 201 "/llvm/lib/AsmParser/Lexer.l"
+#line 201 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return TO; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 202 "/llvm/lib/AsmParser/Lexer.l"
+#line 202 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 203 "/llvm/lib/AsmParser/Lexer.l"
+#line 203 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return NOT; }  /* Deprecated, turned into XOR */
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 204 "/llvm/lib/AsmParser/Lexer.l"
+#line 204 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return TAIL; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 205 "/llvm/lib/AsmParser/Lexer.l"
+#line 205 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return TARGET; }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 206 "/llvm/lib/AsmParser/Lexer.l"
+#line 206 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return TRIPLE; }
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 207 "/llvm/lib/AsmParser/Lexer.l"
+#line 207 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return DEPLIBS; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 208 "/llvm/lib/AsmParser/Lexer.l"
+#line 208 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return ENDIAN; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 209 "/llvm/lib/AsmParser/Lexer.l"
+#line 209 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return POINTERSIZE; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 210 "/llvm/lib/AsmParser/Lexer.l"
+#line 210 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return LITTLE; }
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 211 "/llvm/lib/AsmParser/Lexer.l"
+#line 211 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return BIG; }
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 212 "/llvm/lib/AsmParser/Lexer.l"
+#line 212 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return VOLATILE; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 214 "/llvm/lib/AsmParser/Lexer.l"
-{ return CC_TOK; }
+#line 213 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return ALIGN;  }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 215 "/llvm/lib/AsmParser/Lexer.l"
-{ return CCC_TOK; }
+#line 214 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return SECTION; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 216 "/llvm/lib/AsmParser/Lexer.l"
-{ return FASTCC_TOK; }
+#line 216 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return CC_TOK; }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 217 "/llvm/lib/AsmParser/Lexer.l"
-{ return COLDCC_TOK; }
+#line 217 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return CCC_TOK; }
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 219 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
+#line 218 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return FASTCC_TOK; }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 220 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
+#line 219 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return COLDCC_TOK; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 221 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
+#line 221 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 222 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
+#line 222 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 223 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
+#line 223 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 224 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
+#line 224 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 225 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
+#line 225 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 226 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
+#line 226 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 227 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
+#line 227 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 228 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
+#line 228 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 229 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
+#line 229 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 230 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
+#line 230 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 231 "/llvm/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
+#line 231 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 232 "/llvm/lib/AsmParser/Lexer.l"
-{ return TYPE;   }
+#line 232 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 233 "/llvm/lib/AsmParser/Lexer.l"
-{ return OPAQUE; }
+#line 233 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 234 "/llvm/lib/AsmParser/Lexer.l"
-{ return ALIGN;  }
+#line 234 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return TYPE;   }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 236 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Add, ADD); }
+#line 235 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return OPAQUE; }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 237 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Sub, SUB); }
+#line 237 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 238 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Mul, MUL); }
+#line 238 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 239 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Div, DIV); }
+#line 239 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 240 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Rem, REM); }
+#line 240 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Div, DIV); }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 241 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, And, AND); }
+#line 241 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Rem, REM); }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 242 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Or , OR ); }
+#line 242 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 243 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Xor, XOR); }
+#line 243 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 244 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
+#line 244 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 245 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
+#line 245 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 246 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
+#line 246 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 247 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
+#line 247 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 248 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
+#line 248 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 249 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
+#line 249 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 251 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
+#line 250 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 252 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Call, CALL); }
+#line 252 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 253 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Cast, CAST); }
+#line 253 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 254 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Select, SELECT); }
+#line 254 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Cast, CAST); }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 255 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shl, SHL); }
+#line 255 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 256 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shr, SHR); }
+#line 256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Shl, SHL); }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 257 "/llvm/lib/AsmParser/Lexer.l"
-{ return VANEXT_old; }
+#line 257 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Shr, SHR); }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 258 "/llvm/lib/AsmParser/Lexer.l"
-{ return VAARG_old; }
+#line 258 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return VANEXT_old; }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 259 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+#line 259 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ return VAARG_old; }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 260 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Ret, RET); }
+#line 260 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 261 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Br, BR); }
+#line 261 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 262 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Switch, SWITCH); }
+#line 262 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 263 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+#line 263 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 264 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+#line 264 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 265 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+#line 265 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 267 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+#line 266 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 268 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+#line 268 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 269 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Free, FREE); }
+#line 269 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 270 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Load, LOAD); }
+#line 270 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 271 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Store, STORE); }
+#line 271 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Load, LOAD); }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 272 "/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+#line 272 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Store, STORE); }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 275 "/llvm/lib/AsmParser/Lexer.l"
+#line 273 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+	YY_BREAK
+case 88:
+YY_RULE_SETUP
+#line 276 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(yytext+1);
                   llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 88:
+case 89:
 YY_RULE_SETUP
-#line 280 "/llvm/lib/AsmParser/Lexer.l"
+#line 281 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-1] = 0;  // nuke colon
                   UnEscapeLexed(yytext);
@@ -1571,9 +1581,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 89:
+case 90:
 YY_RULE_SETUP
-#line 286 "/llvm/lib/AsmParser/Lexer.l"
+#line 287 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(yytext+1);
@@ -1581,9 +1591,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 90:
+case 91:
 YY_RULE_SETUP
-#line 293 "/llvm/lib/AsmParser/Lexer.l"
+#line 294 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { // Note that we cannot unescape a string constant here!  The
                    // string constant might contain a \00 which would not be
                    // understood by the string stuff.  It is valid to make a
@@ -1594,14 +1604,14 @@
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 91:
+case 92:
 YY_RULE_SETUP
-#line 304 "/llvm/lib/AsmParser/Lexer.l"
+#line 305 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
 	YY_BREAK
-case 92:
+case 93:
 YY_RULE_SETUP
-#line 305 "/llvm/lib/AsmParser/Lexer.l"
+#line 306 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   // +1:  we have bigger negative range
@@ -1611,17 +1621,17 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 93:
+case 94:
 YY_RULE_SETUP
-#line 313 "/llvm/lib/AsmParser/Lexer.l"
+#line 314 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                    llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
                    return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 94:
+case 95:
 YY_RULE_SETUP
-#line 318 "/llvm/lib/AsmParser/Lexer.l"
+#line 319 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   if ((unsigned)Val != Val)
@@ -1630,9 +1640,9 @@
                   return UINTVAL;
                 }
 	YY_BREAK
-case 95:
+case 96:
 YY_RULE_SETUP
-#line 325 "/llvm/lib/AsmParser/Lexer.l"
+#line 326 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+2);
                   // +1:  we have bigger negative range
@@ -1642,18 +1652,18 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 96:
+case 97:
 YY_RULE_SETUP
-#line 334 "/llvm/lib/AsmParser/Lexer.l"
+#line 335 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
 	YY_BREAK
-case 97:
+case 98:
 YY_RULE_SETUP
-#line 335 "/llvm/lib/AsmParser/Lexer.l"
+#line 336 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 337 "/llvm/lib/AsmParser/Lexer.l"
+#line 338 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -1662,22 +1672,22 @@
                   return EOF;
                 }
 	YY_BREAK
-case 98:
+case 99:
 YY_RULE_SETUP
-#line 345 "/llvm/lib/AsmParser/Lexer.l"
+#line 346 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 99:
+case 100:
 YY_RULE_SETUP
-#line 346 "/llvm/lib/AsmParser/Lexer.l"
+#line 347 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 { return yytext[0]; }
 	YY_BREAK
-case 100:
+case 101:
 YY_RULE_SETUP
-#line 348 "/llvm/lib/AsmParser/Lexer.l"
+#line 349 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 1681 "Lexer.cpp"
+#line 1691 "Lexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -1964,7 +1974,7 @@
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 400 )
+			if ( yy_current_state >= 405 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1994,11 +2004,11 @@
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 400 )
+		if ( yy_current_state >= 405 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 399);
+	yy_is_jam = (yy_current_state == 404);
 	if ( ! yy_is_jam )
 		*yy_state_ptr++ = yy_current_state;
 
@@ -2559,5 +2569,5 @@
 	return 0;
 	}
 #endif
-#line 348 "/llvm/lib/AsmParser/Lexer.l"
+#line 349 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/Lexer.l"
 


Index: llvm/lib/AsmParser/llvmAsmParser.cpp
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp:1.23 llvm/lib/AsmParser/llvmAsmParser.cpp:1.24
--- llvm/lib/AsmParser/llvmAsmParser.cpp:1.23	Wed Nov  9 19:42:43 2005
+++ llvm/lib/AsmParser/llvmAsmParser.cpp	Fri Nov 11 18:11:48 2005
@@ -42,67 +42,68 @@
 #define	DECLARE	285
 #define	GLOBAL	286
 #define	CONSTANT	287
-#define	VOLATILE	288
-#define	TO	289
-#define	DOTDOTDOT	290
-#define	NULL_TOK	291
-#define	UNDEF	292
-#define	CONST	293
-#define	INTERNAL	294
-#define	LINKONCE	295
-#define	WEAK	296
-#define	APPENDING	297
-#define	OPAQUE	298
-#define	NOT	299
-#define	EXTERNAL	300
-#define	TARGET	301
-#define	TRIPLE	302
-#define	ENDIAN	303
-#define	POINTERSIZE	304
-#define	LITTLE	305
-#define	BIG	306
-#define	ALIGN	307
-#define	DEPLIBS	308
-#define	CALL	309
-#define	TAIL	310
-#define	CC_TOK	311
-#define	CCC_TOK	312
-#define	FASTCC_TOK	313
-#define	COLDCC_TOK	314
-#define	RET	315
-#define	BR	316
-#define	SWITCH	317
-#define	INVOKE	318
-#define	UNWIND	319
-#define	UNREACHABLE	320
-#define	ADD	321
-#define	SUB	322
-#define	MUL	323
-#define	DIV	324
-#define	REM	325
-#define	AND	326
-#define	OR	327
-#define	XOR	328
-#define	SETLE	329
-#define	SETGE	330
-#define	SETLT	331
-#define	SETGT	332
-#define	SETEQ	333
-#define	SETNE	334
-#define	MALLOC	335
-#define	ALLOCA	336
-#define	FREE	337
-#define	LOAD	338
-#define	STORE	339
-#define	GETELEMENTPTR	340
-#define	PHI_TOK	341
-#define	CAST	342
-#define	SELECT	343
-#define	SHL	344
-#define	SHR	345
-#define	VAARG	346
-#define	VAARG_old	347
-#define	VANEXT_old	348
+#define	SECTION	288
+#define	VOLATILE	289
+#define	TO	290
+#define	DOTDOTDOT	291
+#define	NULL_TOK	292
+#define	UNDEF	293
+#define	CONST	294
+#define	INTERNAL	295
+#define	LINKONCE	296
+#define	WEAK	297
+#define	APPENDING	298
+#define	OPAQUE	299
+#define	NOT	300
+#define	EXTERNAL	301
+#define	TARGET	302
+#define	TRIPLE	303
+#define	ENDIAN	304
+#define	POINTERSIZE	305
+#define	LITTLE	306
+#define	BIG	307
+#define	ALIGN	308
+#define	DEPLIBS	309
+#define	CALL	310
+#define	TAIL	311
+#define	CC_TOK	312
+#define	CCC_TOK	313
+#define	FASTCC_TOK	314
+#define	COLDCC_TOK	315
+#define	RET	316
+#define	BR	317
+#define	SWITCH	318
+#define	INVOKE	319
+#define	UNWIND	320
+#define	UNREACHABLE	321
+#define	ADD	322
+#define	SUB	323
+#define	MUL	324
+#define	DIV	325
+#define	REM	326
+#define	AND	327
+#define	OR	328
+#define	XOR	329
+#define	SETLE	330
+#define	SETGE	331
+#define	SETLT	332
+#define	SETGT	333
+#define	SETEQ	334
+#define	SETNE	335
+#define	MALLOC	336
+#define	ALLOCA	337
+#define	FREE	338
+#define	LOAD	339
+#define	STORE	340
+#define	GETELEMENTPTR	341
+#define	PHI_TOK	342
+#define	CAST	343
+#define	SELECT	344
+#define	SHL	345
+#define	SHR	346
+#define	VAARG	347
+#define	VAARG_old	348
+#define	VANEXT_old	349
 
 #line 14 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 
@@ -611,7 +612,8 @@
 /// this is a declaration, otherwise it is a definition.
 static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage,
                                 bool isConstantGlobal, const Type *Ty,
-                                Constant *Initializer, unsigned Align) {
+                                Constant *Initializer, char *Section,
+                                unsigned Align) {
   if (Align != 0 && !isPowerOf2_32(Align))
     ThrowException("Global alignment must be a power of two!");
   
@@ -645,6 +647,10 @@
     GV->setLinkage(Linkage);
     GV->setConstant(isConstantGlobal);
     GV->setAlignment(Align);
+    if (Section) {
+      free(Section);
+      GV->setSection(Section);
+    }
     InsertValue(GV, CurModule.Values);
     return;
   }
@@ -672,6 +678,10 @@
           EGV->setConstant(true);
         EGV->setLinkage(Linkage);
         EGV->setAlignment(Align);
+        if (Section) {
+          free(Section);
+          EGV->setSection(Section);
+        }
         return;
       }
 
@@ -685,6 +695,10 @@
     new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name,
                        CurModule.CurrentModule);
   GV->setAlignment(Align);
+  if (Section) {
+    free(Section);
+    GV->setSection(Section);
+  }
   InsertValue(GV, CurModule.Values);
 }
 
@@ -963,7 +977,7 @@
 }
 
 
-#line 873 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 886 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 typedef union {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1013,26 +1027,26 @@
 
 
 
-#define	YYFINAL		431
+#define	YYFINAL		439
 #define	YYFLAG		-32768
-#define	YYNTBASE	109
+#define	YYNTBASE	110
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 348 ? yytranslate[x] : 172)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 176)
 
 static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,    98,
-    99,   107,     2,    96,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   103,
-    95,   104,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,    99,
+   100,   108,     2,    97,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,   104,
+    96,   105,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-   100,    97,   102,     2,     2,     2,     2,     2,   108,     2,
+   101,    98,   103,     2,     2,     2,     2,     2,   109,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   101,
-     2,     2,   105,     2,   106,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,   102,
+     2,     2,   106,     2,   107,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1054,7 +1068,7 @@
     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
     77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-    87,    88,    89,    90,    91,    92,    93,    94
+    87,    88,    89,    90,    91,    92,    93,    94,    95
 };
 
 #if YYDEBUG != 0
@@ -1063,124 +1077,126 @@
     20,    22,    24,    26,    28,    30,    32,    34,    36,    38,
     40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
     60,    62,    64,    67,    68,    70,    72,    74,    76,    77,
-    78,    80,    82,    84,    87,    88,    91,    92,    96,    98,
-   100,   102,   104,   106,   108,   110,   112,   114,   116,   118,
+    78,    80,    82,    84,    87,    88,    91,    92,    96,    99,
+   100,   102,   103,   106,   108,   110,   112,   114,   116,   118,
    120,   122,   124,   126,   128,   130,   132,   134,   136,   138,
-   141,   146,   152,   158,   162,   165,   168,   170,   174,   176,
-   180,   182,   183,   188,   192,   196,   201,   206,   210,   213,
-   216,   219,   222,   225,   228,   231,   234,   237,   240,   247,
-   253,   262,   269,   276,   283,   290,   294,   296,   298,   300,
-   302,   305,   308,   311,   313,   318,   321,   328,   335,   339,
-   344,   345,   347,   349,   353,   357,   361,   365,   369,   371,
-   372,   374,   376,   378,   379,   382,   386,   388,   390,   394,
-   396,   397,   405,   407,   409,   413,   415,   417,   420,   421,
-   425,   427,   429,   431,   433,   435,   437,   439,   443,   445,
-   447,   449,   451,   453,   456,   459,   462,   466,   469,   470,
-   472,   475,   478,   482,   492,   502,   511,   525,   527,   529,
-   536,   542,   545,   552,   560,   562,   566,   568,   569,   572,
-   574,   580,   586,   592,   595,   600,   605,   612,   617,   622,
-   627,   630,   638,   640,   643,   644,   646,   647,   651,   658,
-   662,   669,   672,   677,   684
+   140,   142,   144,   146,   148,   151,   156,   162,   168,   172,
+   175,   178,   180,   184,   186,   190,   192,   193,   198,   202,
+   206,   211,   216,   220,   223,   226,   229,   232,   235,   238,
+   241,   244,   247,   250,   257,   263,   272,   279,   286,   293,
+   300,   304,   306,   308,   310,   312,   315,   318,   321,   323,
+   328,   331,   339,   347,   351,   356,   357,   359,   361,   365,
+   369,   373,   377,   381,   383,   384,   386,   388,   390,   391,
+   394,   398,   400,   402,   406,   408,   409,   418,   420,   422,
+   426,   428,   430,   433,   434,   438,   440,   442,   444,   446,
+   448,   450,   452,   456,   458,   460,   462,   464,   466,   469,
+   472,   475,   479,   482,   483,   485,   488,   491,   495,   505,
+   515,   524,   538,   540,   542,   549,   555,   558,   565,   573,
+   575,   579,   581,   582,   585,   587,   593,   599,   605,   608,
+   613,   618,   625,   630,   635,   640,   643,   651,   653,   656,
+   657,   659,   660,   664,   671,   675,   682,   685,   690,   697
 };
 
 static const short yyrhs[] = {     5,
-     0,     6,     0,     3,     0,     4,     0,    67,     0,    68,
-     0,    69,     0,    70,     0,    71,     0,    72,     0,    73,
-     0,    74,     0,    75,     0,    76,     0,    77,     0,    78,
-     0,    79,     0,    80,     0,    90,     0,    91,     0,    16,
+     0,     6,     0,     3,     0,     4,     0,    68,     0,    69,
+     0,    70,     0,    71,     0,    72,     0,    73,     0,    74,
+     0,    75,     0,    76,     0,    77,     0,    78,     0,    79,
+     0,    80,     0,    81,     0,    91,     0,    92,     0,    16,
      0,    14,     0,    12,     0,    10,     0,    17,     0,    15,
-     0,    13,     0,    11,     0,   115,     0,   116,     0,    18,
-     0,    19,     0,   142,    95,     0,     0,    40,     0,    41,
-     0,    42,     0,    43,     0,     0,     0,    58,     0,    59,
-     0,    60,     0,    57,     4,     0,     0,    53,     4,     0,
-     0,    96,    53,     4,     0,   126,     0,     8,     0,   128,
-     0,     8,     0,   128,     0,     9,     0,    10,     0,    11,
+     0,    13,     0,    11,     0,   116,     0,   117,     0,    18,
+     0,    19,     0,   146,    96,     0,     0,    41,     0,    42,
+     0,    43,     0,    44,     0,     0,     0,    59,     0,    60,
+     0,    61,     0,    58,     4,     0,     0,    54,     4,     0,
+     0,    97,    54,     4,     0,    34,    24,     0,     0,   125,
+     0,     0,    97,   125,     0,   130,     0,     8,     0,   132,
+     0,     8,     0,   132,     0,     9,     0,    10,     0,    11,
      0,    12,     0,    13,     0,    14,     0,    15,     0,    16,
      0,    17,     0,    18,     0,    19,     0,    20,     0,    21,
-     0,    44,     0,   127,     0,   155,     0,    97,     4,     0,
-   125,    98,   130,    99,     0,   100,     4,   101,   128,   102,
-     0,   103,     4,   101,   128,   104,     0,   105,   129,   106,
-     0,   105,   106,     0,   128,   107,     0,   128,     0,   129,
-    96,   128,     0,   129,     0,   129,    96,    36,     0,    36,
-     0,     0,   126,   100,   133,   102,     0,   126,   100,   102,
-     0,   126,   108,    24,     0,   126,   103,   133,   104,     0,
-   126,   105,   133,   106,     0,   126,   105,   106,     0,   126,
-    37,     0,   126,    38,     0,   126,   155,     0,   126,   132,
-     0,   126,    26,     0,   115,   110,     0,   116,     4,     0,
-     9,    27,     0,     9,    28,     0,   118,     7,     0,    88,
-    98,   131,    35,   126,    99,     0,    86,    98,   131,   169,
-    99,     0,    89,    98,   131,    96,   131,    96,   131,    99,
-     0,   111,    98,   131,    96,   131,    99,     0,   112,    98,
-   131,    96,   131,    99,     0,   113,    98,   131,    96,   131,
-    99,     0,   114,    98,   131,    96,   131,    99,     0,   133,
-    96,   131,     0,   131,     0,    32,     0,    33,     0,   136,
-     0,   136,   151,     0,   136,   152,     0,   136,    25,     0,
-   137,     0,   137,   119,    20,   124,     0,   137,   152,     0,
-   137,   119,   120,   134,   131,   123,     0,   137,   119,    46,
-   134,   126,   123,     0,   137,    47,   139,     0,   137,    54,
-    95,   140,     0,     0,    52,     0,    51,     0,    49,    95,
-   138,     0,    50,    95,     4,     0,    48,    95,    24,     0,
-   100,   141,   102,     0,   141,    96,    24,     0,    24,     0,
-     0,    22,     0,    24,     0,   142,     0,     0,   126,   143,
-     0,   145,    96,   144,     0,   144,     0,   145,     0,   145,
-    96,    36,     0,    36,     0,     0,   121,   124,   142,    98,
-   146,    99,   122,     0,    29,     0,   105,     0,   120,   147,
-   148,     0,    30,     0,   106,     0,   158,   150,     0,     0,
-    31,   153,   147,     0,     3,     0,     4,     0,     7,     0,
-    27,     0,    28,     0,    37,     0,    38,     0,   103,   133,
-   104,     0,   132,     0,   109,     0,   142,     0,   155,     0,
-   154,     0,   126,   156,     0,   158,   159,     0,   149,   159,
-     0,   160,   119,   161,     0,   160,   163,     0,     0,    23,
-     0,    61,   157,     0,    61,     8,     0,    62,    21,   156,
-     0,    62,     9,   156,    96,    21,   156,    96,    21,   156,
-     0,    63,   117,   156,    96,    21,   156,   100,   162,   102,
-     0,    63,   117,   156,    96,    21,   156,   100,   102,     0,
-    64,   121,   124,   156,    98,   166,    99,    35,    21,   156,
-    65,    21,   156,     0,    65,     0,    66,     0,   162,   117,
-   154,    96,    21,   156,     0,   117,   154,    96,    21,   156,
-     0,   119,   168,     0,   126,   100,   156,    96,   156,   102,
-     0,   164,    96,   100,   156,    96,   156,   102,     0,   157,
-     0,   165,    96,   157,     0,   165,     0,     0,    56,    55,
-     0,    55,     0,   111,   126,   156,    96,   156,     0,   112,
-   126,   156,    96,   156,     0,   113,   126,   156,    96,   156,
-     0,    45,   157,     0,   114,   157,    96,   157,     0,    88,
-   157,    35,   126,     0,    89,   157,    96,   157,    96,   157,
-     0,    92,   157,    96,   126,     0,    93,   157,    96,   126,
-     0,    94,   157,    96,   126,     0,    87,   164,     0,   167,
-   121,   124,   156,    98,   166,    99,     0,   171,     0,    96,
-   165,     0,     0,    34,     0,     0,    81,   126,   123,     0,
-    81,   126,    96,    15,   156,   123,     0,    82,   126,   123,
-     0,    82,   126,    96,    15,   156,   123,     0,    83,   157,
-     0,   170,    84,   126,   156,     0,   170,    85,   157,    96,
-   126,   156,     0,    86,   126,   156,   169,     0
+     0,    45,     0,   131,     0,   159,     0,    98,     4,     0,
+   129,    99,   134,   100,     0,   101,     4,   102,   132,   103,
+     0,   104,     4,   102,   132,   105,     0,   106,   133,   107,
+     0,   106,   107,     0,   132,   108,     0,   132,     0,   133,
+    97,   132,     0,   133,     0,   133,    97,    37,     0,    37,
+     0,     0,   130,   101,   137,   103,     0,   130,   101,   103,
+     0,   130,   109,    24,     0,   130,   104,   137,   105,     0,
+   130,   106,   137,   107,     0,   130,   106,   107,     0,   130,
+    38,     0,   130,    39,     0,   130,   159,     0,   130,   136,
+     0,   130,    26,     0,   116,   111,     0,   117,     4,     0,
+     9,    27,     0,     9,    28,     0,   119,     7,     0,    89,
+    99,   135,    36,   130,   100,     0,    87,    99,   135,   173,
+   100,     0,    90,    99,   135,    97,   135,    97,   135,   100,
+     0,   112,    99,   135,    97,   135,   100,     0,   113,    99,
+   135,    97,   135,   100,     0,   114,    99,   135,    97,   135,
+   100,     0,   115,    99,   135,    97,   135,   100,     0,   137,
+    97,   135,     0,   135,     0,    32,     0,    33,     0,   140,
+     0,   140,   155,     0,   140,   156,     0,   140,    25,     0,
+   141,     0,   141,   120,    20,   128,     0,   141,   156,     0,
+   141,   120,   121,   138,   135,   127,   124,     0,   141,   120,
+    47,   138,   130,   127,   124,     0,   141,    48,   143,     0,
+   141,    55,    96,   144,     0,     0,    53,     0,    52,     0,
+    50,    96,   142,     0,    51,    96,     4,     0,    49,    96,
+    24,     0,   101,   145,   103,     0,   145,    97,    24,     0,
+    24,     0,     0,    22,     0,    24,     0,   146,     0,     0,
+   130,   147,     0,   149,    97,   148,     0,   148,     0,   149,
+     0,   149,    97,    37,     0,    37,     0,     0,   122,   128,
+   146,    99,   150,   100,   126,   123,     0,    29,     0,   106,
+     0,   121,   151,   152,     0,    30,     0,   107,     0,   162,
+   154,     0,     0,    31,   157,   151,     0,     3,     0,     4,
+     0,     7,     0,    27,     0,    28,     0,    38,     0,    39,
+     0,   104,   137,   105,     0,   136,     0,   110,     0,   146,
+     0,   159,     0,   158,     0,   130,   160,     0,   162,   163,
+     0,   153,   163,     0,   164,   120,   165,     0,   164,   167,
+     0,     0,    23,     0,    62,   161,     0,    62,     8,     0,
+    63,    21,   160,     0,    63,     9,   160,    97,    21,   160,
+    97,    21,   160,     0,    64,   118,   160,    97,    21,   160,
+   101,   166,   103,     0,    64,   118,   160,    97,    21,   160,
+   101,   103,     0,    65,   122,   128,   160,    99,   170,   100,
+    36,    21,   160,    66,    21,   160,     0,    66,     0,    67,
+     0,   166,   118,   158,    97,    21,   160,     0,   118,   158,
+    97,    21,   160,     0,   120,   172,     0,   130,   101,   160,
+    97,   160,   103,     0,   168,    97,   101,   160,    97,   160,
+   103,     0,   161,     0,   169,    97,   161,     0,   169,     0,
+     0,    57,    56,     0,    56,     0,   112,   130,   160,    97,
+   160,     0,   113,   130,   160,    97,   160,     0,   114,   130,
+   160,    97,   160,     0,    46,   161,     0,   115,   161,    97,
+   161,     0,    89,   161,    36,   130,     0,    90,   161,    97,
+   161,    97,   161,     0,    93,   161,    97,   130,     0,    94,
+   161,    97,   130,     0,    95,   161,    97,   130,     0,    88,
+   168,     0,   171,   122,   128,   160,    99,   170,   100,     0,
+   175,     0,    97,   169,     0,     0,    35,     0,     0,    82,
+   130,   124,     0,    82,   130,    97,    15,   160,   124,     0,
+    83,   130,   124,     0,    83,   130,    97,    15,   160,   124,
+     0,    84,   161,     0,   174,    85,   130,   160,     0,   174,
+    86,   161,    97,   130,   160,     0,    87,   130,   160,   173,
+     0
 };
 
 #endif
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   990,   991,   998,   999,  1008,  1008,  1008,  1008,  1008,  1009,
-  1009,  1009,  1010,  1010,  1010,  1010,  1010,  1010,  1012,  1012,
-  1016,  1016,  1016,  1016,  1017,  1017,  1017,  1017,  1018,  1018,
-  1019,  1019,  1022,  1025,  1029,  1029,  1030,  1031,  1032,  1035,
-  1035,  1036,  1037,  1038,  1047,  1047,  1049,  1049,  1059,  1059,
-  1060,  1060,  1062,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
-  1072,  1072,  1072,  1072,  1072,  1072,  1073,  1076,  1079,  1085,
-  1092,  1104,  1108,  1119,  1128,  1131,  1139,  1143,  1148,  1149,
-  1152,  1155,  1165,  1190,  1203,  1231,  1256,  1276,  1288,  1297,
-  1301,  1360,  1366,  1374,  1379,  1384,  1387,  1390,  1397,  1407,
-  1438,  1445,  1466,  1473,  1478,  1488,  1491,  1498,  1498,  1508,
-  1515,  1519,  1522,  1525,  1538,  1558,  1560,  1564,  1568,  1570,
-  1572,  1577,  1578,  1580,  1583,  1591,  1596,  1598,  1602,  1606,
-  1614,  1614,  1615,  1615,  1617,  1623,  1628,  1634,  1637,  1642,
-  1646,  1650,  1733,  1733,  1735,  1743,  1743,  1745,  1749,  1749,
-  1758,  1761,  1764,  1767,  1770,  1773,  1776,  1779,  1803,  1810,
-  1813,  1818,  1818,  1824,  1828,  1831,  1839,  1848,  1852,  1862,
-  1873,  1876,  1879,  1882,  1885,  1899,  1903,  1956,  1959,  1965,
-  1973,  1983,  1990,  1995,  2002,  2006,  2012,  2012,  2014,  2017,
-  2023,  2035,  2043,  2053,  2065,  2072,  2079,  2086,  2091,  2110,
-  2132,  2146,  2203,  2209,  2211,  2215,  2218,  2224,  2231,  2238,
-  2245,  2252,  2259,  2269,  2282
+  1004,  1005,  1012,  1013,  1022,  1022,  1022,  1022,  1022,  1023,
+  1023,  1023,  1024,  1024,  1024,  1024,  1024,  1024,  1026,  1026,
+  1030,  1030,  1030,  1030,  1031,  1031,  1031,  1031,  1032,  1032,
+  1033,  1033,  1036,  1039,  1043,  1043,  1044,  1045,  1046,  1049,
+  1049,  1050,  1051,  1052,  1061,  1061,  1063,  1063,  1066,  1073,
+  1073,  1075,  1075,  1086,  1086,  1087,  1087,  1089,  1098,  1098,
+  1098,  1098,  1098,  1098,  1098,  1099,  1099,  1099,  1099,  1099,
+  1099,  1100,  1103,  1106,  1112,  1119,  1131,  1135,  1146,  1155,
+  1158,  1166,  1170,  1175,  1176,  1179,  1182,  1192,  1217,  1230,
+  1258,  1283,  1303,  1315,  1324,  1328,  1387,  1393,  1401,  1406,
+  1411,  1414,  1417,  1424,  1434,  1465,  1472,  1493,  1500,  1505,
+  1515,  1518,  1525,  1525,  1535,  1542,  1546,  1549,  1552,  1565,
+  1585,  1587,  1591,  1595,  1597,  1599,  1604,  1605,  1607,  1610,
+  1618,  1623,  1625,  1629,  1633,  1641,  1641,  1642,  1642,  1644,
+  1650,  1655,  1661,  1664,  1669,  1673,  1677,  1765,  1765,  1767,
+  1775,  1775,  1777,  1781,  1781,  1790,  1793,  1796,  1799,  1802,
+  1805,  1808,  1811,  1835,  1842,  1845,  1850,  1850,  1856,  1860,
+  1863,  1871,  1880,  1884,  1894,  1905,  1908,  1911,  1914,  1917,
+  1931,  1935,  1988,  1991,  1997,  2005,  2015,  2022,  2027,  2034,
+  2038,  2044,  2044,  2046,  2049,  2055,  2067,  2075,  2085,  2097,
+  2104,  2111,  2118,  2123,  2142,  2164,  2178,  2235,  2241,  2243,
+  2247,  2250,  2256,  2263,  2270,  2277,  2284,  2291,  2301,  2314
 };
 #endif
 
@@ -1191,51 +1207,51 @@
 "EUINT64VAL","SINTVAL","UINTVAL","FPVAL","VOID","BOOL","SBYTE","UBYTE","SHORT",
 "USHORT","INT","UINT","LONG","ULONG","FLOAT","DOUBLE","TYPE","LABEL","VAR_ID",
 "LABELSTR","STRINGCONSTANT","IMPLEMENTATION","ZEROINITIALIZER","TRUETOK","FALSETOK",
-"BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","VOLATILE","TO","DOTDOTDOT",
-"NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING","OPAQUE",
-"NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE","BIG","ALIGN",
-"DEPLIBS","CALL","TAIL","CC_TOK","CCC_TOK","FASTCC_TOK","COLDCC_TOK","RET","BR",
-"SWITCH","INVOKE","UNWIND","UNREACHABLE","ADD","SUB","MUL","DIV","REM","AND",
-"OR","XOR","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC","ALLOCA",
-"FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK","CAST","SELECT","SHL","SHR",
-"VAARG","VAARG_old","VANEXT_old","'='","','","'\\\\'","'('","')'","'['","'x'",
-"']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps",
+"BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","SECTION","VOLATILE","TO",
+"DOTDOTDOT","NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING",
+"OPAQUE","NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE",
+"BIG","ALIGN","DEPLIBS","CALL","TAIL","CC_TOK","CCC_TOK","FASTCC_TOK","COLDCC_TOK",
+"RET","BR","SWITCH","INVOKE","UNWIND","UNREACHABLE","ADD","SUB","MUL","DIV",
+"REM","AND","OR","XOR","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC",
+"ALLOCA","FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK","CAST","SELECT","SHL",
+"SHR","VAARG","VAARG_old","VANEXT_old","'='","','","'\\\\'","'('","')'","'['",
+"'x'","']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps",
 "LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType",
-"OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","TypesV","UpRTypesV",
-"Types","PrimType","UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr",
-"ConstVector","GlobalType","Module","FunctionList","ConstPool","BigOrLittle",
-"TargetDefinition","LibrariesDefinition","LibList","Name","OptName","ArgVal",
-"ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader","END","Function",
-"FunctionProto","@1","ConstValueRef","SymbolicValueRef","ValueRef","ResolvedVal",
-"BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst","JumpTable",
-"Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal","IndexList",
-"OptVolatile","MemoryInst", NULL
+"OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","SectionString",
+"OptSection","OptCSection","TypesV","UpRTypesV","Types","PrimType","UpRTypes",
+"TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType",
+"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition",
+"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN",
+"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef",
+"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst",
+"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal",
+"IndexList","OptVolatile","MemoryInst", NULL
 };
 #endif
 
 static const short yyr1[] = {     0,
-   109,   109,   110,   110,   111,   111,   111,   111,   111,   112,
-   112,   112,   113,   113,   113,   113,   113,   113,   114,   114,
-   115,   115,   115,   115,   116,   116,   116,   116,   117,   117,
-   118,   118,   119,   119,   120,   120,   120,   120,   120,   121,
-   121,   121,   121,   121,   122,   122,   123,   123,   124,   124,
-   125,   125,   126,   127,   127,   127,   127,   127,   127,   127,
-   127,   127,   127,   127,   127,   127,   128,   128,   128,   128,
-   128,   128,   128,   128,   128,   128,   129,   129,   130,   130,
-   130,   130,   131,   131,   131,   131,   131,   131,   131,   131,
-   131,   131,   131,   131,   131,   131,   131,   131,   132,   132,
-   132,   132,   132,   132,   132,   133,   133,   134,   134,   135,
-   136,   136,   136,   136,   137,   137,   137,   137,   137,   137,
-   137,   138,   138,   139,   139,   139,   140,   141,   141,   141,
-   142,   142,   143,   143,   144,   145,   145,   146,   146,   146,
-   146,   147,   148,   148,   149,   150,   150,   151,   153,   152,
-   154,   154,   154,   154,   154,   154,   154,   154,   154,   155,
-   155,   156,   156,   157,   158,   158,   159,   160,   160,   160,
-   161,   161,   161,   161,   161,   161,   161,   161,   161,   162,
-   162,   163,   164,   164,   165,   165,   166,   166,   167,   167,
-   168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
-   168,   168,   168,   169,   169,   170,   170,   171,   171,   171,
-   171,   171,   171,   171,   171
+   110,   110,   111,   111,   112,   112,   112,   112,   112,   113,
+   113,   113,   114,   114,   114,   114,   114,   114,   115,   115,
+   116,   116,   116,   116,   117,   117,   117,   117,   118,   118,
+   119,   119,   120,   120,   121,   121,   121,   121,   121,   122,
+   122,   122,   122,   122,   123,   123,   124,   124,   125,   126,
+   126,   127,   127,   128,   128,   129,   129,   130,   131,   131,
+   131,   131,   131,   131,   131,   131,   131,   131,   131,   131,
+   131,   132,   132,   132,   132,   132,   132,   132,   132,   132,
+   132,   133,   133,   134,   134,   134,   134,   135,   135,   135,
+   135,   135,   135,   135,   135,   135,   135,   135,   135,   135,
+   135,   135,   135,   136,   136,   136,   136,   136,   136,   136,
+   137,   137,   138,   138,   139,   140,   140,   140,   140,   141,
+   141,   141,   141,   141,   141,   141,   142,   142,   143,   143,
+   143,   144,   145,   145,   145,   146,   146,   147,   147,   148,
+   149,   149,   150,   150,   150,   150,   151,   152,   152,   153,
+   154,   154,   155,   157,   156,   158,   158,   158,   158,   158,
+   158,   158,   158,   158,   159,   159,   160,   160,   161,   162,
+   162,   163,   164,   164,   164,   165,   165,   165,   165,   165,
+   165,   165,   165,   165,   166,   166,   167,   168,   168,   169,
+   169,   170,   170,   171,   171,   172,   172,   172,   172,   172,
+   172,   172,   172,   172,   172,   172,   172,   172,   173,   173,
+   174,   174,   175,   175,   175,   175,   175,   175,   175,   175
 };
 
 static const short yyr2[] = {     0,
@@ -1243,378 +1259,392 @@
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     2,     0,     1,     1,     1,     1,     0,     0,
-     1,     1,     1,     2,     0,     2,     0,     3,     1,     1,
+     1,     1,     1,     2,     0,     2,     0,     3,     2,     0,
+     1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
-     4,     5,     5,     3,     2,     2,     1,     3,     1,     3,
-     1,     0,     4,     3,     3,     4,     4,     3,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     6,     5,
-     8,     6,     6,     6,     6,     3,     1,     1,     1,     1,
-     2,     2,     2,     1,     4,     2,     6,     6,     3,     4,
-     0,     1,     1,     3,     3,     3,     3,     3,     1,     0,
-     1,     1,     1,     0,     2,     3,     1,     1,     3,     1,
-     0,     7,     1,     1,     3,     1,     1,     2,     0,     3,
-     1,     1,     1,     1,     1,     1,     1,     3,     1,     1,
-     1,     1,     1,     2,     2,     2,     3,     2,     0,     1,
-     2,     2,     3,     9,     9,     8,    13,     1,     1,     6,
-     5,     2,     6,     7,     1,     3,     1,     0,     2,     1,
-     5,     5,     5,     2,     4,     4,     6,     4,     4,     4,
-     2,     7,     1,     2,     0,     1,     0,     3,     6,     3,
-     6,     2,     4,     6,     4
+     1,     1,     1,     1,     2,     4,     5,     5,     3,     2,
+     2,     1,     3,     1,     3,     1,     0,     4,     3,     3,
+     4,     4,     3,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     6,     5,     8,     6,     6,     6,     6,
+     3,     1,     1,     1,     1,     2,     2,     2,     1,     4,
+     2,     7,     7,     3,     4,     0,     1,     1,     3,     3,
+     3,     3,     3,     1,     0,     1,     1,     1,     0,     2,
+     3,     1,     1,     3,     1,     0,     8,     1,     1,     3,
+     1,     1,     2,     0,     3,     1,     1,     1,     1,     1,
+     1,     1,     3,     1,     1,     1,     1,     1,     2,     2,
+     2,     3,     2,     0,     1,     2,     2,     3,     9,     9,
+     8,    13,     1,     1,     6,     5,     2,     6,     7,     1,
+     3,     1,     0,     2,     1,     5,     5,     5,     2,     4,
+     4,     6,     4,     4,     4,     2,     7,     1,     2,     0,
+     1,     0,     3,     6,     3,     6,     2,     4,     6,     4
 };
 
-static const short yydefact[] = {   121,
-    39,   114,   113,   149,    35,    36,    37,    38,    40,   169,
-   111,   112,   169,   131,   132,     0,     0,    39,     0,   116,
-    40,     0,    41,    42,    43,     0,     0,   170,   166,    34,
-   146,   147,   148,   165,     0,     0,     0,   119,     0,     0,
-     0,     0,    33,   150,    44,     1,     2,    50,    54,    55,
-    56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-    66,    67,     0,     0,     0,     0,   160,     0,     0,    49,
-    68,    53,   161,    69,   143,   144,   145,   207,   168,     0,
-     0,     0,   130,   120,   115,   108,   109,     0,     0,    70,
-     0,     0,    52,    75,    77,     0,     0,    82,    76,   206,
-     0,   190,     0,     0,     0,     0,    40,   178,   179,     5,
+static const short yydefact[] = {   126,
+    39,   119,   118,   154,    35,    36,    37,    38,    40,   174,
+   116,   117,   174,   136,   137,     0,     0,    39,     0,   121,
+    40,     0,    41,    42,    43,     0,     0,   175,   171,    34,
+   151,   152,   153,   170,     0,     0,     0,   124,     0,     0,
+     0,     0,    33,   155,    44,     1,     2,    55,    59,    60,
+    61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+    71,    72,     0,     0,     0,     0,   165,     0,     0,    54,
+    73,    58,   166,    74,   148,   149,   150,   212,   173,     0,
+     0,     0,   135,   125,   120,   113,   114,     0,     0,    75,
+     0,     0,    57,    80,    82,     0,     0,    87,    81,   211,
+     0,   195,     0,     0,     0,     0,    40,   183,   184,     5,
      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     16,    17,    18,     0,     0,     0,     0,     0,     0,     0,
-    19,    20,     0,     0,     0,     0,     0,     0,     0,   167,
-    40,   182,     0,   203,   126,   123,   122,   124,   125,   129,
-     0,    47,    54,    55,    56,    57,    58,    59,    60,    61,
-    62,    63,    64,     0,     0,     0,     0,    47,     0,     0,
-     0,    74,   141,    81,    79,     0,     0,   194,   189,   172,
-   171,     0,     0,    24,    28,    23,    27,    22,    26,    21,
-    25,    29,    30,     0,     0,    47,    47,   212,     0,     0,
-   201,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   127,     0,   118,    96,    97,     3,
-     4,    94,    95,    98,    93,    89,    90,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,    92,    91,
-   117,    51,    51,    78,   140,   134,   137,   138,     0,     0,
-    71,   151,   152,   153,   154,   155,   156,   157,     0,   159,
-   163,   162,   164,     0,   173,     0,     0,     0,   208,     0,
-   210,   205,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   128,     0,     0,     0,
-     0,    84,   107,     0,     0,    88,     0,    85,     0,     0,
-     0,     0,    72,    73,   133,   135,     0,    45,    80,     0,
-     0,     0,     0,     0,     0,     0,   215,     0,     0,   196,
-     0,   198,   199,   200,     0,     0,     0,   195,     0,   213,
-     0,    48,   205,     0,     0,     0,    83,    86,    87,     0,
-     0,     0,     0,   139,   136,     0,   142,   158,     0,     0,
-   188,    47,    47,   185,   204,     0,     0,     0,   191,   192,
-   193,   188,     0,     0,     0,     0,   106,     0,     0,     0,
-     0,    46,     0,     0,   187,     0,   209,   211,     0,     0,
-     0,   197,     0,   214,   100,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   186,   183,     0,   202,    99,     0,
-   102,   103,   104,   105,     0,   176,     0,     0,     0,   184,
-     0,   174,     0,   175,     0,     0,   101,     0,     0,     0,
-     0,     0,     0,   181,     0,     0,   180,   177,     0,     0,
-     0
+    19,    20,     0,     0,     0,     0,     0,     0,     0,   172,
+    40,   187,     0,   208,   131,   128,   127,   129,   130,   134,
+     0,    52,    59,    60,    61,    62,    63,    64,    65,    66,
+    67,    68,    69,     0,     0,     0,     0,    52,     0,     0,
+     0,    79,   146,    86,    84,     0,     0,   199,   194,   177,
+   176,     0,     0,    24,    28,    23,    27,    22,    26,    21,
+    25,    29,    30,     0,     0,    47,    47,   217,     0,     0,
+   206,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   132,     0,    47,   101,   102,     3,
+     4,    99,   100,   103,    98,    94,    95,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    97,    96,
+    47,    56,    56,    83,   145,   139,   142,   143,     0,     0,
+    76,   156,   157,   158,   159,   160,   161,   162,     0,   164,
+   168,   167,   169,     0,   178,     0,     0,     0,   213,     0,
+   215,   210,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,   133,     0,    53,     0,
+   123,     0,     0,     0,    89,   112,     0,     0,    93,     0,
+    90,     0,     0,     0,     0,   122,    77,    78,   138,   140,
+     0,    50,    85,     0,     0,     0,     0,     0,     0,     0,
+     0,   220,     0,     0,   201,     0,   203,   204,   205,     0,
+     0,     0,   200,     0,   218,     0,    49,   210,     0,     0,
+     0,    88,    91,    92,     0,     0,     0,     0,   144,   141,
+    51,    45,   163,     0,     0,   193,    47,    48,    47,   190,
+   209,     0,     0,     0,   196,   197,   198,   193,     0,     0,
+     0,     0,   111,     0,     0,     0,     0,     0,   147,     0,
+     0,   192,     0,   214,   216,     0,     0,     0,   202,     0,
+   219,   105,     0,     0,     0,     0,     0,     0,    46,     0,
+     0,     0,   191,   188,     0,   207,   104,     0,   107,   108,
+   109,   110,     0,   181,     0,     0,     0,   189,     0,   179,
+     0,   180,     0,     0,   106,     0,     0,     0,     0,     0,
+     0,   186,     0,     0,   185,   182,     0,     0,     0
 };
 
 static const short yydefgoto[] = {    67,
    222,   235,   236,   237,   238,   164,   165,   194,   166,    18,
-     9,    26,   347,   217,    68,    69,   167,    71,    72,    96,
-   176,   293,   260,   294,    88,   429,     1,     2,   148,    38,
-    84,   151,    73,   306,   247,   248,   249,    27,    77,    10,
-    33,    11,    12,    21,   261,    74,   263,   354,    13,    29,
-    30,   140,   408,    79,   201,   375,   376,   141,   142,   317,
-   143,   144
+     9,    26,   379,   269,   289,   352,   217,    68,    69,   167,
+    71,    72,    96,   176,   296,   260,   297,    88,   437,     1,
+     2,   148,    38,    84,   151,    73,   310,   247,   248,   249,
+    27,    77,    10,    33,    11,    12,    21,   261,    74,   263,
+   360,    13,    29,    30,   140,   416,    79,   201,   382,   383,
+   141,   142,   322,   143,   144
 };
 
 static const short yypact[] = {-32768,
-   191,   336,-32768,-32768,-32768,-32768,-32768,-32768,    37,    19,
--32768,-32768,   -17,-32768,-32768,   101,   -32,    31,   -25,-32768,
-    37,    53,-32768,-32768,-32768,   896,   -13,-32768,-32768,   130,
--32768,-32768,-32768,-32768,   -19,   -16,    33,-32768,    26,   896,
-    58,    58,-32768,-32768,-32768,-32768,-32768,    55,-32768,-32768,
+    51,    94,-32768,-32768,-32768,-32768,-32768,-32768,    26,    -1,
+-32768,-32768,   -18,-32768,-32768,    79,   -33,   111,    -5,-32768,
+    26,   113,-32768,-32768,-32768,   987,   -23,-32768,-32768,    66,
+-32768,-32768,-32768,-32768,    19,    49,    52,-32768,    33,   987,
+    64,    64,-32768,-32768,-32768,-32768,-32768,    65,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   127,   156,   166,   124,-32768,   130,    82,-32768,
--32768,   -81,-32768,-32768,-32768,-32768,-32768,  1053,-32768,   157,
-    54,   178,   160,-32768,-32768,-32768,-32768,   933,   970,-32768,
-    88,    91,-32768,-32768,   -81,   -42,    85,   711,-32768,-32768,
-   933,-32768,   141,  1007,     0,   104,    37,-32768,-32768,-32768,
+-32768,-32768,   161,   163,   169,   504,-32768,    66,    75,-32768,
+-32768,   -78,-32768,-32768,-32768,-32768,-32768,  1102,-32768,   152,
+    53,   173,   154,-32768,-32768,-32768,-32768,  1007,  1051,-32768,
+    77,    78,-32768,-32768,   -78,   -74,    82,   744,-32768,-32768,
+  1007,-32768,   128,  1109,     4,   265,    26,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,   933,   933,   933,   933,   933,   933,   933,
--32768,-32768,   933,   933,   933,   933,   933,   933,   933,-32768,
-    37,-32768,    71,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   -77,   102,   131,   159,   195,   161,   196,   163,   201,   171,
-   202,   203,   204,   175,   208,   206,   387,   102,   933,   933,
-   933,-32768,   748,-32768,   118,   116,   560,-32768,-32768,    55,
--32768,   560,   560,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,   560,   896,   129,   132,-32768,   560,   123,
-   139,   205,   140,   142,   143,   145,   560,   560,   560,   146,
-   896,   933,   933,   213,-32768,   173,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   148,   149,   150,
-   785,   970,   511,   219,   158,   162,   164,   165,-32768,-32768,
--32768,   -14,   -48,   -81,-32768,   130,-32768,   168,   167,   822,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   970,-32768,
--32768,-32768,-32768,   169,-32768,   172,   560,   -12,-32768,    -7,
--32768,   174,   560,   144,   933,   933,   933,   933,   933,   177,
-   179,   180,   933,   560,   560,   181,-32768,   251,   970,   970,
-   970,-32768,-32768,   -74,   -36,-32768,   -41,-32768,   970,   970,
-   970,   970,-32768,-32768,-32768,-32768,   859,   216,-32768,   -35,
-   237,   238,   176,   560,   560,   933,-32768,   184,   560,-32768,
-   186,-32768,-32768,-32768,   560,   560,   560,-32768,   185,-32768,
-   933,-32768,   174,   236,   189,   970,-32768,-32768,-32768,   198,
-   199,   200,   207,-32768,-32768,   293,-32768,-32768,   560,   560,
-   933,   102,   102,-32768,   214,   560,   215,   933,-32768,-32768,
--32768,   933,   560,   217,   933,   970,-32768,   970,   970,   970,
-   970,-32768,   218,   212,   214,   223,-32768,-32768,   933,   197,
-   560,-32768,   224,-32768,-32768,   225,   221,   227,   228,   229,
-   230,   277,    20,   265,-32768,-32768,   231,-32768,-32768,   970,
--32768,-32768,-32768,-32768,   560,-32768,   615,    70,   280,-32768,
-   232,-32768,   234,-32768,   615,   560,-32768,   281,   239,   250,
-   560,   283,   313,-32768,   560,   560,-32768,-32768,   340,   341,
--32768
+-32768,-32768,-32768,  1007,  1007,  1007,  1007,  1007,  1007,  1007,
+-32768,-32768,  1007,  1007,  1007,  1007,  1007,  1007,  1007,-32768,
+    26,-32768,    38,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+   -59,    93,   105,   136,   187,   140,   188,   147,   189,   157,
+   190,   192,   193,   159,   191,   195,   402,    93,  1007,  1007,
+  1007,-32768,   782,-32768,   106,   104,   568,-32768,-32768,    65,
+-32768,   568,   568,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,   568,   987,   108,   112,-32768,   568,   109,
+   114,   176,   116,   123,   124,   125,   568,   568,   568,   126,
+   987,  1007,  1007,   200,-32768,   194,   130,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,   131,   133,   134,
+   846,  1051,   524,   201,   135,   137,   138,   139,-32768,-32768,
+   130,   -61,   -31,   -78,-32768,    66,-32768,   132,   142,   884,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1051,-32768,
+-32768,-32768,-32768,   146,-32768,   148,   568,    -6,-32768,    -4,
+-32768,   149,   568,   143,  1007,  1007,  1007,  1007,  1007,   150,
+   151,   164,  1007,   568,   568,   166,-32768,   211,-32768,   204,
+-32768,  1051,  1051,  1051,-32768,-32768,   -24,   -79,-32768,   -73,
+-32768,  1051,  1051,  1051,  1051,-32768,-32768,-32768,-32768,-32768,
+   949,   194,-32768,   -68,   233,   239,   165,   568,   261,   568,
+  1007,-32768,   170,   568,-32768,   171,-32768,-32768,-32768,   568,
+   568,   568,-32768,   167,-32768,  1007,-32768,   149,   235,   172,
+  1051,-32768,-32768,-32768,   175,   186,   196,   197,-32768,-32768,
+-32768,   230,-32768,   568,   568,  1007,   130,-32768,   130,-32768,
+   203,   568,   205,  1007,-32768,-32768,-32768,  1007,   568,   198,
+  1007,  1051,-32768,  1051,  1051,  1051,  1051,   283,-32768,   206,
+   207,   203,   214,-32768,-32768,  1007,   212,   568,-32768,   218,
+-32768,-32768,   223,   209,   224,   225,   226,   227,-32768,   280,
+    43,   268,-32768,-32768,   228,-32768,-32768,  1051,-32768,-32768,
+-32768,-32768,   568,-32768,   647,    54,   307,-32768,   229,-32768,
+   236,-32768,   647,   568,-32768,   311,   237,   269,   568,   315,
+   316,-32768,   568,   568,-32768,-32768,   339,   340,-32768
 };
 
 static const short yypgoto[] = {-32768,
--32768,   264,   267,   268,   269,  -102,  -101,  -381,-32768,   318,
-   333,   -96,-32768,  -158,   -38,-32768,   -26,-32768,   -46,   254,
--32768,   -82,   188,  -209,   317,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,    -1,-32768,    59,-32768,-32768,   344,-32768,-32768,
--32768,-32768,   359,-32768,  -349,    -6,   155,   -86,-32768,   357,
--32768,-32768,-32768,-32768,-32768,    56,     9,-32768,-32768,    40,
--32768,-32768
+-32768,   263,   270,   271,   275,  -105,  -104,  -385,-32768,   317,
+   328,   -80,-32768,  -189,    42,-32768,   199,   -36,-32768,   -26,
+-32768,   -49,   257,-32768,   -86,   202,  -213,   319,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,    13,-32768,    46,-32768,-32768,
+   338,-32768,-32768,-32768,-32768,   363,-32768,  -343,   -11,    32,
+   -94,-32768,   353,-32768,-32768,-32768,-32768,-32768,    47,     2,
+-32768,-32768,    34,-32768,-32768
 };
 
 
-#define	YYLAST		1147
+#define	YYLAST		1215
 
 
 static const short yytable[] = {    70,
-    19,    85,   314,   192,   193,    28,   168,   315,   182,   241,
-   195,   407,    31,    70,   178,    75,   -51,   181,   214,    95,
-   183,   336,   295,   297,   215,    99,   415,   337,    19,   184,
-   185,   186,   187,   188,   189,   190,   191,   269,   271,   198,
-   288,    28,   202,   203,   211,   288,   204,   205,   206,   310,
-    40,    95,   210,   171,   336,   304,    45,   413,    99,   336,
-   336,   152,    39,   172,   339,   419,    97,   338,   348,    43,
-     5,     6,     7,     8,   177,    80,    41,   177,    81,   184,
-   185,   186,   187,   188,   189,   190,   191,   303,    32,    86,
-    87,    76,    99,    22,    23,    24,    25,   196,   197,   177,
+   192,   193,   168,    85,    28,    75,   178,   271,   318,   181,
+   320,    31,   182,    70,    19,   415,    95,   341,   298,   300,
+   -56,    28,   171,   341,   183,   343,   195,   291,   341,    99,
+   423,   198,   172,   344,   202,   203,   353,   214,   204,   205,
+   206,   307,    19,   215,   210,   314,    99,   319,    95,   319,
+  -115,   306,   184,   185,   186,   187,   188,   189,   190,   191,
+   211,   152,    39,   184,   185,   186,   187,   188,   189,   190,
+   191,   421,   341,   308,   177,     3,    99,   177,   342,   427,
+    97,     4,    76,    22,    23,    24,    25,    14,    32,    15,
+    43,     5,     6,     7,     8,    86,    87,   196,   197,   177,
    199,   200,   177,   177,   146,   147,   177,   177,   177,   207,
-   208,   209,   177,   184,   185,   186,   187,   188,   189,   190,
-   191,   406,   242,   243,   244,    83,   286,    82,    46,    47,
-    90,    93,    49,    50,    51,    52,    53,    54,    55,    56,
-    57,    58,    59,    60,    61,    14,   246,    15,    35,    36,
-    37,    14,   -52,    15,   212,   213,   267,   218,   219,    91,
-   240,   -24,   -24,   -23,   -23,   -22,   -22,    62,    70,    92,
-   262,   414,   284,   -21,   -21,   262,   262,   220,   221,    98,
-   145,   149,   173,   150,    70,   285,   177,   262,   169,   321,
-  -110,   170,   262,   377,   378,   179,   328,   216,   -28,   -27,
-   262,   262,   262,   244,   -26,   -25,   333,   334,   335,   -31,
-   -32,   223,   224,   250,   251,     3,   340,   341,   342,   343,
-    63,     4,   273,    64,   268,   288,    65,   270,    66,    94,
-     5,     6,     7,     8,   274,   276,   287,   277,   278,   275,
-   279,   283,   298,   319,   305,   289,   290,   291,   320,   177,
-   322,   323,   324,   367,   332,   299,   177,   349,   350,   300,
-   262,   301,   302,   307,   311,   308,   262,   312,   346,   316,
-   365,   382,   325,   351,   326,   327,   331,   262,   262,   356,
-   246,   358,   362,   387,   366,   388,   389,   390,   391,   177,
-   192,   193,   395,   368,   369,   370,   372,   405,   396,   409,
-   416,   421,   371,   425,   363,   192,   193,   262,   262,   379,
-   381,   393,   262,   392,   423,   385,   400,   411,   262,   262,
-   262,   394,   398,   399,   177,   401,   402,   403,   404,   418,
-   417,   177,   410,   426,   422,   177,   264,   265,   386,   430,
-   431,   136,   262,   262,   137,   138,   139,    78,   266,   262,
-    42,   175,   177,   272,   239,   -34,   262,    14,    89,    15,
-    20,   280,   281,   282,    44,   345,     4,   -34,   -34,    34,
-   383,   355,   364,     0,   262,   -34,   -34,   -34,   -34,     0,
-     0,   -34,    16,     0,     0,     0,     0,     0,     0,    17,
-     0,    46,    47,     0,     0,     0,     0,     0,   262,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,    14,   262,
-    15,     0,   225,     0,   262,     0,     0,     0,   262,   262,
-     0,   313,     0,   226,   227,     0,     0,   318,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   329,   330,
+   208,   209,   177,   -34,    80,    14,    45,    15,   286,   242,
+   243,   244,   212,   213,     4,   -34,   -34,    35,    36,    37,
+    40,   218,   219,    83,   -34,   -34,   -34,   -34,   -24,   -24,
+   -34,    16,   -23,   -23,    81,   414,   246,    82,    17,   -22,
+   -22,     5,     6,     7,     8,   240,   422,    41,   267,   -21,
+   -21,   220,   221,   -57,    90,   262,    91,   384,    70,   385,
+   262,   262,    92,    98,   284,   145,   149,   150,   169,   170,
+   173,   326,   262,   179,    70,   285,   177,   262,   333,   216,
+   -28,   -27,   -26,   -25,   223,   262,   262,   262,   -31,   -32,
+   244,   224,   250,   251,   268,   338,   339,   340,   270,   273,
+   274,   275,   276,   264,   265,   345,   346,   347,   348,   277,
+   278,   279,   283,   287,   301,   266,   290,   288,   311,   292,
+   272,   293,   294,   302,   337,   303,   304,   305,   280,   281,
+   282,   312,   315,   324,   316,   321,   330,   331,   325,   177,
+   327,   328,   329,   354,   373,   262,   177,   319,   309,   355,
+   332,   262,   336,   356,   358,   368,   362,   364,   372,   389,
+   371,   374,   262,   262,   184,   185,   186,   187,   188,   189,
+   190,   191,   375,   378,   246,   394,   399,   395,   396,   397,
+   398,   403,   376,   377,   177,   192,   193,   392,   317,   386,
+   413,   388,   400,   417,   323,   408,   262,   401,   262,   369,
+   192,   193,   262,   402,   404,   334,   335,   406,   262,   262,
+   262,   419,   407,   409,   410,   411,   412,   424,   425,   177,
+   418,   429,   426,   430,   431,   433,   434,   177,   438,   439,
+   136,   177,   262,   262,   393,    42,    78,   137,   138,   357,
+   262,   359,   139,   351,   175,   363,   350,   262,    44,   177,
+    89,   365,   366,   367,    20,    34,   241,   361,   239,   390,
+     0,   370,     0,     0,     0,     0,   262,     0,     0,     0,
+     0,     0,     0,     0,     0,   380,   381,     0,     0,     0,
+     0,     0,     0,   387,     0,     0,     0,     0,     0,     0,
+   391,   262,     0,     0,     0,     0,    46,    47,     0,     0,
+     0,     0,   262,     0,     0,     0,     0,   262,     0,   405,
+     0,   262,   262,    14,     0,    15,     0,   225,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   226,
+   227,     0,     0,     0,   420,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,   428,     0,     0,     0,     0,
+   432,     0,     0,     0,   435,   436,     0,     0,     0,   110,
+   111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+   121,   122,   123,     0,     0,     0,     0,     0,   228,     0,
+   229,   230,   131,   132,     0,     0,     0,     0,     0,     0,
+     0,     0,   231,     0,     0,   232,     0,   233,    46,    47,
+   234,    93,    49,    50,    51,    52,    53,    54,    55,    56,
+    57,    58,    59,    60,    61,    14,     0,    15,    46,    47,
+     0,    93,   153,   154,   155,   156,   157,   158,   159,   160,
+   161,   162,   163,    60,    61,    14,     0,    15,    62,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   110,   111,   112,   113,   114,   115,   116,
-   117,   118,   119,   120,   121,   122,   123,     0,   352,   353,
-     0,     0,   228,   357,   229,   230,   131,   132,     0,   359,
-   360,   361,     0,     0,     0,     0,   231,     0,     0,   232,
-     0,   233,     0,     0,   234,     0,     0,     0,     0,     0,
-     0,     0,     0,   373,   374,     0,     0,     0,     0,     0,
-   380,     0,     0,     0,     0,    46,    47,   384,    93,   153,
-   154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-    60,    61,    14,     0,    15,   397,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    62,     0,
+   252,   253,    46,    47,   254,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,    14,
+     0,    15,     0,     0,   255,   256,     0,     0,     0,     0,
+     0,    63,     0,     0,    64,   257,   258,    65,     0,    66,
+    94,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
+   299,     0,     0,     0,     0,   110,   111,   112,   113,   114,
+   115,   116,   117,   118,   119,   120,   121,   122,   123,   252,
+   253,     0,     0,   254,   228,     0,   229,   230,   131,   132,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,    62,     0,     0,     0,     0,   412,
-     0,     0,   252,   253,    46,    47,   254,     0,     0,     0,
-   420,     0,     0,     0,     0,   424,     0,     0,     0,   427,
-   428,    14,     0,    15,     0,     0,   255,   256,     0,     0,
-     0,     0,     0,     0,     0,     0,   257,   258,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    63,     0,     0,
-    64,     0,     0,    65,     0,    66,   296,   252,   253,     0,
-     0,   254,     0,     0,     0,     0,   110,   111,   112,   113,
-   114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     0,   255,   256,     0,     0,   228,     0,   229,   230,   131,
-   132,   257,   258,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   259,     0,     0,     0,     0,     0,     0,     0,
+     0,   259,     0,   255,   256,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   257,   258,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-   119,   120,   121,   122,   123,     0,     0,     0,     0,     0,
-   228,     0,   229,   230,   131,   132,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,    46,    47,   259,    93,    49,
-    50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-    60,    61,    14,     0,    15,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   174,     0,     0,     0,
-     0,     0,    46,    47,    62,    93,    49,    50,    51,    52,
-    53,    54,    55,    56,    57,    58,    59,    60,    61,    14,
-     0,    15,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   245,     0,     0,     0,     0,     0,    46,
-    47,    62,    93,   153,   154,   155,   156,   157,   158,   159,
-   160,   161,   162,   163,    60,    61,    14,    63,    15,     0,
-    64,     0,     0,    65,     0,    66,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    46,    47,    62,    93,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   110,   111,   112,   113,   114,   115,
+   116,   117,   118,   119,   120,   121,   122,   123,     0,     0,
+     0,     0,     0,   228,     0,   229,   230,   131,   132,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    46,    47,
+   259,    93,    49,    50,    51,    52,    53,    54,    55,    56,
+    57,    58,    59,    60,    61,    14,     0,    15,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   174,     0,     0,     0,     0,     0,    46,    47,    62,    93,
     49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-    59,    60,    61,    14,    63,    15,     0,    64,     0,     0,
-    65,     0,    66,     0,     0,     0,     0,   309,     0,     0,
-     0,     0,     0,    46,    47,    62,    93,    49,    50,    51,
-    52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-    14,    63,    15,     0,    64,     0,   292,    65,     0,    66,
-     0,     0,     0,     0,   344,     0,     0,     0,     0,     0,
-    46,    47,    62,    48,    49,    50,    51,    52,    53,    54,
-    55,    56,    57,    58,    59,    60,    61,    14,    63,    15,
-     0,    64,     0,     0,    65,     0,    66,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    46,    47,    62,
-    93,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-    58,    59,    60,    61,    14,    63,    15,     0,    64,     0,
-     0,    65,     0,    66,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,    46,    47,    62,    93,   153,   154,
-   155,   156,   157,   158,   159,   160,   161,   162,   163,    60,
-    61,    14,    63,    15,     0,    64,     0,     0,    65,     0,
-    66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    46,    47,    62,   180,    49,    50,    51,    52,    53,
-    54,    55,    56,    57,    58,    59,    60,    61,    14,    63,
-    15,     0,    64,     0,     0,    65,     0,    66,     0,     0,
+    59,    60,    61,    14,     0,    15,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   245,     0,
+     0,     0,     0,     0,     0,     0,    62,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    62,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
+    46,    47,     0,    93,   153,   154,   155,   156,   157,   158,
+   159,   160,   161,   162,   163,    60,    61,    14,     0,    15,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,    63,
+     0,     0,    64,     0,     0,    65,     0,    66,    46,    47,
+    62,    93,    49,    50,    51,    52,    53,    54,    55,    56,
+    57,    58,    59,    60,    61,    14,     0,    15,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   313,     0,     0,     0,     0,     0,     0,     0,    62,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,    63,     0,     0,    64,     0,   295,    65,
+     0,    66,     0,    46,    47,     0,    93,    49,    50,    51,
+    52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+    14,     0,    15,     0,     0,     0,     0,     0,     0,     0,
+     0,    63,     0,     0,    64,   349,     0,    65,     0,    66,
+     0,    46,    47,    62,    48,    49,    50,    51,    52,    53,
+    54,    55,    56,    57,    58,    59,    60,    61,    14,     0,
+    15,    46,    47,     0,    93,    49,    50,    51,    52,    53,
+    54,    55,    56,    57,    58,    59,    60,    61,    14,     0,
+    15,    62,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,    63,     0,     0,    64,
-     0,     0,    65,     0,    66,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   100,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   101,     0,     0,
-     0,     0,     0,    63,     0,     0,    64,   102,   103,    65,
-     0,    66,     0,   104,   105,   106,   107,   108,   109,   110,
+     0,    62,    65,     0,    66,    46,    47,     0,    93,   153,
+   154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+    60,    61,    14,     0,    15,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,    63,     0,     0,    64,     0,     0,
+    65,     0,    66,     0,     0,    62,     0,     0,     0,     0,
+     0,     0,     0,     0,    63,     0,     0,    64,     0,     0,
+    65,     0,    66,    46,    47,     0,   180,    49,    50,    51,
+    52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+    14,     0,    15,     0,     0,     0,   100,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   101,    63,     0,
+     0,    64,     0,    62,    65,     0,    66,   102,   103,     0,
+     0,     0,     0,   104,   105,   106,   107,   108,   109,   110,
    111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
    121,   122,   123,   124,   125,   126,     0,     0,   127,   128,
-   129,   130,   131,   132,   133,   134,   135
+   129,   130,   131,   132,   133,   134,   135,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,    63,     0,     0,    64,
+     0,     0,    65,     0,    66
 };
 
 static const short yycheck[] = {    26,
-     2,    40,    15,   106,   106,    23,    89,    15,     9,   168,
-   107,   393,    30,    40,   101,    29,    98,   104,    96,    66,
-    21,    96,   232,   233,   102,   107,   408,   102,    30,    10,
-    11,    12,    13,    14,    15,    16,    17,   196,   197,   126,
-    53,    23,   129,   130,   141,    53,   133,   134,   135,   259,
-    20,    98,   139,    96,    96,   104,     4,   407,   107,    96,
-    96,    88,    95,   106,   106,   415,    68,   104,   104,    95,
-    40,    41,    42,    43,   101,    95,    46,   104,    95,    10,
-    11,    12,    13,    14,    15,    16,    17,   102,   106,    32,
-    33,   105,   107,    57,    58,    59,    60,   124,   125,   126,
-   127,   128,   129,   130,    51,    52,   133,   134,   135,   136,
-   137,   138,   139,    10,    11,    12,    13,    14,    15,    16,
-    17,   102,   169,   170,   171,   100,   213,    95,     5,     6,
-     4,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,   173,    24,    48,    49,
-    50,    22,    98,    24,    84,    85,   195,    27,    28,     4,
-   167,     3,     4,     3,     4,     3,     4,    44,   195,     4,
-   177,   102,   211,     3,     4,   182,   183,     3,     4,    98,
-    24,     4,    98,    24,   211,   212,   213,   194,   101,   276,
-     0,   101,   199,   352,   353,    55,   283,    96,     4,     4,
-   207,   208,   209,   250,     4,     4,   289,   290,   291,     7,
-     7,     4,     7,    96,    99,    25,   299,   300,   301,   302,
-    97,    31,   100,   100,    96,    53,   103,    96,   105,   106,
-    40,    41,    42,    43,    96,    96,    24,    96,    96,    35,
-    96,    96,    24,   100,   246,    98,    98,    98,   275,   276,
-   277,   278,   279,   336,     4,    98,   283,    21,    21,    98,
-   267,    98,    98,    96,    96,    99,   273,    96,    53,    96,
-    35,   358,    96,    98,    96,    96,    96,   284,   285,    96,
-   307,    96,    98,   366,    96,   368,   369,   370,   371,   316,
-   393,   393,   379,    96,    96,    96,     4,    21,   102,    35,
-    21,    21,    96,    21,   331,   408,   408,   314,   315,    96,
-    96,   100,   319,    96,    65,    99,    96,   400,   325,   326,
-   327,    99,    99,    99,   351,    99,    99,    99,    99,    96,
-    99,   358,   102,    21,    96,   362,   182,   183,   365,     0,
-     0,    78,   349,   350,    78,    78,    78,    30,   194,   356,
-    18,    98,   379,   199,   167,    20,   363,    22,    42,    24,
-     2,   207,   208,   209,    21,   307,    31,    32,    33,    13,
-   362,   316,   333,    -1,   381,    40,    41,    42,    43,    -1,
-    -1,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    54,
-    -1,     5,     6,    -1,    -1,    -1,    -1,    -1,   405,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,   416,
-    24,    -1,    26,    -1,   421,    -1,    -1,    -1,   425,   426,
-    -1,   267,    -1,    37,    38,    -1,    -1,   273,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,
+   106,   106,    89,    40,    23,    29,   101,   197,    15,   104,
+    15,    30,     9,    40,     2,   401,    66,    97,   232,   233,
+    99,    23,    97,    97,    21,   105,   107,   217,    97,   108,
+   416,   126,   107,   107,   129,   130,   105,    97,   133,   134,
+   135,   103,    30,   103,   139,   259,   108,    54,    98,    54,
+     0,   241,    10,    11,    12,    13,    14,    15,    16,    17,
+   141,    88,    96,    10,    11,    12,    13,    14,    15,    16,
+    17,   415,    97,   105,   101,    25,   108,   104,   103,   423,
+    68,    31,   106,    58,    59,    60,    61,    22,   107,    24,
+    96,    41,    42,    43,    44,    32,    33,   124,   125,   126,
+   127,   128,   129,   130,    52,    53,   133,   134,   135,   136,
+   137,   138,   139,    20,    96,    22,     4,    24,   213,   169,
+   170,   171,    85,    86,    31,    32,    33,    49,    50,    51,
+    20,    27,    28,   101,    41,    42,    43,    44,     3,     4,
+    47,    48,     3,     4,    96,   103,   173,    96,    55,     3,
+     4,    41,    42,    43,    44,   167,   103,    47,   195,     3,
+     4,     3,     4,    99,     4,   177,     4,   357,   195,   359,
+   182,   183,     4,    99,   211,    24,     4,    24,   102,   102,
+    99,   276,   194,    56,   211,   212,   213,   199,   283,    97,
+     4,     4,     4,     4,     4,   207,   208,   209,     7,     7,
+   250,     7,    97,   100,    97,   292,   293,   294,    97,   101,
+    97,    36,    97,   182,   183,   302,   303,   304,   305,    97,
+    97,    97,    97,    24,    24,   194,    97,    34,    97,    99,
+   199,    99,    99,    99,    24,    99,    99,    99,   207,   208,
+   209,   100,    97,   101,    97,    97,    97,    97,   275,   276,
+   277,   278,   279,    21,   341,   267,   283,    54,   246,    21,
+    97,   273,    97,    99,     4,    99,    97,    97,    97,   364,
+    36,    97,   284,   285,    10,    11,    12,    13,    14,    15,
+    16,    17,    97,    54,   311,   372,     4,   374,   375,   376,
+   377,   386,    97,    97,   321,   401,   401,   100,   267,    97,
+    21,    97,    97,    36,   273,    97,   318,   101,   320,   336,
+   416,   416,   324,   100,   103,   284,   285,   100,   330,   331,
+   332,   408,   100,   100,   100,   100,   100,    21,   100,   356,
+   103,    21,    97,    97,    66,    21,    21,   364,     0,     0,
+    78,   368,   354,   355,   371,    18,    30,    78,    78,   318,
+   362,   320,    78,   312,    98,   324,   311,   369,    21,   386,
+    42,   330,   331,   332,     2,    13,   168,   321,   167,   368,
+    -1,   338,    -1,    -1,    -1,    -1,   388,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,   354,   355,    -1,    -1,    -1,
+    -1,    -1,    -1,   362,    -1,    -1,    -1,    -1,    -1,    -1,
+   369,   413,    -1,    -1,    -1,    -1,     5,     6,    -1,    -1,
+    -1,    -1,   424,    -1,    -1,    -1,    -1,   429,    -1,   388,
+    -1,   433,   434,    22,    -1,    24,    -1,    26,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,
+    39,    -1,    -1,    -1,   413,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,   424,    -1,    -1,    -1,    -1,
+   429,    -1,    -1,    -1,   433,   434,    -1,    -1,    -1,    68,
+    69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+    79,    80,    81,    -1,    -1,    -1,    -1,    -1,    87,    -1,
+    89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,   101,    -1,    -1,   104,    -1,   106,     5,     6,
+   109,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+    17,    18,    19,    20,    21,    22,    -1,    24,     5,     6,
+    -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+    17,    18,    19,    20,    21,    22,    -1,    24,    45,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,
+     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,
+    -1,    24,    -1,    -1,    27,    28,    -1,    -1,    -1,    -1,
+    -1,    98,    -1,    -1,   101,    38,    39,   104,    -1,   106,
+   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    98,    -1,    -1,   101,    -1,    -1,   104,    -1,   106,
+   107,    -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,
+    73,    74,    75,    76,    77,    78,    79,    80,    81,     3,
+     4,    -1,    -1,     7,    87,    -1,    89,    90,    91,    92,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,   104,    -1,    27,    28,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    67,    68,    69,    70,    71,    72,    73,
-    74,    75,    76,    77,    78,    79,    80,    -1,   314,   315,
-    -1,    -1,    86,   319,    88,    89,    90,    91,    -1,   325,
-   326,   327,    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,
-    -1,   105,    -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   349,   350,    -1,    -1,    -1,    -1,    -1,
-   356,    -1,    -1,    -1,    -1,     5,     6,   363,     8,     9,
-    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-    20,    21,    22,    -1,    24,   381,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,   405,
-    -1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
-   416,    -1,    -1,    -1,    -1,   421,    -1,    -1,    -1,   425,
-   426,    22,    -1,    24,    -1,    -1,    27,    28,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    -1,
-   100,    -1,    -1,   103,    -1,   105,   106,     3,     4,    -1,
-    -1,     7,    -1,    -1,    -1,    -1,    67,    68,    69,    70,
-    71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-    -1,    27,    28,    -1,    -1,    86,    -1,    88,    89,    90,
-    91,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
+    74,    75,    76,    77,    78,    79,    80,    81,    -1,    -1,
+    -1,    -1,    -1,    87,    -1,    89,    90,    91,    92,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
+   104,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+    17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-    76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,
-    86,    -1,    88,    89,    90,    91,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,     5,     6,   103,     8,     9,
+    37,    -1,    -1,    -1,    -1,    -1,     5,     6,    45,     8,
+     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    98,    -1,    -1,   101,    -1,    -1,   104,    -1,   106,
+     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
+    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
+    -1,    -1,   101,    -1,    -1,   104,    -1,   106,     5,     6,
+    45,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+    17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,   103,   104,
+    -1,   106,    -1,     5,     6,    -1,     8,     9,    10,    11,
+    12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    98,    -1,    -1,   101,    37,    -1,   104,    -1,   106,
+    -1,     5,     6,    45,     8,     9,    10,    11,    12,    13,
+    14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+    24,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
+    14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+    24,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,
+    -1,    45,   104,    -1,   106,     5,     6,    -1,     8,     9,
     10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,
-    -1,    -1,     5,     6,    44,     8,     9,    10,    11,    12,
-    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,     5,
-     6,    44,     8,     9,    10,    11,    12,    13,    14,    15,
-    16,    17,    18,    19,    20,    21,    22,    97,    24,    -1,
-   100,    -1,    -1,   103,    -1,   105,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,    44,     8,
-     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-    19,    20,    21,    22,    97,    24,    -1,   100,    -1,    -1,
-   103,    -1,   105,    -1,    -1,    -1,    -1,    36,    -1,    -1,
-    -1,    -1,    -1,     5,     6,    44,     8,     9,    10,    11,
+    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,    -1,
+   104,    -1,   106,    -1,    -1,    45,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,    -1,
+   104,    -1,   106,     5,     6,    -1,     8,     9,    10,    11,
     12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-    22,    97,    24,    -1,   100,    -1,   102,   103,    -1,   105,
-    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
-     5,     6,    44,     8,     9,    10,    11,    12,    13,    14,
-    15,    16,    17,    18,    19,    20,    21,    22,    97,    24,
-    -1,   100,    -1,    -1,   103,    -1,   105,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,    44,
-     8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-    18,    19,    20,    21,    22,    97,    24,    -1,   100,    -1,
-    -1,   103,    -1,   105,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,     5,     6,    44,     8,     9,    10,
-    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-    21,    22,    97,    24,    -1,   100,    -1,    -1,   103,    -1,
-   105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,     5,     6,    44,     8,     9,    10,    11,    12,    13,
-    14,    15,    16,    17,    18,    19,    20,    21,    22,    97,
-    24,    -1,   100,    -1,    -1,   103,    -1,   105,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,    -1,   100,
-    -1,    -1,   103,    -1,   105,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
-    -1,    -1,    -1,    97,    -1,    -1,   100,    55,    56,   103,
-    -1,   105,    -1,    61,    62,    63,    64,    65,    66,    67,
-    68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-    78,    79,    80,    81,    82,    83,    -1,    -1,    86,    87,
-    88,    89,    90,    91,    92,    93,    94
+    22,    -1,    24,    -1,    -1,    -1,    35,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    98,    -1,
+    -1,   101,    -1,    45,   104,    -1,   106,    56,    57,    -1,
+    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
+    69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+    79,    80,    81,    82,    83,    84,    -1,    -1,    87,    88,
+    89,    90,    91,    92,    93,    94,    95,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,
+    -1,    -1,   104,    -1,   106
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
 #line 3 "/usr/share/bison.simple"
@@ -2160,7 +2190,7 @@
   switch (yyn) {
 
 case 2:
-#line 991 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX)     // Outside of my range!
     ThrowException("Value too large for type!");
@@ -2168,7 +2198,7 @@
 ;
     break;}
 case 4:
-#line 999 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1013 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX)     // Outside of my range!
     ThrowException("Value too large for type!");
@@ -2176,55 +2206,55 @@
 ;
     break;}
 case 33:
-#line 1022 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = yyvsp[-1].StrVal;
   ;
     break;}
 case 34:
-#line 1025 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = 0;
   ;
     break;}
 case 35:
-#line 1029 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1043 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::InternalLinkage; ;
     break;}
 case 36:
-#line 1030 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;
     break;}
 case 37:
-#line 1031 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::WeakLinkage; ;
     break;}
 case 38:
-#line 1032 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::AppendingLinkage; ;
     break;}
 case 39:
-#line 1033 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalLinkage; ;
     break;}
 case 40:
-#line 1035 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::C; ;
     break;}
 case 41:
-#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::C; ;
     break;}
 case 42:
-#line 1037 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1051 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::Fast; ;
     break;}
 case 43:
-#line 1038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1052 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::Cold; ;
     break;}
 case 44:
-#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1053 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
                    if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)
                      ThrowException("Calling conv too large!");
@@ -2232,57 +2262,82 @@
                  ;
     break;}
 case 45:
-#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1061 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = 0; ;
     break;}
 case 46:
-#line 1048 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1062 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = yyvsp[0].UInt64Val; ;
     break;}
 case 47:
-#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1063 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = 0; ;
     break;}
 case 48:
-#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1064 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = yyvsp[0].UInt64Val; ;
     break;}
+case 49:
+#line 1066 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
+  for (unsigned i = 0, e = strlen(yyvsp[0].StrVal); i != e; ++i)
+    if (yyvsp[0].StrVal[i] == '"' || yyvsp[0].StrVal[i] == '\\')
+      ThrowException("Invalid character in section name!");
+  yyval.StrVal = yyvsp[0].StrVal;
+;
+    break;}
 case 50:
-#line 1059 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+#line 1073 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.StrVal = 0; ;
+    break;}
+case 51:
+#line 1074 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.StrVal = yyvsp[0].StrVal; ;
     break;}
 case 52:
-#line 1060 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+#line 1075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.StrVal = 0; ;
     break;}
 case 53:
-#line 1062 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1076 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.StrVal = yyvsp[0].StrVal; ;
+    break;}
+case 55:
+#line 1086 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+    break;}
+case 57:
+#line 1087 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+    break;}
+case 58:
+#line 1089 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
     yyval.TypeVal = yyvsp[0].TypeVal;
   ;
     break;}
-case 67:
-#line 1073 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 72:
+#line 1100 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(OpaqueType::get());
   ;
     break;}
-case 68:
-#line 1076 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 73:
+#line 1103 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
   ;
     break;}
-case 69:
-#line 1079 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 74:
+#line 1106 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {            // Named types are also simple types...
   yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal));
 ;
     break;}
-case 70:
-#line 1085 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 75:
+#line 1112 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Type UpReference
     if (yyvsp[0].UInt64Val > (uint64_t)~0U) ThrowException("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -2291,8 +2346,8 @@
     UR_OUT("New Upreference!\n");
   ;
     break;}
-case 71:
-#line 1092 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 76:
+#line 1119 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {           // Function derived type?
     std::vector<const Type*> Params;
     for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
@@ -2306,15 +2361,15 @@
     delete yyvsp[-3].TypeVal;      // Delete the return type handle
   ;
     break;}
-case 72:
-#line 1104 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 77:
+#line 1131 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {          // Sized array type?
     yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 73:
-#line 1108 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 78:
+#line 1135 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {          // Packed array type?
      const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();
      if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val)
@@ -2327,8 +2382,8 @@
      delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 74:
-#line 1119 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 79:
+#line 1146 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
@@ -2339,52 +2394,52 @@
     delete yyvsp[-1].TypeList;
   ;
     break;}
-case 75:
-#line 1128 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 80:
+#line 1155 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                  // Empty structure type?
     yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
   ;
     break;}
-case 76:
-#line 1131 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 81:
+#line 1158 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                             // Pointer type?
     yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 77:
-#line 1139 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 82:
+#line 1166 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeList = new std::list<PATypeHolder>();
     yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
   ;
     break;}
-case 78:
-#line 1143 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 83:
+#line 1170 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
   ;
     break;}
-case 80:
-#line 1149 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 85:
+#line 1176 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy);
   ;
     break;}
-case 81:
-#line 1152 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 86:
+#line 1179 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
   ;
     break;}
-case 82:
-#line 1155 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 87:
+#line 1182 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeList = new std::list<PATypeHolder>();
   ;
     break;}
-case 83:
-#line 1165 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 88:
+#line 1192 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());
     if (ATy == 0)
@@ -2411,8 +2466,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 84:
-#line 1190 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 89:
+#line 1217 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2427,8 +2482,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 85:
-#line 1203 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 90:
+#line 1230 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2458,8 +2513,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 86:
-#line 1231 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 91:
+#line 1258 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
     if (PTy == 0)
@@ -2486,8 +2541,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 87:
-#line 1256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 92:
+#line 1283 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
     if (STy == 0)
@@ -2509,8 +2564,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 88:
-#line 1276 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 93:
+#line 1303 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
     if (STy == 0)
@@ -2524,8 +2579,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 89:
-#line 1288 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 94:
+#line 1315 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (PTy == 0)
@@ -2536,15 +2591,15 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 90:
-#line 1297 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 95:
+#line 1324 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 91:
-#line 1301 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 96:
+#line 1328 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (Ty == 0)
@@ -2605,8 +2660,8 @@
     delete yyvsp[-1].TypeVal;            // Free the type handle
   ;
     break;}
-case 92:
-#line 1360 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 97:
+#line 1387 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
       ThrowException("Mismatched types for constant expression!");
@@ -2614,8 +2669,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 93:
-#line 1366 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 98:
+#line 1393 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[-1].TypeVal->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -2624,44 +2679,44 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 94:
-#line 1374 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 99:
+#line 1401 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {      // integral constants
     if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))
       ThrowException("Constant value doesn't fit in type!");
     yyval.ConstVal = ConstantSInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val);
   ;
     break;}
-case 95:
-#line 1379 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 100:
+#line 1406 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {            // integral constants
     if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))
       ThrowException("Constant value doesn't fit in type!");
     yyval.ConstVal = ConstantUInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val);
   ;
     break;}
-case 96:
-#line 1384 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 101:
+#line 1411 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                      // Boolean constants
     yyval.ConstVal = ConstantBool::True;
   ;
     break;}
-case 97:
-#line 1387 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 102:
+#line 1414 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Boolean constants
     yyval.ConstVal = ConstantBool::False;
   ;
     break;}
-case 98:
-#line 1390 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 103:
+#line 1417 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))
       ThrowException("Floating point constant invalid for type!!");
     yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal);
   ;
     break;}
-case 99:
-#line 1397 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 104:
+#line 1424 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())
       ThrowException("cast constant expression from a non-primitive type: '" +
@@ -2673,8 +2728,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 100:
-#line 1407 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 105:
+#line 1434 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
       ThrowException("GetElementPtr requires a pointer operand!");
@@ -2707,8 +2762,8 @@
     yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec);
   ;
     break;}
-case 101:
-#line 1438 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 106:
+#line 1465 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)
       ThrowException("Select condition must be of boolean type!");
@@ -2717,8 +2772,8 @@
     yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 102:
-#line 1445 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 107:
+#line 1472 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Binary operator types must match!");
@@ -2741,8 +2796,8 @@
     }
   ;
     break;}
-case 103:
-#line 1466 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 108:
+#line 1493 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Logical operator types must match!");
@@ -2751,16 +2806,16 @@
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 104:
-#line 1473 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 109:
+#line 1500 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("setcc operand types must match!");
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 105:
-#line 1478 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 110:
+#line 1505 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-1].ConstVal->getType() != Type::UByteTy)
       ThrowException("Shift count for shift constant must be unsigned byte!");
@@ -2769,55 +2824,55 @@
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 106:
-#line 1488 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 111:
+#line 1515 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
   ;
     break;}
-case 107:
-#line 1491 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 112:
+#line 1518 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVector = new std::vector<Constant*>();
     yyval.ConstVector->push_back(yyvsp[0].ConstVal);
   ;
     break;}
-case 108:
-#line 1498 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 113:
+#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = false; ;
     break;}
-case 109:
-#line 1498 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 114:
+#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = true; ;
     break;}
-case 110:
-#line 1508 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 115:
+#line 1535 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;
   CurModule.ModuleDone();
 ;
     break;}
-case 111:
-#line 1515 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 116:
+#line 1542 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
     CurFun.FunctionDone();
   ;
     break;}
-case 112:
-#line 1519 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 117:
+#line 1546 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
-case 113:
-#line 1522 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 118:
+#line 1549 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
-case 114:
-#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 119:
+#line 1552 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -2830,8 +2885,8 @@
     }
   ;
     break;}
-case 115:
-#line 1538 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 120:
+#line 1565 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // Eagerly resolve types.  This is not an optimization, this is a
     // requirement that is due to the fact that we could have this:
@@ -2853,56 +2908,56 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 116:
-#line 1558 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 121:
+#line 1585 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {       // Function prototypes can be in const pool
   ;
     break;}
-case 117:
-#line 1560 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 122:
+#line 1587 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[-1].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
-    ParseGlobalVariable(yyvsp[-4].StrVal, yyvsp[-3].Linkage, yyvsp[-2].BoolVal, yyvsp[-1].ConstVal->getType(), yyvsp[-1].ConstVal, yyvsp[0].UIntVal);
+    if (yyvsp[-2].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
+    ParseGlobalVariable(yyvsp[-5].StrVal, yyvsp[-4].Linkage, yyvsp[-3].BoolVal, yyvsp[-2].ConstVal->getType(), yyvsp[-2].ConstVal, yyvsp[-1].StrVal, yyvsp[0].UIntVal);
   ;
     break;}
-case 118:
-#line 1564 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 123:
+#line 1591 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    ParseGlobalVariable(yyvsp[-4].StrVal, GlobalValue::ExternalLinkage, yyvsp[-2].BoolVal, *yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);
-    delete yyvsp[-1].TypeVal;
+    ParseGlobalVariable(yyvsp[-5].StrVal, GlobalValue::ExternalLinkage, yyvsp[-3].BoolVal, *yyvsp[-2].TypeVal, 0, yyvsp[-1].StrVal, yyvsp[0].UIntVal);
+    delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 119:
-#line 1568 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 124:
+#line 1595 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
-case 120:
-#line 1570 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 125:
+#line 1597 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   ;
     break;}
-case 121:
-#line 1572 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 126:
+#line 1599 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
-case 122:
-#line 1577 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 127:
+#line 1604 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::BigEndian; ;
     break;}
-case 123:
-#line 1578 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 128:
+#line 1605 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::LittleEndian; ;
     break;}
-case 124:
-#line 1580 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 129:
+#line 1607 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
   ;
     break;}
-case 125:
-#line 1583 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 130:
+#line 1610 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UInt64Val == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -2912,112 +2967,112 @@
       ThrowException("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!");
   ;
     break;}
-case 126:
-#line 1591 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 131:
+#line 1618 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
     free(yyvsp[0].StrVal);
   ;
     break;}
-case 128:
-#line 1598 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 133:
+#line 1625 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
         ;
     break;}
-case 129:
-#line 1602 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 134:
+#line 1629 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
         ;
     break;}
-case 130:
-#line 1606 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 135:
+#line 1633 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
         ;
     break;}
-case 134:
-#line 1615 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 139:
+#line 1642 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = 0; ;
     break;}
-case 135:
-#line 1617 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 140:
+#line 1644 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   if (*yyvsp[-1].TypeVal == Type::VoidTy)
     ThrowException("void typed arguments are invalid!");
   yyval.ArgVal = new std::pair<PATypeHolder*, char*>(yyvsp[-1].TypeVal, yyvsp[0].StrVal);
 ;
     break;}
-case 136:
-#line 1623 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 141:
+#line 1650 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[-2].ArgList;
     yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal);
     delete yyvsp[0].ArgVal;
   ;
     break;}
-case 137:
-#line 1628 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 142:
+#line 1655 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();
     yyval.ArgList->push_back(*yyvsp[0].ArgVal);
     delete yyvsp[0].ArgVal;
   ;
     break;}
-case 138:
-#line 1634 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 143:
+#line 1661 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[0].ArgList;
   ;
     break;}
-case 139:
-#line 1637 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 144:
+#line 1664 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[-2].ArgList;
     yyval.ArgList->push_back(std::pair<PATypeHolder*,
                             char*>(new PATypeHolder(Type::VoidTy), 0));
   ;
     break;}
-case 140:
-#line 1642 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 145:
+#line 1669 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();
     yyval.ArgList->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0));
   ;
     break;}
-case 141:
-#line 1646 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 146:
+#line 1673 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = 0;
   ;
     break;}
-case 142:
-#line 1650 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 147:
+#line 1678 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-  UnEscapeLexed(yyvsp[-4].StrVal);
-  std::string FunctionName(yyvsp[-4].StrVal);
-  free(yyvsp[-4].StrVal);  // Free strdup'd memory!
+  UnEscapeLexed(yyvsp[-5].StrVal);
+  std::string FunctionName(yyvsp[-5].StrVal);
+  free(yyvsp[-5].StrVal);  // Free strdup'd memory!
   
-  if (!(*yyvsp[-5].TypeVal)->isFirstClassType() && *yyvsp[-5].TypeVal != Type::VoidTy)
+  if (!(*yyvsp[-6].TypeVal)->isFirstClassType() && *yyvsp[-6].TypeVal != Type::VoidTy)
     ThrowException("LLVM functions cannot return aggregate types!");
   if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
     ThrowException("Function alignment must be a power of two!");
 
   std::vector<const Type*> ParamTypeList;
-  if (yyvsp[-2].ArgList) {   // If there are arguments...
-    for (std::vector<std::pair<PATypeHolder*,char*> >::iterator I = yyvsp[-2].ArgList->begin();
-         I != yyvsp[-2].ArgList->end(); ++I)
+  if (yyvsp[-3].ArgList) {   // If there are arguments...
+    for (std::vector<std::pair<PATypeHolder*,char*> >::iterator I = yyvsp[-3].ArgList->begin();
+         I != yyvsp[-3].ArgList->end(); ++I)
       ParamTypeList.push_back(I->first->get());
   }
 
   bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
   if (isVarArg) ParamTypeList.pop_back();
 
-  const FunctionType *FT = FunctionType::get(*yyvsp[-5].TypeVal, ParamTypeList, isVarArg);
+  const FunctionType *FT = FunctionType::get(*yyvsp[-6].TypeVal, ParamTypeList, isVarArg);
   const PointerType *PFT = PointerType::get(FT);
-  delete yyvsp[-5].TypeVal;
+  delete yyvsp[-6].TypeVal;
 
   ValID ID;
   if (!FunctionName.empty()) {
@@ -3054,32 +3109,36 @@
   }
 
   CurFun.FunctionStart(Fn);
-  Fn->setCallingConv(yyvsp[-6].UIntVal);
+  Fn->setCallingConv(yyvsp[-7].UIntVal);
   Fn->setAlignment(yyvsp[0].UIntVal);
+  if (yyvsp[-1].StrVal) {
+    Fn->setSection(yyvsp[-1].StrVal);
+    free(yyvsp[-1].StrVal);
+  }
 
   // Add all of the arguments we parsed to the function...
-  if (yyvsp[-2].ArgList) {                     // Is null if empty...
+  if (yyvsp[-3].ArgList) {                     // Is null if empty...
     if (isVarArg) {  // Nuke the last entry
-      assert(yyvsp[-2].ArgList->back().first->get() == Type::VoidTy && yyvsp[-2].ArgList->back().second == 0&&
+      assert(yyvsp[-3].ArgList->back().first->get() == Type::VoidTy && yyvsp[-3].ArgList->back().second == 0&&
              "Not a varargs marker!");
-      delete yyvsp[-2].ArgList->back().first;
-      yyvsp[-2].ArgList->pop_back();  // Delete the last entry
+      delete yyvsp[-3].ArgList->back().first;
+      yyvsp[-3].ArgList->pop_back();  // Delete the last entry
     }
     Function::arg_iterator ArgIt = Fn->arg_begin();
-    for (std::vector<std::pair<PATypeHolder*,char*> >::iterator I = yyvsp[-2].ArgList->begin();
-         I != yyvsp[-2].ArgList->end(); ++I, ++ArgIt) {
+    for (std::vector<std::pair<PATypeHolder*,char*> >::iterator I = yyvsp[-3].ArgList->begin();
+         I != yyvsp[-3].ArgList->end(); ++I, ++ArgIt) {
       delete I->first;                          // Delete the typeholder...
 
       setValueName(ArgIt, I->second);           // Insert arg into symtab...
       InsertValue(ArgIt);
     }
 
-    delete yyvsp[-2].ArgList;                     // We're now done with the argument list
+    delete yyvsp[-3].ArgList;                     // We're now done with the argument list
   }
 ;
     break;}
-case 145:
-#line 1735 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 150:
+#line 1767 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
 
@@ -3088,67 +3147,67 @@
   yyval.FunctionVal->setLinkage(yyvsp[-2].Linkage);
 ;
     break;}
-case 148:
-#line 1745 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 153:
+#line 1777 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = yyvsp[-1].FunctionVal;
 ;
     break;}
-case 149:
-#line 1749 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 154:
+#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { CurFun.isDeclare = true; ;
     break;}
-case 150:
-#line 1749 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 155:
+#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
   CurFun.FunctionDone();
 ;
     break;}
-case 151:
-#line 1758 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 156:
+#line 1790 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // A reference to a direct constant
     yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
   ;
     break;}
-case 152:
-#line 1761 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 157:
+#line 1793 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
   ;
     break;}
-case 153:
-#line 1764 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 158:
+#line 1796 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Perhaps it's an FP constant?
     yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
   ;
     break;}
-case 154:
-#line 1767 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 159:
+#line 1799 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::True);
   ;
     break;}
-case 155:
-#line 1770 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 160:
+#line 1802 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::False);
   ;
     break;}
-case 156:
-#line 1773 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 161:
+#line 1805 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createNull();
   ;
     break;}
-case 157:
-#line 1776 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 162:
+#line 1808 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createUndef();
   ;
     break;}
-case 158:
-#line 1779 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 163:
+#line 1811 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized packed vector
     const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
     int NumElements = yyvsp[-1].ConstVector->size(); 
@@ -3174,44 +3233,44 @@
     delete PTy; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 159:
-#line 1803 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 164:
+#line 1835 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
   ;
     break;}
-case 160:
-#line 1810 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 165:
+#line 1842 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {  // Is it an integer reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
   ;
     break;}
-case 161:
-#line 1813 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 166:
+#line 1845 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Is it a named reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
   ;
     break;}
-case 164:
-#line 1824 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 169:
+#line 1856 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 165:
-#line 1828 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 170:
+#line 1860 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
-case 166:
-#line 1831 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 171:
+#line 1863 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Do not allow functions with 0 basic blocks   
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
-case 167:
-#line 1839 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 172:
+#line 1871 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
     InsertValue(yyvsp[0].TermInstVal);
@@ -3221,15 +3280,15 @@
     yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal;
   ;
     break;}
-case 168:
-#line 1848 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 173:
+#line 1880 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);
     yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal;
   ;
     break;}
-case 169:
-#line 1852 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 174:
+#line 1884 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
 
@@ -3241,8 +3300,8 @@
     BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
   ;
     break;}
-case 170:
-#line 1862 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 175:
+#line 1894 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);
 
@@ -3254,32 +3313,32 @@
     BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
   ;
     break;}
-case 171:
-#line 1873 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 176:
+#line 1905 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {              // Return with a result...
     yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
   ;
     break;}
-case 172:
-#line 1876 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 177:
+#line 1908 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                       // Return with no result...
     yyval.TermInstVal = new ReturnInst();
   ;
     break;}
-case 173:
-#line 1879 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 178:
+#line 1911 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                         // Unconditional Branch...
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal));
   ;
     break;}
-case 174:
-#line 1882 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 179:
+#line 1914 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {  
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal));
   ;
     break;}
-case 175:
-#line 1885 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 180:
+#line 1917 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size());
     yyval.TermInstVal = S;
@@ -3295,15 +3354,15 @@
     delete yyvsp[-1].JumpTable;
   ;
     break;}
-case 176:
-#line 1899 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 181:
+#line 1931 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0);
     yyval.TermInstVal = S;
   ;
     break;}
-case 177:
-#line 1904 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 182:
+#line 1936 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3357,20 +3416,20 @@
     delete yyvsp[-7].ValueList;
   ;
     break;}
-case 178:
-#line 1956 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 183:
+#line 1988 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnwindInst();
   ;
     break;}
-case 179:
-#line 1959 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 184:
+#line 1991 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnreachableInst();
   ;
     break;}
-case 180:
-#line 1965 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 185:
+#line 1997 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = yyvsp[-5].JumpTable;
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3380,8 +3439,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal)));
   ;
     break;}
-case 181:
-#line 1973 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 186:
+#line 2005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3392,8 +3451,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal)));
   ;
     break;}
-case 182:
-#line 1983 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 187:
+#line 2015 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   // Is this definition named?? if so, assign the name...
   setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
@@ -3401,54 +3460,54 @@
   yyval.InstVal = yyvsp[0].InstVal;
 ;
     break;}
-case 183:
-#line 1990 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 188:
+#line 2022 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // Used for PHI nodes
     yyval.PHIList = new std::list<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 184:
-#line 1995 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 189:
+#line 2027 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.PHIList = yyvsp[-6].PHIList;
     yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal),
                                  getBBVal(yyvsp[-1].ValIDVal)));
   ;
     break;}
-case 185:
-#line 2002 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 190:
+#line 2034 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // Used for call statements, and memory insts...
     yyval.ValueList = new std::vector<Value*>();
     yyval.ValueList->push_back(yyvsp[0].ValueVal);
   ;
     break;}
-case 186:
-#line 2006 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 191:
+#line 2038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueList = yyvsp[-2].ValueList;
     yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal);
   ;
     break;}
-case 188:
-#line 2012 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 193:
+#line 2044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ValueList = 0; ;
     break;}
-case 189:
-#line 2014 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 194:
+#line 2046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
   ;
     break;}
-case 190:
-#line 2017 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 195:
+#line 2049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
   ;
     break;}
-case 191:
-#line 2023 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 196:
+#line 2055 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && 
         !isa<PackedType>((*yyvsp[-3].TypeVal).get()))
@@ -3462,8 +3521,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 192:
-#line 2035 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 197:
+#line 2067 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isIntegral())
       ThrowException("Logical operator requires integral operands!");
@@ -3473,8 +3532,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 193:
-#line 2043 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 198:
+#line 2075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {
       ThrowException(
@@ -3486,8 +3545,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 194:
-#line 2053 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 199:
+#line 2085 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -3501,8 +3560,8 @@
       ThrowException("Could not create a xor instruction!");
   ;
     break;}
-case 195:
-#line 2065 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 200:
+#line 2097 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].ValueVal->getType() != Type::UByteTy)
       ThrowException("Shift amount must be ubyte!");
@@ -3511,8 +3570,8 @@
     yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
   ;
     break;}
-case 196:
-#line 2072 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 201:
+#line 2104 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[0].TypeVal->get()->isFirstClassType())
       ThrowException("cast instruction to a non-primitive type: '" +
@@ -3521,8 +3580,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 197:
-#line 2079 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 202:
+#line 2111 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)
       ThrowException("select condition must be boolean!");
@@ -3531,16 +3590,16 @@
     yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
   ;
     break;}
-case 198:
-#line 2086 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 203:
+#line 2118 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     NewVarArgs = true;
     yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 199:
-#line 2091 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 204:
+#line 2123 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3561,8 +3620,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 200:
-#line 2110 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 205:
+#line 2142 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3586,8 +3645,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 201:
-#line 2132 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 206:
+#line 2164 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[0].PHIList->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -3603,8 +3662,8 @@
     delete yyvsp[0].PHIList;  // Free the list...
   ;
     break;}
-case 202:
-#line 2146 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 207:
+#line 2178 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3663,38 +3722,38 @@
     delete yyvsp[-1].ValueList;
   ;
     break;}
-case 203:
-#line 2203 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 208:
+#line 2235 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = yyvsp[0].InstVal;
   ;
     break;}
-case 204:
-#line 2209 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 209:
+#line 2241 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = yyvsp[0].ValueList; 
   ;
     break;}
-case 205:
-#line 2211 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 210:
+#line 2243 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = new std::vector<Value*>(); 
   ;
     break;}
-case 206:
-#line 2215 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 211:
+#line 2247 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
   ;
     break;}
-case 207:
-#line 2218 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 212:
+#line 2250 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
   ;
     break;}
-case 208:
-#line 2224 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 213:
+#line 2256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
       ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
@@ -3703,8 +3762,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 209:
-#line 2231 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 214:
+#line 2263 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
       ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
@@ -3713,8 +3772,8 @@
     delete yyvsp[-4].TypeVal;
   ;
     break;}
-case 210:
-#line 2238 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 215:
+#line 2270 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
       ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
@@ -3723,8 +3782,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 211:
-#line 2245 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 216:
+#line 2277 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
       ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
@@ -3733,8 +3792,8 @@
     delete yyvsp[-4].TypeVal;
   ;
     break;}
-case 212:
-#line 2252 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 217:
+#line 2284 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
       ThrowException("Trying to free nonpointer type " + 
@@ -3742,8 +3801,8 @@
     yyval.InstVal = new FreeInst(yyvsp[0].ValueVal);
   ;
     break;}
-case 213:
-#line 2259 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 218:
+#line 2291 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
       ThrowException("Can't load from nonpointer type: " +
@@ -3755,8 +3814,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 214:
-#line 2269 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 219:
+#line 2301 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (!PT)
@@ -3771,8 +3830,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 215:
-#line 2282 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 220:
+#line 2314 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
       ThrowException("getelementptr insn requires pointer operand!");
@@ -4017,7 +4076,7 @@
     }
   return 1;
 }
-#line 2305 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2337 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 
 int yyerror(const char *ErrorMsg) {
   std::string where 


Index: llvm/lib/AsmParser/llvmAsmParser.h
diff -u llvm/lib/AsmParser/llvmAsmParser.h:1.11 llvm/lib/AsmParser/llvmAsmParser.h:1.12
--- llvm/lib/AsmParser/llvmAsmParser.h:1.11	Sat Nov  5 03:21:28 2005
+++ llvm/lib/AsmParser/llvmAsmParser.h	Fri Nov 11 18:11:49 2005
@@ -68,67 +68,68 @@
 #define	DECLARE	285
 #define	GLOBAL	286
 #define	CONSTANT	287
-#define	VOLATILE	288
-#define	TO	289
-#define	DOTDOTDOT	290
-#define	NULL_TOK	291
-#define	UNDEF	292
-#define	CONST	293
-#define	INTERNAL	294
-#define	LINKONCE	295
-#define	WEAK	296
-#define	APPENDING	297
-#define	OPAQUE	298
-#define	NOT	299
-#define	EXTERNAL	300
-#define	TARGET	301
-#define	TRIPLE	302
-#define	ENDIAN	303
-#define	POINTERSIZE	304
-#define	LITTLE	305
-#define	BIG	306
-#define	ALIGN	307
-#define	DEPLIBS	308
-#define	CALL	309
-#define	TAIL	310
-#define	CC_TOK	311
-#define	CCC_TOK	312
-#define	FASTCC_TOK	313
-#define	COLDCC_TOK	314
-#define	RET	315
-#define	BR	316
-#define	SWITCH	317
-#define	INVOKE	318
-#define	UNWIND	319
-#define	UNREACHABLE	320
-#define	ADD	321
-#define	SUB	322
-#define	MUL	323
-#define	DIV	324
-#define	REM	325
-#define	AND	326
-#define	OR	327
-#define	XOR	328
-#define	SETLE	329
-#define	SETGE	330
-#define	SETLT	331
-#define	SETGT	332
-#define	SETEQ	333
-#define	SETNE	334
-#define	MALLOC	335
-#define	ALLOCA	336
-#define	FREE	337
-#define	LOAD	338
-#define	STORE	339
-#define	GETELEMENTPTR	340
-#define	PHI_TOK	341
-#define	CAST	342
-#define	SELECT	343
-#define	SHL	344
-#define	SHR	345
-#define	VAARG	346
-#define	VAARG_old	347
-#define	VANEXT_old	348
+#define	SECTION	288
+#define	VOLATILE	289
+#define	TO	290
+#define	DOTDOTDOT	291
+#define	NULL_TOK	292
+#define	UNDEF	293
+#define	CONST	294
+#define	INTERNAL	295
+#define	LINKONCE	296
+#define	WEAK	297
+#define	APPENDING	298
+#define	OPAQUE	299
+#define	NOT	300
+#define	EXTERNAL	301
+#define	TARGET	302
+#define	TRIPLE	303
+#define	ENDIAN	304
+#define	POINTERSIZE	305
+#define	LITTLE	306
+#define	BIG	307
+#define	ALIGN	308
+#define	DEPLIBS	309
+#define	CALL	310
+#define	TAIL	311
+#define	CC_TOK	312
+#define	CCC_TOK	313
+#define	FASTCC_TOK	314
+#define	COLDCC_TOK	315
+#define	RET	316
+#define	BR	317
+#define	SWITCH	318
+#define	INVOKE	319
+#define	UNWIND	320
+#define	UNREACHABLE	321
+#define	ADD	322
+#define	SUB	323
+#define	MUL	324
+#define	DIV	325
+#define	REM	326
+#define	AND	327
+#define	OR	328
+#define	XOR	329
+#define	SETLE	330
+#define	SETGE	331
+#define	SETLT	332
+#define	SETGT	333
+#define	SETEQ	334
+#define	SETNE	335
+#define	MALLOC	336
+#define	ALLOCA	337
+#define	FREE	338
+#define	LOAD	339
+#define	STORE	340
+#define	GETELEMENTPTR	341
+#define	PHI_TOK	342
+#define	CAST	343
+#define	SELECT	344
+#define	SHL	345
+#define	SHR	346
+#define	VAARG	347
+#define	VAARG_old	348
+#define	VANEXT_old	349
 
 
 extern YYSTYPE llvmAsmlval;






More information about the llvm-commits mailing list