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

Chris Lattner lattner at cs.uiuc.edu
Sat Nov 5 22:34:46 PST 2005



Changes in directory llvm/lib/AsmParser:

llvmAsmParser.cpp updated: 1.20 -> 1.21
---
Log message:

regenerate


---
Diffs of the changes:  (+775 -820)

 llvmAsmParser.cpp | 1579 ++++++++++++++++++++++++++----------------------------
 1 files changed, 775 insertions(+), 804 deletions(-)


Index: llvm/lib/AsmParser/llvmAsmParser.cpp
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp:1.20 llvm/lib/AsmParser/llvmAsmParser.cpp:1.21
--- llvm/lib/AsmParser/llvmAsmParser.cpp:1.20	Sat Nov  5 15:54:23 2005
+++ llvm/lib/AsmParser/llvmAsmParser.cpp	Sun Nov  6 00:34:34 2005
@@ -1006,26 +1006,26 @@
 
 
 
-#define	YYFINAL		429
+#define	YYFINAL		426
 #define	YYFLAG		-32768
 #define	YYNTBASE	109
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 348 ? yytranslate[x] : 170)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 348 ? yytranslate[x] : 171)
 
 static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,    97,
-    98,   106,     2,   107,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   102,
-    95,   103,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,    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,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-    99,    96,   101,     2,     2,     2,     2,     2,   108,     2,
+   100,    97,   102,     2,     2,     2,     2,     2,   108,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   100,
-     2,     2,   104,     2,   105,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,   101,
+     2,     2,   105,     2,   106,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1056,24 +1056,24 @@
     20,    22,    24,    26,    28,    30,    32,    34,    36,    38,
     40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
     60,    62,    64,    67,    68,    70,    72,    74,    76,    77,
-    78,    80,    82,    84,    87,    89,    91,    93,    95,    97,
-    99,   101,   103,   105,   107,   109,   111,   113,   115,   117,
-   119,   121,   123,   125,   127,   129,   132,   137,   143,   149,
-   153,   156,   159,   161,   165,   167,   171,   173,   174,   179,
-   183,   187,   192,   197,   201,   204,   207,   210,   213,   216,
-   219,   222,   225,   228,   231,   238,   244,   253,   260,   267,
-   274,   281,   285,   287,   289,   291,   293,   296,   299,   302,
-   304,   309,   312,   318,   324,   328,   333,   334,   336,   338,
-   342,   346,   350,   354,   358,   360,   361,   363,   365,   367,
-   368,   371,   375,   377,   379,   383,   385,   386,   393,   395,
-   397,   401,   403,   405,   408,   409,   413,   415,   417,   419,
-   421,   423,   425,   427,   431,   433,   435,   437,   439,   441,
-   444,   447,   450,   454,   457,   458,   460,   463,   466,   470,
-   480,   490,   499,   513,   515,   517,   524,   530,   533,   540,
-   548,   550,   554,   556,   557,   560,   562,   568,   574,   580,
-   583,   588,   593,   600,   605,   610,   615,   618,   626,   628,
-   631,   632,   634,   635,   638,   644,   650,   659,   662,   668,
-   674,   683,   686,   691,   698
+    78,    80,    82,    84,    87,    88,    92,    94,    96,    98,
+   100,   102,   104,   106,   108,   110,   112,   114,   116,   118,
+   120,   122,   124,   126,   128,   130,   132,   134,   137,   142,
+   148,   154,   158,   161,   164,   166,   170,   172,   176,   178,
+   179,   184,   188,   192,   197,   202,   206,   209,   212,   215,
+   218,   221,   224,   227,   230,   233,   236,   243,   249,   258,
+   265,   272,   279,   286,   290,   292,   294,   296,   298,   301,
+   304,   307,   309,   314,   317,   323,   329,   333,   338,   339,
+   341,   343,   347,   351,   355,   359,   363,   365,   366,   368,
+   370,   372,   373,   376,   380,   382,   384,   388,   390,   391,
+   398,   400,   402,   406,   408,   410,   413,   414,   418,   420,
+   422,   424,   426,   428,   430,   432,   436,   438,   440,   442,
+   444,   446,   449,   452,   455,   459,   462,   463,   465,   468,
+   471,   475,   485,   495,   504,   518,   520,   522,   529,   535,
+   538,   545,   553,   555,   559,   561,   562,   565,   567,   573,
+   579,   585,   588,   593,   598,   605,   610,   615,   620,   623,
+   631,   633,   636,   637,   639,   640,   644,   651,   655,   662,
+   665,   670,   677
 };
 
 static const short yyrhs[] = {     5,
@@ -1083,71 +1083,69 @@
      0,    79,     0,    80,     0,    90,     0,    91,     0,    16,
      0,    14,     0,    12,     0,    10,     0,    17,     0,    15,
      0,    13,     0,    11,     0,   115,     0,   116,     0,    18,
-     0,    19,     0,   140,    95,     0,     0,    40,     0,    41,
+     0,    19,     0,   141,    95,     0,     0,    40,     0,    41,
      0,    42,     0,    43,     0,     0,     0,    58,     0,    59,
-     0,    60,     0,    57,     4,     0,   124,     0,     8,     0,
-   126,     0,     8,     0,   126,     0,     9,     0,    10,     0,
-    11,     0,    12,     0,    13,     0,    14,     0,    15,     0,
-    16,     0,    17,     0,    18,     0,    19,     0,    20,     0,
-    21,     0,    44,     0,   125,     0,   153,     0,    96,     4,
-     0,   123,    97,   128,    98,     0,    99,     4,   100,   126,
-   101,     0,   102,     4,   100,   126,   103,     0,   104,   127,
-   105,     0,   104,   105,     0,   126,   106,     0,   126,     0,
-   127,   107,   126,     0,   127,     0,   127,   107,    36,     0,
-    36,     0,     0,   124,    99,   131,   101,     0,   124,    99,
-   101,     0,   124,   108,    24,     0,   124,   102,   131,   103,
-     0,   124,   104,   131,   105,     0,   124,   104,   105,     0,
-   124,    37,     0,   124,    38,     0,   124,   153,     0,   124,
-   130,     0,   124,    26,     0,   115,   110,     0,   116,     4,
-     0,     9,    27,     0,     9,    28,     0,   118,     7,     0,
-    88,    97,   129,    35,   124,    98,     0,    86,    97,   129,
-   167,    98,     0,    89,    97,   129,   107,   129,   107,   129,
-    98,     0,   111,    97,   129,   107,   129,    98,     0,   112,
-    97,   129,   107,   129,    98,     0,   113,    97,   129,   107,
-   129,    98,     0,   114,    97,   129,   107,   129,    98,     0,
-   131,   107,   129,     0,   129,     0,    32,     0,    33,     0,
-   134,     0,   134,   149,     0,   134,   150,     0,   134,    25,
-     0,   135,     0,   135,   119,    20,   122,     0,   135,   150,
-     0,   135,   119,   120,   132,   129,     0,   135,   119,    46,
-   132,   124,     0,   135,    47,   137,     0,   135,    54,    95,
-   138,     0,     0,    52,     0,    51,     0,    49,    95,   136,
-     0,    50,    95,     4,     0,    48,    95,    24,     0,    99,
-   139,   101,     0,   139,   107,    24,     0,    24,     0,     0,
-    22,     0,    24,     0,   140,     0,     0,   124,   141,     0,
-   143,   107,   142,     0,   142,     0,   143,     0,   143,   107,
-    36,     0,    36,     0,     0,   121,   122,   140,    97,   144,
-    98,     0,    29,     0,   104,     0,   120,   145,   146,     0,
-    30,     0,   105,     0,   156,   148,     0,     0,    31,   151,
-   145,     0,     3,     0,     4,     0,     7,     0,    27,     0,
-    28,     0,    37,     0,    38,     0,   102,   131,   103,     0,
-   130,     0,   109,     0,   140,     0,   153,     0,   152,     0,
-   124,   154,     0,   156,   157,     0,   147,   157,     0,   158,
-   119,   159,     0,   158,   161,     0,     0,    23,     0,    61,
-   155,     0,    61,     8,     0,    62,    21,   154,     0,    62,
-     9,   154,   107,    21,   154,   107,    21,   154,     0,    63,
-   117,   154,   107,    21,   154,    99,   160,   101,     0,    63,
-   117,   154,   107,    21,   154,    99,   101,     0,    64,   121,
-   122,   154,    97,   164,    98,    35,    21,   154,    65,    21,
-   154,     0,    65,     0,    66,     0,   160,   117,   152,   107,
-    21,   154,     0,   117,   152,   107,    21,   154,     0,   119,
-   166,     0,   124,    99,   154,   107,   154,   101,     0,   162,
-   107,    99,   154,   107,   154,   101,     0,   155,     0,   163,
-   107,   155,     0,   163,     0,     0,    56,    55,     0,    55,
-     0,   111,   124,   154,   107,   154,     0,   112,   124,   154,
-   107,   154,     0,   113,   124,   154,   107,   154,     0,    45,
-   155,     0,   114,   155,   107,   155,     0,    88,   155,    35,
-   124,     0,    89,   155,   107,   155,   107,   155,     0,    92,
-   155,   107,   124,     0,    93,   155,   107,   124,     0,    94,
-   155,   107,   124,     0,    87,   162,     0,   165,   121,   122,
-   154,    97,   164,    98,     0,   169,     0,   107,   163,     0,
-     0,    34,     0,     0,    81,   124,     0,    81,   124,   107,
-    53,     4,     0,    81,   124,   107,    15,   154,     0,    81,
-   124,   107,    15,   154,   107,    53,     4,     0,    82,   124,
-     0,    82,   124,   107,    53,     4,     0,    82,   124,   107,
-    15,   154,     0,    82,   124,   107,    15,   154,   107,    53,
-     4,     0,    83,   155,     0,   168,    84,   124,   154,     0,
-   168,    85,   155,   107,   124,   154,     0,    86,   124,   154,
-   167,     0
+     0,    60,     0,    57,     4,     0,     0,    96,    53,     4,
+     0,   125,     0,     8,     0,   127,     0,     8,     0,   127,
+     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,   126,
+     0,   154,     0,    97,     4,     0,   124,    98,   129,    99,
+     0,   100,     4,   101,   127,   102,     0,   103,     4,   101,
+   127,   104,     0,   105,   128,   106,     0,   105,   106,     0,
+   127,   107,     0,   127,     0,   128,    96,   127,     0,   128,
+     0,   128,    96,    36,     0,    36,     0,     0,   125,   100,
+   132,   102,     0,   125,   100,   102,     0,   125,   108,    24,
+     0,   125,   103,   132,   104,     0,   125,   105,   132,   106,
+     0,   125,   105,   106,     0,   125,    37,     0,   125,    38,
+     0,   125,   154,     0,   125,   131,     0,   125,    26,     0,
+   115,   110,     0,   116,     4,     0,     9,    27,     0,     9,
+    28,     0,   118,     7,     0,    88,    98,   130,    35,   125,
+    99,     0,    86,    98,   130,   168,    99,     0,    89,    98,
+   130,    96,   130,    96,   130,    99,     0,   111,    98,   130,
+    96,   130,    99,     0,   112,    98,   130,    96,   130,    99,
+     0,   113,    98,   130,    96,   130,    99,     0,   114,    98,
+   130,    96,   130,    99,     0,   132,    96,   130,     0,   130,
+     0,    32,     0,    33,     0,   135,     0,   135,   150,     0,
+   135,   151,     0,   135,    25,     0,   136,     0,   136,   119,
+    20,   123,     0,   136,   151,     0,   136,   119,   120,   133,
+   130,     0,   136,   119,    46,   133,   125,     0,   136,    47,
+   138,     0,   136,    54,    95,   139,     0,     0,    52,     0,
+    51,     0,    49,    95,   137,     0,    50,    95,     4,     0,
+    48,    95,    24,     0,   100,   140,   102,     0,   140,    96,
+    24,     0,    24,     0,     0,    22,     0,    24,     0,   141,
+     0,     0,   125,   142,     0,   144,    96,   143,     0,   143,
+     0,   144,     0,   144,    96,    36,     0,    36,     0,     0,
+   121,   123,   141,    98,   145,    99,     0,    29,     0,   105,
+     0,   120,   146,   147,     0,    30,     0,   106,     0,   157,
+   149,     0,     0,    31,   152,   146,     0,     3,     0,     4,
+     0,     7,     0,    27,     0,    28,     0,    37,     0,    38,
+     0,   103,   132,   104,     0,   131,     0,   109,     0,   141,
+     0,   154,     0,   153,     0,   125,   155,     0,   157,   158,
+     0,   148,   158,     0,   159,   119,   160,     0,   159,   162,
+     0,     0,    23,     0,    61,   156,     0,    61,     8,     0,
+    62,    21,   155,     0,    62,     9,   155,    96,    21,   155,
+    96,    21,   155,     0,    63,   117,   155,    96,    21,   155,
+   100,   161,   102,     0,    63,   117,   155,    96,    21,   155,
+   100,   102,     0,    64,   121,   123,   155,    98,   165,    99,
+    35,    21,   155,    65,    21,   155,     0,    65,     0,    66,
+     0,   161,   117,   153,    96,    21,   155,     0,   117,   153,
+    96,    21,   155,     0,   119,   167,     0,   125,   100,   155,
+    96,   155,   102,     0,   163,    96,   100,   155,    96,   155,
+   102,     0,   156,     0,   164,    96,   156,     0,   164,     0,
+     0,    56,    55,     0,    55,     0,   111,   125,   155,    96,
+   155,     0,   112,   125,   155,    96,   155,     0,   113,   125,
+   155,    96,   155,     0,    45,   156,     0,   114,   156,    96,
+   156,     0,    88,   156,    35,   125,     0,    89,   156,    96,
+   156,    96,   156,     0,    92,   156,    96,   125,     0,    93,
+   156,    96,   125,     0,    94,   156,    96,   125,     0,    87,
+   163,     0,   166,   121,   123,   155,    98,   165,    99,     0,
+   170,     0,    96,   164,     0,     0,    34,     0,     0,    81,
+   125,   122,     0,    81,   125,    96,    15,   155,   122,     0,
+    82,   125,   122,     0,    82,   125,    96,    15,   155,   122,
+     0,    83,   156,     0,   169,    84,   125,   155,     0,   169,
+    85,   156,    96,   125,   155,     0,    86,   125,   155,   168,
+     0
 };
 
 #endif
@@ -1158,24 +1156,24 @@
   1002,  1002,  1003,  1003,  1003,  1003,  1003,  1003,  1005,  1005,
   1009,  1009,  1009,  1009,  1010,  1010,  1010,  1010,  1011,  1011,
   1012,  1012,  1015,  1018,  1022,  1022,  1023,  1024,  1025,  1028,
-  1028,  1029,  1030,  1031,  1045,  1045,  1046,  1046,  1048,  1057,
-  1057,  1057,  1057,  1057,  1057,  1057,  1058,  1058,  1058,  1058,
-  1058,  1058,  1059,  1062,  1065,  1071,  1078,  1090,  1094,  1105,
-  1114,  1117,  1125,  1129,  1134,  1135,  1138,  1141,  1151,  1176,
-  1189,  1217,  1242,  1262,  1274,  1283,  1287,  1346,  1352,  1360,
-  1365,  1370,  1373,  1376,  1383,  1393,  1424,  1431,  1452,  1459,
-  1464,  1474,  1477,  1484,  1484,  1494,  1501,  1505,  1508,  1511,
-  1524,  1544,  1546,  1550,  1554,  1556,  1558,  1563,  1564,  1566,
-  1569,  1577,  1582,  1584,  1588,  1592,  1600,  1600,  1601,  1601,
-  1603,  1609,  1614,  1620,  1623,  1628,  1632,  1636,  1716,  1716,
-  1718,  1726,  1726,  1728,  1732,  1732,  1741,  1744,  1747,  1750,
-  1753,  1756,  1759,  1762,  1786,  1793,  1796,  1801,  1801,  1807,
-  1811,  1814,  1822,  1831,  1835,  1845,  1856,  1859,  1862,  1865,
-  1868,  1882,  1886,  1939,  1942,  1948,  1956,  1966,  1973,  1978,
-  1985,  1989,  1995,  1995,  1997,  2000,  2006,  2018,  2026,  2036,
-  2048,  2055,  2062,  2069,  2074,  2093,  2115,  2129,  2186,  2192,
-  2194,  2198,  2201,  2207,  2211,  2218,  2222,  2229,  2233,  2240,
-  2244,  2251,  2258,  2268,  2281
+  1028,  1029,  1030,  1031,  1040,  1040,  1050,  1050,  1051,  1051,
+  1053,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1063,  1063,
+  1063,  1063,  1063,  1063,  1064,  1067,  1070,  1076,  1083,  1095,
+  1099,  1110,  1119,  1122,  1130,  1134,  1139,  1140,  1143,  1146,
+  1156,  1181,  1194,  1222,  1247,  1267,  1279,  1288,  1292,  1351,
+  1357,  1365,  1370,  1375,  1378,  1381,  1388,  1398,  1429,  1436,
+  1457,  1464,  1469,  1479,  1482,  1489,  1489,  1499,  1506,  1510,
+  1513,  1516,  1529,  1549,  1551,  1555,  1559,  1561,  1563,  1568,
+  1569,  1571,  1574,  1582,  1587,  1589,  1593,  1597,  1605,  1605,
+  1606,  1606,  1608,  1614,  1619,  1625,  1628,  1633,  1637,  1641,
+  1721,  1721,  1723,  1731,  1731,  1733,  1737,  1737,  1746,  1749,
+  1752,  1755,  1758,  1761,  1764,  1767,  1791,  1798,  1801,  1806,
+  1806,  1812,  1816,  1819,  1827,  1836,  1840,  1850,  1861,  1864,
+  1867,  1870,  1873,  1887,  1891,  1944,  1947,  1953,  1961,  1971,
+  1978,  1983,  1990,  1994,  2000,  2000,  2002,  2005,  2011,  2023,
+  2031,  2041,  2053,  2060,  2067,  2074,  2079,  2098,  2120,  2134,
+  2191,  2197,  2199,  2203,  2206,  2212,  2219,  2226,  2233,  2240,
+  2247,  2257,  2270
 };
 #endif
 
@@ -1193,17 +1191,18 @@
 "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",
+"VAARG","VAARG_old","VANEXT_old","'='","','","'\\\\'","'('","')'","'['","'x'",
+"']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps",
 "LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType",
-"OptAssign","OptLinkage","OptCallingConv","TypesV","UpRTypesV","Types","PrimType",
-"UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType",
-"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition",
-"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN",
-"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef",
-"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst",
-"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal",
-"IndexList","OptVolatile","MemoryInst", NULL
+"OptAssign","OptLinkage","OptCallingConv","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
 };
 #endif
 
@@ -1212,24 +1211,24 @@
    112,   112,   113,   113,   113,   113,   113,   113,   114,   114,
    115,   115,   115,   115,   116,   116,   116,   116,   117,   117,
    118,   118,   119,   119,   120,   120,   120,   120,   120,   121,
-   121,   121,   121,   121,   122,   122,   123,   123,   124,   125,
-   125,   125,   125,   125,   125,   125,   125,   125,   125,   125,
-   125,   125,   126,   126,   126,   126,   126,   126,   126,   126,
-   126,   126,   127,   127,   128,   128,   128,   128,   129,   129,
-   129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
-   129,   129,   129,   129,   130,   130,   130,   130,   130,   130,
-   130,   131,   131,   132,   132,   133,   134,   134,   134,   134,
-   135,   135,   135,   135,   135,   135,   135,   136,   136,   137,
-   137,   137,   138,   139,   139,   139,   140,   140,   141,   141,
-   142,   143,   143,   144,   144,   144,   144,   145,   146,   146,
-   147,   148,   148,   149,   151,   150,   152,   152,   152,   152,
-   152,   152,   152,   152,   152,   153,   153,   154,   154,   155,
-   156,   156,   157,   158,   158,   158,   159,   159,   159,   159,
-   159,   159,   159,   159,   159,   160,   160,   161,   162,   162,
-   163,   163,   164,   164,   165,   165,   166,   166,   166,   166,
-   166,   166,   166,   166,   166,   166,   166,   166,   166,   167,
-   167,   168,   168,   169,   169,   169,   169,   169,   169,   169,
-   169,   169,   169,   169,   169
+   121,   121,   121,   121,   122,   122,   123,   123,   124,   124,
+   125,   126,   126,   126,   126,   126,   126,   126,   126,   126,
+   126,   126,   126,   126,   127,   127,   127,   127,   127,   127,
+   127,   127,   127,   127,   128,   128,   129,   129,   129,   129,
+   130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
+   130,   130,   130,   130,   130,   130,   131,   131,   131,   131,
+   131,   131,   131,   132,   132,   133,   133,   134,   135,   135,
+   135,   135,   136,   136,   136,   136,   136,   136,   136,   137,
+   137,   138,   138,   138,   139,   140,   140,   140,   141,   141,
+   142,   142,   143,   144,   144,   145,   145,   145,   145,   146,
+   147,   147,   148,   149,   149,   150,   152,   151,   153,   153,
+   153,   153,   153,   153,   153,   153,   153,   154,   154,   155,
+   155,   156,   157,   157,   158,   159,   159,   159,   160,   160,
+   160,   160,   160,   160,   160,   160,   160,   161,   161,   162,
+   163,   163,   164,   164,   165,   165,   166,   166,   167,   167,
+   167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
+   167,   168,   168,   169,   169,   170,   170,   170,   170,   170,
+   170,   170,   170
 };
 
 static const short yyr2[] = {     0,
@@ -1237,412 +1236,388 @@
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     2,     0,     1,     1,     1,     1,     0,     0,
-     1,     1,     1,     2,     1,     1,     1,     1,     1,     1,
+     1,     1,     1,     2,     0,     3,     1,     1,     1,     1,
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     2,     4,     5,     5,     3,
-     2,     2,     1,     3,     1,     3,     1,     0,     4,     3,
-     3,     4,     4,     3,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     6,     5,     8,     6,     6,     6,
-     6,     3,     1,     1,     1,     1,     2,     2,     2,     1,
-     4,     2,     5,     5,     3,     4,     0,     1,     1,     3,
-     3,     3,     3,     3,     1,     0,     1,     1,     1,     0,
-     2,     3,     1,     1,     3,     1,     0,     6,     1,     1,
-     3,     1,     1,     2,     0,     3,     1,     1,     1,     1,
-     1,     1,     1,     3,     1,     1,     1,     1,     1,     2,
-     2,     2,     3,     2,     0,     1,     2,     2,     3,     9,
-     9,     8,    13,     1,     1,     6,     5,     2,     6,     7,
-     1,     3,     1,     0,     2,     1,     5,     5,     5,     2,
-     4,     4,     6,     4,     4,     4,     2,     7,     1,     2,
-     0,     1,     0,     2,     5,     5,     8,     2,     5,     5,
-     8,     2,     4,     6,     4
+     1,     1,     1,     1,     1,     1,     1,     2,     4,     5,
+     5,     3,     2,     2,     1,     3,     1,     3,     1,     0,
+     4,     3,     3,     4,     4,     3,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     6,     5,     8,     6,
+     6,     6,     6,     3,     1,     1,     1,     1,     2,     2,
+     2,     1,     4,     2,     5,     5,     3,     4,     0,     1,
+     1,     3,     3,     3,     3,     3,     1,     0,     1,     1,
+     1,     0,     2,     3,     1,     1,     3,     1,     0,     6,
+     1,     1,     3,     1,     1,     2,     0,     3,     1,     1,
+     1,     1,     1,     1,     1,     3,     1,     1,     1,     1,
+     1,     2,     2,     2,     3,     2,     0,     1,     2,     2,
+     3,     9,     9,     8,    13,     1,     1,     6,     5,     2,
+     6,     7,     1,     3,     1,     0,     2,     1,     5,     5,
+     5,     2,     4,     4,     6,     4,     4,     4,     2,     7,
+     1,     2,     0,     1,     0,     3,     6,     3,     6,     2,
+     4,     6,     4
 };
 
-static const short yydefact[] = {   117,
-    39,   110,   109,   145,    35,    36,    37,    38,    40,   165,
-   107,   108,   165,   127,   128,     0,     0,    39,     0,   112,
-    40,     0,    41,    42,    43,     0,     0,   166,   162,    34,
-   142,   143,   144,   161,     0,     0,     0,   115,     0,     0,
-     0,     0,    33,   146,    44,     1,     2,    46,    50,    51,
-    52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-    62,    63,     0,     0,     0,     0,   156,     0,     0,    45,
-    64,    49,   157,    65,   139,   140,   141,   203,   164,     0,
-     0,     0,   126,   116,   111,   104,   105,     0,     0,    66,
-     0,     0,    48,    71,    73,     0,     0,    78,    72,   202,
-     0,   186,     0,     0,     0,     0,    40,   174,   175,     5,
+static const short yydefact[] = {   119,
+    39,   112,   111,   147,    35,    36,    37,    38,    40,   167,
+   109,   110,   167,   129,   130,     0,     0,    39,     0,   114,
+    40,     0,    41,    42,    43,     0,     0,   168,   164,    34,
+   144,   145,   146,   163,     0,     0,     0,   117,     0,     0,
+     0,     0,    33,   148,    44,     1,     2,    48,    52,    53,
+    54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
+    64,    65,     0,     0,     0,     0,   158,     0,     0,    47,
+    66,    51,   159,    67,   141,   142,   143,   205,   166,     0,
+     0,     0,   128,   118,   113,   106,   107,     0,     0,    68,
+     0,     0,    50,    73,    75,     0,     0,    80,    74,   204,
+     0,   188,     0,     0,     0,     0,    40,   176,   177,     5,
      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     16,    17,    18,     0,     0,     0,     0,     0,     0,     0,
-    19,    20,     0,     0,     0,     0,     0,     0,     0,   163,
-    40,   178,     0,   199,   122,   119,   118,   120,   121,   125,
-     0,   114,    50,    51,    52,    53,    54,    55,    56,    57,
-    58,    59,    60,     0,     0,     0,     0,   113,     0,     0,
-    70,     0,   137,    77,    75,     0,     0,   190,   185,   168,
-   167,     0,     0,    24,    28,    23,    27,    22,    26,    21,
-    25,    29,    30,     0,     0,   204,   208,   212,     0,     0,
-   197,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   123,     0,    92,    93,     3,     4,    90,
-    91,    94,    89,    85,    86,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    88,    87,    47,    47,
-    74,   136,   130,   133,   134,     0,     0,    67,   147,   148,
-   149,   150,   151,   152,   153,     0,   155,   159,   158,   160,
-     0,   169,     0,     0,     0,     0,   201,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   124,     0,     0,     0,    80,   103,     0,     0,    84,
-     0,    81,     0,     0,     0,     0,    68,    69,   129,   131,
-     0,   138,    76,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   215,     0,     0,   192,     0,   194,   195,   196,
-     0,     0,     0,   191,     0,   213,     0,   201,     0,     0,
-    79,     0,    82,    83,     0,     0,     0,     0,   135,   132,
-   154,     0,     0,   184,   206,   205,   210,   209,   181,   200,
-     0,     0,     0,   187,   188,   189,   184,     0,     0,     0,
-     0,   102,     0,     0,     0,     0,     0,     0,   183,     0,
-     0,     0,     0,     0,     0,   193,     0,   214,    96,     0,
+    19,    20,     0,     0,     0,     0,     0,     0,     0,   165,
+    40,   180,     0,   201,   124,   121,   120,   122,   123,   127,
+     0,   116,    52,    53,    54,    55,    56,    57,    58,    59,
+    60,    61,    62,     0,     0,     0,     0,   115,     0,     0,
+     0,    72,   139,    79,    77,     0,     0,   192,   187,   170,
+   169,     0,     0,    24,    28,    23,    27,    22,    26,    21,
+    25,    29,    30,     0,     0,    45,    45,   210,     0,     0,
+   199,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   125,    94,    95,     3,     4,    92,
+    93,    96,    91,    87,    88,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,    90,    89,    49,    49,
+    76,   138,   132,   135,   136,     0,     0,    69,   149,   150,
+   151,   152,   153,   154,   155,     0,   157,   161,   160,   162,
+     0,   171,     0,     0,     0,   206,     0,   208,   203,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   182,   179,     0,   198,    95,     0,    98,    99,   100,   101,
-     0,   172,     0,     0,     0,   207,   211,   180,     0,   170,
-     0,   171,     0,     0,    97,     0,     0,     0,     0,     0,
-     0,   177,     0,     0,   176,   173,     0,     0,     0
+     0,     0,     0,   126,     0,     0,     0,    82,   105,     0,
+     0,    86,     0,    83,     0,     0,     0,     0,    70,    71,
+   131,   133,     0,   140,    78,     0,     0,     0,     0,     0,
+     0,     0,     0,   213,     0,     0,   194,     0,   196,   197,
+   198,     0,     0,     0,   193,     0,   211,     0,   203,     0,
+     0,     0,    81,    84,    85,     0,     0,     0,     0,   137,
+   134,   156,     0,     0,   186,    45,    46,    45,   183,   202,
+     0,     0,     0,   189,   190,   191,   186,     0,     0,     0,
+     0,   104,     0,     0,     0,     0,     0,     0,   185,     0,
+     0,   207,   209,     0,     0,     0,   195,     0,   212,    98,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   184,
+   181,     0,   200,    97,     0,   100,   101,   102,   103,     0,
+   174,     0,     0,     0,   182,     0,   172,     0,   173,     0,
+     0,    99,     0,     0,     0,     0,     0,     0,   179,     0,
+     0,   178,   175,     0,     0,     0
 };
 
 static const short yydefgoto[] = {    67,
    220,   233,   234,   235,   236,   164,   165,   194,   166,    18,
-     9,    26,    68,    69,   167,    71,    72,    96,   176,   287,
-   257,   288,    88,   427,     1,     2,   148,    38,    84,   151,
-    73,   300,   244,   245,   246,    27,    77,    10,    33,    11,
-    12,    21,   258,    74,   260,   349,    13,    29,    30,   140,
-   404,    79,   201,   369,   370,   141,   142,   313,   143,   144
+     9,    26,   266,    68,    69,   167,    71,    72,    96,   176,
+   289,   257,   290,    88,   424,     1,     2,   148,    38,    84,
+   151,    73,   302,   244,   245,   246,    27,    77,    10,    33,
+    11,    12,    21,   258,    74,   260,   349,    13,    29,    30,
+   140,   403,    79,   201,   369,   370,   141,   142,   314,   143,
+   144
 };
 
 static const short yypact[] = {-32768,
-    40,   341,-32768,-32768,-32768,-32768,-32768,-32768,    62,    12,
--32768,-32768,   -20,-32768,-32768,   110,   -67,    48,   -50,-32768,
-    62,    65,-32768,-32768,-32768,  1073,   -18,-32768,-32768,    71,
--32768,-32768,-32768,-32768,   -19,    -8,     2,-32768,   -15,  1073,
-    31,    31,-32768,-32768,-32768,-32768,-32768,     8,-32768,-32768,
+    15,   304,-32768,-32768,-32768,-32768,-32768,-32768,   104,   -16,
+-32768,-32768,   -13,-32768,-32768,   -27,   -69,    23,   -57,-32768,
+   104,    88,-32768,-32768,-32768,   954,   -18,-32768,-32768,    50,
+-32768,-32768,-32768,-32768,   -34,   -22,    10,-32768,    -5,   954,
+    58,    58,-32768,-32768,-32768,-32768,-32768,    17,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   123,   152,   163,   120,-32768,    71,    17,-32768,
--32768,   -36,-32768,-32768,-32768,-32768,-32768,  1228,-32768,   148,
-    72,   170,   164,-32768,-32768,-32768,-32768,  1136,  1173,-32768,
-    89,    90,-32768,-32768,   -36,    58,    94,   835,-32768,-32768,
-  1136,-32768,   137,  1236,    27,   138,    62,-32768,-32768,-32768,
+-32768,-32768,   126,   142,   148,   531,-32768,    50,    61,-32768,
+-32768,   -30,-32768,-32768,-32768,-32768,-32768,  1111,-32768,   150,
+    66,   166,   153,-32768,-32768,-32768,-32768,   991,  1028,-32768,
+    74,    77,-32768,-32768,   -30,   -36,    81,   769,-32768,-32768,
+   991,-32768,   125,  1065,     3,   123,   104,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,  1136,  1136,  1136,  1136,  1136,  1136,  1136,
--32768,-32768,  1136,  1136,  1136,  1136,  1136,  1136,  1136,-32768,
-    62,-32768,    77,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   -35,-32768,   118,   167,   190,   173,   191,   175,   192,   177,
-   193,   196,   197,   180,   194,   198,   519,-32768,  1136,  1136,
--32768,  1136,   872,-32768,    92,   108,   662,-32768,-32768,     8,
--32768,   662,   662,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,   662,  1073,   100,   101,-32768,   662,   115,
-   102,   182,   111,   113,   114,   119,   662,   662,   662,   121,
-  1073,  1136,  1136,-32768,   203,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,   132,   133,   134,   935,  1173,
-   620,   208,   139,   140,   143,   144,-32768,-32768,   -74,   -29,
-   -36,-32768,    71,-32768,   127,   117,   972,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,  1173,-32768,-32768,-32768,-32768,
-   128,-32768,   136,   662,    -6,    -2,   146,   662,   155,  1136,
-  1136,  1136,  1136,  1136,   149,   151,   153,  1136,   662,   662,
-   154,-32768,  1173,  1173,  1173,-32768,-32768,   -28,   -57,-32768,
-    61,-32768,  1173,  1173,  1173,  1173,-32768,-32768,-32768,-32768,
-  1036,-32768,-32768,   -11,   230,   238,   165,   662,   262,   662,
-   263,  1136,-32768,   162,   662,-32768,   166,-32768,-32768,-32768,
-   662,   662,   662,-32768,   171,-32768,  1136,   146,   235,   169,
--32768,  1173,-32768,-32768,   172,   183,   184,   185,-32768,-32768,
--32768,   662,   662,  1136,   186,-32768,   187,-32768,-32768,   188,
-   662,   189,  1136,-32768,-32768,-32768,  1136,   662,   174,  1136,
-  1173,-32768,  1173,  1173,  1173,  1173,   199,   200,   188,   176,
-   218,   231,  1136,   202,   662,-32768,   206,-32768,-32768,   209,
-   201,   211,   212,   213,   214,   266,     5,   254,   293,   294,
--32768,-32768,   215,-32768,-32768,  1173,-32768,-32768,-32768,-32768,
-   662,-32768,   740,    42,   279,-32768,-32768,-32768,   216,-32768,
-   210,-32768,   740,   662,-32768,   298,   219,   250,   662,   300,
-   301,-32768,   662,   662,-32768,-32768,   323,   325,-32768
+-32768,-32768,-32768,   991,   991,   991,   991,   991,   991,   991,
+-32768,-32768,   991,   991,   991,   991,   991,   991,   991,-32768,
+   104,-32768,    57,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+    -8,-32768,   117,   146,   177,   151,   178,   162,   179,   164,
+   180,   182,   183,   169,   187,   185,   407,-32768,   991,   991,
+   991,-32768,   806,-32768,    97,    95,   595,-32768,-32768,    17,
+-32768,   595,   595,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,   595,   954,   100,   101,-32768,   595,    98,
+   103,   165,   106,   107,   111,   112,   595,   595,   595,   113,
+   954,   991,   991,   186,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,   120,   122,   124,   843,  1028,
+   552,   188,   127,   128,   129,   130,-32768,-32768,   -31,   -65,
+   -30,-32768,    50,-32768,   115,   133,   880,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,  1028,-32768,-32768,-32768,-32768,
+   137,-32768,   138,   595,    -6,-32768,    -2,-32768,   139,   595,
+   121,   991,   991,   991,   991,   991,   140,   141,   143,   991,
+   595,   595,   144,-32768,  1028,  1028,  1028,-32768,-32768,    18,
+    -7,-32768,     0,-32768,  1028,  1028,  1028,  1028,-32768,-32768,
+-32768,-32768,   917,-32768,-32768,    25,   202,   203,   131,   595,
+   234,   595,   991,-32768,   145,   595,-32768,   147,-32768,-32768,
+-32768,   595,   595,   595,-32768,   154,-32768,   991,   139,   209,
+   149,  1028,-32768,-32768,-32768,   157,   159,   160,   161,-32768,
+-32768,-32768,   595,   595,   991,   167,-32768,   167,-32768,   168,
+   595,   170,   991,-32768,-32768,-32768,   991,   595,   163,   991,
+  1028,-32768,  1028,  1028,  1028,  1028,   171,   158,   168,   175,
+   207,-32768,-32768,   991,   173,   595,-32768,   191,-32768,-32768,
+   192,   174,   195,   196,   199,   200,   248,    20,   241,-32768,
+-32768,   176,-32768,-32768,  1028,-32768,-32768,-32768,-32768,   595,
+-32768,   673,    69,   258,-32768,   205,-32768,   210,-32768,   673,
+   595,-32768,   260,   213,   240,   595,   289,   290,-32768,   595,
+   595,-32768,-32768,   312,   315,-32768
 };
 
 static const short yypgoto[] = {-32768,
--32768,   251,   252,   255,   259,  -102,   -99,  -362,-32768,   302,
-   310,   -81,   -38,-32768,   -26,-32768,   -54,   240,-32768,   -83,
-   178,  -207,   297,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-    -1,-32768,    39,-32768,-32768,   320,-32768,-32768,-32768,-32768,
-   340,-32768,  -372,    56,   161,   -96,-32768,   333,-32768,-32768,
--32768,-32768,-32768,    36,    -7,-32768,-32768,    21,-32768,-32768
+-32768,   238,   239,   242,   251,  -102,  -100,  -385,-32768,   288,
+   314,   -82,  -195,   -35,-32768,   -26,-32768,   -46,   232,-32768,
+   -81,   172,  -203,   291,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,    -1,-32768,    35,-32768,-32768,   319,-32768,-32768,-32768,
+-32768,   339,-32768,  -283,   -51,   114,   -85,-32768,   329,-32768,
+-32768,-32768,-32768,-32768,    30,    -4,-32768,-32768,    26,-32768,
+-32768
 };
 
 
-#define	YYLAST		1340
+#define	YYLAST		1205
 
 
 static const short yytable[] = {    70,
-    19,    85,    28,   192,   178,   168,   193,   181,   308,    31,
-    75,    95,   310,    70,   184,   185,   186,   187,   188,   189,
-   190,   191,   289,   291,   403,   195,   297,    39,    19,   198,
-   411,    99,   202,   203,    28,   182,   204,   205,   206,  -106,
-   417,   413,   210,    95,    43,   333,   309,   183,   304,   332,
-   311,   184,   185,   186,   187,   188,   189,   190,   191,   211,
-   -47,   152,    86,    87,     3,   214,    97,    40,    45,    99,
-     4,   215,   331,   298,   177,    80,    99,   177,   332,     5,
-     6,     7,     8,    83,    32,    76,    81,     5,     6,     7,
-     8,   341,    14,    41,    15,   332,    82,   196,   197,   177,
-   199,   200,   177,   177,   -48,   402,   177,   177,   177,   207,
-   208,   209,   177,    98,   239,   240,   281,   241,    22,    23,
-    24,    25,   146,   147,    46,    47,    90,    93,    49,    50,
-    51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-    61,    14,   412,    15,   216,   217,   243,   184,   185,   186,
-   187,   188,   189,   190,   191,    91,   264,    35,    36,    37,
-   212,   213,   171,    62,   172,   334,    92,   332,    70,   -24,
-   -24,   145,   279,   149,   317,   -23,   -23,   -22,   -22,   -21,
-   -21,   324,   218,   219,    70,   280,   177,   150,   169,   170,
-   173,   179,   241,   -28,   -27,   -26,   -25,   221,   247,   328,
-   329,   330,   -31,   -32,   222,   248,   265,   266,   269,   335,
-   336,   337,   338,   268,   302,    63,   270,   271,    64,   272,
-   273,    65,   238,    66,    94,   274,   282,   278,   283,   284,
-   285,   292,   259,   301,   305,   293,   294,   259,   259,   295,
-   296,   299,   306,   316,   177,   318,   319,   320,   362,   259,
-   342,   177,   312,   315,   259,   321,   376,   322,   343,   323,
-   327,   344,   259,   259,   259,   346,   348,   357,   351,   360,
-   389,   379,   353,   388,   243,   361,   391,   381,   363,   382,
-   383,   384,   385,   390,   192,   177,   401,   193,   405,   364,
-   365,   366,   371,   372,   373,   375,   406,   407,   387,   414,
-   358,   192,   392,   394,   193,   386,   395,   396,   397,   398,
-   399,   400,   409,   415,   421,   408,   416,   177,   419,   259,
-   423,   424,   428,   259,   429,   420,   177,    42,   136,   137,
-   177,    78,   138,   380,   259,   259,   139,   175,    89,   340,
-    44,    20,   261,   262,   237,    34,   177,   350,   359,   377,
-     0,     0,     0,     0,   263,     0,     0,     0,     0,   267,
-   -34,     0,    14,   259,    15,   259,     0,   275,   276,   277,
-   259,     4,   -34,   -34,     0,     0,   259,   259,   259,     0,
-   -34,   -34,   -34,   -34,     0,     0,   -34,    16,     0,     0,
-     0,     0,     0,     0,    17,     0,     0,   259,   259,     0,
-     0,     0,     0,     0,     0,     0,   259,     0,     0,     0,
-     0,     0,     0,   259,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   307,     0,     0,     0,   314,     0,
-   259,     0,     0,     0,     0,     0,     0,     0,     0,   325,
-   326,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   259,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   345,   259,
-   347,     0,     0,     0,   259,   352,     0,     0,   259,   259,
-     0,   354,   355,   356,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   367,   368,     0,     0,     0,     0,     0,     0,
-     0,   374,     0,     0,     0,     0,     0,     0,   378,     0,
-     0,     0,     0,    46,    47,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   393,     0,     0,     0,     0,
-    14,     0,    15,     0,   223,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   224,   225,     0,     0,     0,
-     0,   410,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   418,     0,     0,     0,     0,   422,
-     0,     0,     0,   425,   426,   110,   111,   112,   113,   114,
-   115,   116,   117,   118,   119,   120,   121,   122,   123,     0,
-     0,     0,     0,     0,   226,     0,   227,   228,   131,   132,
-     0,     0,     0,     0,     0,     0,     0,   229,     0,     0,
-   230,     0,   231,     0,    46,    47,   232,    93,   153,   154,
-   155,   156,   157,   158,   159,   160,   161,   162,   163,    60,
-    61,    14,     0,    15,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    62,   249,   250,    46,    47,   251,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    14,     0,    15,     0,     0,   252,   253,
-     0,     0,     0,     0,     0,     0,     0,     0,   254,   255,
+    19,   268,   402,   192,    85,   193,    28,   168,   310,    28,
+    75,   182,   312,    70,  -108,   178,    31,   410,   181,    95,
+    35,    36,    37,   183,   195,    39,   291,   293,    19,   184,
+   185,   186,   187,   188,   189,   190,   191,    43,   300,     3,
+   198,    99,    40,   202,   203,     4,   311,   204,   205,   206,
+   311,    95,   306,   210,     5,     6,     7,     8,   211,   171,
+    80,   152,     5,     6,     7,     8,    97,   -49,    41,   172,
+   299,    14,    81,    15,   177,    99,    99,   177,   184,   185,
+   186,   187,   188,   189,   190,   191,    76,   214,   332,    86,
+    87,    45,    32,   215,    83,   332,   334,   196,   197,   177,
+   199,   200,   177,   177,    82,   335,   177,   177,   177,   207,
+   208,   209,   177,   332,   -50,   238,   146,   147,   408,   333,
+   332,   401,   239,   240,   241,   259,   414,   283,   342,    90,
+   259,   259,   184,   185,   186,   187,   188,   189,   190,   191,
+   212,   213,   259,   216,   217,    91,   243,   259,   -24,   -24,
+   372,    92,   373,   -23,   -23,   259,   259,   259,    98,   264,
+    22,    23,    24,    25,   -22,   -22,   -21,   -21,    70,   149,
+   409,   218,   219,   145,   169,   281,   150,   170,   173,   179,
+   -28,   -27,   -26,   -25,    70,   282,   177,   318,   -31,   -32,
+   221,   222,   247,   248,   325,   265,   267,   270,   271,   272,
+   241,   273,   274,   329,   330,   331,   275,   276,   280,   284,
+   303,   294,   259,   336,   337,   338,   339,   285,   259,   286,
+   316,   287,   343,   344,   295,   296,   297,   298,   345,   259,
+   259,   304,   307,   308,   313,   322,   323,   347,   324,   328,
+   351,   301,   353,   360,   361,   317,   177,   319,   320,   321,
+   362,   357,   363,   177,   364,   365,   366,   388,   259,   311,
+   259,   380,   371,   374,   259,   376,   387,   377,   400,   395,
+   259,   259,   259,   389,   391,   404,   243,   405,   411,   382,
+   416,   383,   384,   385,   386,   192,   177,   193,   390,   393,
+   394,   259,   259,   396,   397,   261,   262,   398,   399,   259,
+   192,   358,   193,   412,   418,   413,   259,   263,   417,   420,
+   421,   425,   269,   406,   426,   136,   137,    78,   177,   138,
+   277,   278,   279,   -34,   259,    14,   177,    15,   139,   175,
+   177,    42,    89,   381,     4,   -34,   -34,   341,   237,    44,
+    20,    34,   350,   -34,   -34,   -34,   -34,   177,   259,   -34,
+    16,     0,   378,     0,   359,     0,     0,    17,     0,   259,
+     0,     0,     0,     0,   259,     0,     0,     0,   259,   259,
+     0,     0,     0,     0,     0,     0,     0,   309,     0,     0,
+     0,     0,     0,   315,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   326,   327,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,    63,     0,     0,    64,     0,
-     0,    65,     0,    66,   290,     0,     0,     0,   110,   111,
-   112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-   122,   123,   249,   250,     0,     0,   251,   226,     0,   227,
-   228,   131,   132,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   256,     0,     0,   252,   253,     0,     0,
-     0,     0,     0,     0,     0,     0,   254,   255,     0,     0,
+     0,    46,    47,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,   346,     0,   348,     0,     0,    14,   352,
+    15,     0,   223,     0,     0,   354,   355,   356,     0,     0,
+     0,     0,     0,   224,   225,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,   367,   368,     0,     0,
+     0,     0,     0,     0,   375,     0,     0,     0,     0,     0,
+     0,   379,     0,   110,   111,   112,   113,   114,   115,   116,
+   117,   118,   119,   120,   121,   122,   123,     0,     0,   392,
+     0,     0,   226,     0,   227,   228,   131,   132,     0,     0,
+     0,     0,     0,     0,     0,     0,   229,     0,     0,   230,
+     0,   231,     0,   407,   232,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   415,     0,     0,     0,     0,   419,
+     0,     0,     0,   422,   423,    46,    47,     0,    93,    49,
+    50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+    60,    61,    14,     0,    15,     0,    46,    47,     0,    93,
+   153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+   163,    60,    61,    14,    62,    15,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,    62,     0,   249,   250,    46,
+    47,   251,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,    14,     0,    15,     0,
+     0,   252,   253,     0,     0,     0,     0,    63,     0,     0,
+    64,   254,   255,    65,     0,    66,    94,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    63,     0,
+     0,    64,     0,     0,    65,     0,    66,   292,     0,     0,
+     0,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+   119,   120,   121,   122,   123,   249,   250,     0,     0,   251,
+   226,     0,   227,   228,   131,   132,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   256,     0,   252,
+   253,     0,     0,     0,     0,     0,     0,     0,     0,   254,
+   255,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   110,   111,   112,   113,
-   114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     0,     0,     0,     0,     0,   226,     0,   227,   228,   131,
-   132,     0,     0,     0,     0,     0,     0,     0,     0,    46,
-    47,   256,    93,    49,    50,    51,    52,    53,    54,    55,
-    56,    57,    58,    59,    60,    61,    14,     0,    15,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   174,     0,     0,     0,     0,     0,    46,    47,    62,    93,
-    49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-    59,    60,    61,    14,     0,    15,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   242,     0,     0,
-     0,     0,     0,     0,     0,    62,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    63,     0,     0,    64,     0,     0,    65,     0,    66,    46,
-    47,     0,    93,   153,   154,   155,   156,   157,   158,   159,
-   160,   161,   162,   163,    60,    61,    14,     0,    15,     0,
-     0,     0,     0,     0,     0,     0,     0,    63,     0,     0,
-    64,     0,     0,    65,     0,    66,    46,    47,    62,    93,
-    49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-    59,    60,    61,    14,     0,    15,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   303,     0,     0,
-     0,     0,     0,     0,     0,    62,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    63,     0,     0,    64,     0,   286,    65,     0,    66,     0,
-    46,    47,     0,    93,    49,    50,    51,    52,    53,    54,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   110,
+   111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+   121,   122,   123,     0,     0,     0,     0,     0,   226,     0,
+   227,   228,   131,   132,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,    46,    47,   256,    93,    49,    50,    51,
+    52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+    14,     0,    15,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   174,     0,     0,     0,     0,     0,
+    46,    47,    62,    93,    49,    50,    51,    52,    53,    54,
     55,    56,    57,    58,    59,    60,    61,    14,     0,    15,
-     0,     0,     0,     0,     0,     0,     0,    63,     0,     0,
-    64,   339,     0,    65,     0,    66,     0,    46,    47,    62,
-    48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-    58,    59,    60,    61,    14,     0,    15,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    62,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
-    46,    47,     0,    93,    49,    50,    51,    52,    53,    54,
-    55,    56,    57,    58,    59,    60,    61,    14,     0,    15,
-     0,     0,     0,     0,     0,     0,     0,     0,    63,     0,
-     0,    64,     0,     0,    65,     0,    66,    46,    47,    62,
+     0,   242,     0,     0,     0,     0,     0,    46,    47,    62,
     93,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-   162,   163,    60,    61,    14,     0,    15,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    62,     0,     0,     0,
+   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,    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,   305,     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,   288,    65,     0,    66,     0,     0,
+     0,     0,   340,     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,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    62,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
-    46,    47,     0,   180,    49,    50,    51,    52,    53,    54,
-    55,    56,    57,    58,    59,    60,    61,    14,     0,    15,
-     0,   100,     0,     0,     0,     0,     0,     0,    63,     0,
-     0,    64,   101,     0,    65,     0,    66,     0,     0,    62,
-     0,     0,   102,   103,     0,     0,     0,     0,   104,   105,
-   106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-   116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-   126,     0,     0,   127,   128,   129,   130,   131,   132,   133,
-   134,   135,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    63,     0,     0,    64,     0,     0,    65,     0,    66
+     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,   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
 };
 
 static const short yycheck[] = {    26,
-     2,    40,    23,   106,   101,    89,   106,   104,    15,    30,
-    29,    66,    15,    40,    10,    11,    12,    13,    14,    15,
-    16,    17,   230,   231,   387,   107,   101,    95,    30,   126,
-   403,   106,   129,   130,    23,     9,   133,   134,   135,     0,
-   413,   404,   139,    98,    95,   103,    53,    21,   256,   107,
-    53,    10,    11,    12,    13,    14,    15,    16,    17,   141,
-    97,    88,    32,    33,    25,   101,    68,    20,     4,   106,
-    31,   107,   101,   103,   101,    95,   106,   104,   107,    40,
-    41,    42,    43,    99,   105,   104,    95,    40,    41,    42,
-    43,   103,    22,    46,    24,   107,    95,   124,   125,   126,
-   127,   128,   129,   130,    97,   101,   133,   134,   135,   136,
-   137,   138,   139,    97,   169,   170,   213,   172,    57,    58,
-    59,    60,    51,    52,     5,     6,     4,     8,     9,    10,
-    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-    21,    22,   101,    24,    27,    28,   173,    10,    11,    12,
-    13,    14,    15,    16,    17,     4,   195,    48,    49,    50,
-    84,    85,   105,    44,   107,   105,     4,   107,   195,     3,
-     4,    24,   211,     4,   271,     3,     4,     3,     4,     3,
-     4,   278,     3,     4,   211,   212,   213,    24,   100,   100,
-    97,    55,   247,     4,     4,     4,     4,     4,   107,   283,
-   284,   285,     7,     7,     7,    98,   107,   107,   107,   293,
-   294,   295,   296,    99,    98,    96,    35,   107,    99,   107,
-   107,   102,   167,   104,   105,   107,    24,   107,    97,    97,
-    97,    24,   177,   107,   107,    97,    97,   182,   183,    97,
-    97,   243,   107,   270,   271,   272,   273,   274,   332,   194,
-    21,   278,   107,    99,   199,   107,   353,   107,    21,   107,
-   107,    97,   207,   208,   209,     4,     4,    97,   107,    35,
-    53,    98,   107,    98,   301,   107,   373,   361,   107,   363,
-   364,   365,   366,    53,   387,   312,    21,   387,    35,   107,
-   107,   107,   107,   107,   107,   107,     4,     4,    99,    21,
-   327,   404,   101,    98,   404,   107,    98,   107,    98,    98,
-    98,    98,   396,    98,    65,   101,   107,   344,    21,   264,
-    21,    21,     0,   268,     0,   107,   353,    18,    78,    78,
-   357,    30,    78,   360,   279,   280,    78,    98,    42,   301,
-    21,     2,   182,   183,   167,    13,   373,   312,   328,   357,
-    -1,    -1,    -1,    -1,   194,    -1,    -1,    -1,    -1,   199,
-    20,    -1,    22,   308,    24,   310,    -1,   207,   208,   209,
-   315,    31,    32,    33,    -1,    -1,   321,   322,   323,    -1,
-    40,    41,    42,    43,    -1,    -1,    46,    47,    -1,    -1,
-    -1,    -1,    -1,    -1,    54,    -1,    -1,   342,   343,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,
-    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   264,    -1,    -1,    -1,   268,    -1,
-   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   279,
-   280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   401,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,   414,
-   310,    -1,    -1,    -1,   419,   315,    -1,    -1,   423,   424,
-    -1,   321,   322,   323,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   342,   343,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,
-    -1,    -1,    -1,     5,     6,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
-    22,    -1,    24,    -1,    26,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    -1,    -1,
-    -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   414,    -1,    -1,    -1,    -1,   419,
-    -1,    -1,    -1,   423,   424,    67,    68,    69,    70,    71,
-    72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
-    -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90,    91,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,
-   102,    -1,   104,    -1,     5,     6,   108,     8,     9,    10,
-    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    44,     3,     4,     5,     6,     7,    -1,
+     2,   197,   388,   106,    40,   106,    23,    89,    15,    23,
+    29,     9,    15,    40,     0,   101,    30,   403,   104,    66,
+    48,    49,    50,    21,   107,    95,   230,   231,    30,    10,
+    11,    12,    13,    14,    15,    16,    17,    95,   104,    25,
+   126,   107,    20,   129,   130,    31,    53,   133,   134,   135,
+    53,    98,   256,   139,    40,    41,    42,    43,   141,    96,
+    95,    88,    40,    41,    42,    43,    68,    98,    46,   106,
+   102,    22,    95,    24,   101,   107,   107,   104,    10,    11,
+    12,    13,    14,    15,    16,    17,   105,    96,    96,    32,
+    33,     4,   106,   102,   100,    96,   104,   124,   125,   126,
+   127,   128,   129,   130,    95,   106,   133,   134,   135,   136,
+   137,   138,   139,    96,    98,   167,    51,    52,   402,   102,
+    96,   102,   169,   170,   171,   177,   410,   213,   104,     4,
+   182,   183,    10,    11,    12,    13,    14,    15,    16,    17,
+    84,    85,   194,    27,    28,     4,   173,   199,     3,     4,
+   346,     4,   348,     3,     4,   207,   208,   209,    98,   195,
+    57,    58,    59,    60,     3,     4,     3,     4,   195,     4,
+   102,     3,     4,    24,   101,   211,    24,   101,    98,    55,
+     4,     4,     4,     4,   211,   212,   213,   273,     7,     7,
+     4,     7,    96,    99,   280,    96,    96,   100,    96,    35,
+   247,    96,    96,   285,   286,   287,    96,    96,    96,    24,
+    96,    24,   264,   295,   296,   297,   298,    98,   270,    98,
+   100,    98,    21,    21,    98,    98,    98,    98,    98,   281,
+   282,    99,    96,    96,    96,    96,    96,     4,    96,    96,
+    96,   243,    96,    35,    96,   272,   273,   274,   275,   276,
+   332,    98,    96,   280,    96,    96,    96,   100,   310,    53,
+   312,    99,    96,    96,   316,    96,    96,   353,    21,    96,
+   322,   323,   324,    99,   102,    35,   303,   102,    21,   361,
+    21,   363,   364,   365,   366,   388,   313,   388,   374,    99,
+    99,   343,   344,    99,    99,   182,   183,    99,    99,   351,
+   403,   328,   403,    99,    65,    96,   358,   194,    96,    21,
+    21,     0,   199,   395,     0,    78,    78,    30,   345,    78,
+   207,   208,   209,    20,   376,    22,   353,    24,    78,    98,
+   357,    18,    42,   360,    31,    32,    33,   303,   167,    21,
+     2,    13,   313,    40,    41,    42,    43,   374,   400,    46,
+    47,    -1,   357,    -1,   329,    -1,    -1,    54,    -1,   411,
+    -1,    -1,    -1,    -1,   416,    -1,    -1,    -1,   420,   421,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,   264,    -1,    -1,
+    -1,    -1,    -1,   270,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,   281,   282,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    22,    -1,    24,    -1,    -1,    27,    28,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    99,    -1,
-    -1,   102,    -1,   104,   105,    -1,    -1,    -1,    67,    68,
-    69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-    79,    80,     3,     4,    -1,    -1,     7,    86,    -1,    88,
-    89,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   102,    -1,    -1,    27,    28,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    69,    70,
-    71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90,
-    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
-     6,   102,     8,     9,    10,    11,    12,    13,    14,    15,
-    16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    36,    -1,    -1,    -1,    -1,    -1,     5,     6,    44,     8,
+    -1,     5,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,   310,    -1,   312,    -1,    -1,    22,   316,
+    24,    -1,    26,    -1,    -1,   322,   323,   324,    -1,    -1,
+    -1,    -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,   343,   344,    -1,    -1,
+    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,    -1,    -1,
+    -1,   358,    -1,    67,    68,    69,    70,    71,    72,    73,
+    74,    75,    76,    77,    78,    79,    80,    -1,    -1,   376,
+    -1,    -1,    86,    -1,    88,    89,    90,    91,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,
+    -1,   105,    -1,   400,   108,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,   411,    -1,    -1,    -1,    -1,   416,
+    -1,    -1,    -1,   420,   421,     5,     6,    -1,     8,     9,
+    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+    20,    21,    22,    -1,    24,    -1,     5,     6,    -1,     8,
      9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
+    19,    20,    21,    22,    44,    24,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104,     5,
-     6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
-    16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
-    99,    -1,    -1,   102,    -1,   104,     5,     6,    44,     8,
-     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    44,    -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,    97,    -1,    -1,
+   100,    37,    38,   103,    -1,   105,   106,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,    -1,
+    -1,   100,    -1,    -1,   103,    -1,   105,   106,    -1,    -1,
+    -1,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+    76,    77,    78,    79,    80,     3,     4,    -1,    -1,     7,
+    86,    -1,    88,    89,    90,    91,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    27,
+    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
+    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    96,    -1,    -1,    99,    -1,   101,   102,    -1,   104,    -1,
-     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
+    -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,    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,    96,    -1,    -1,
-    99,    36,    -1,   102,    -1,   104,    -1,     5,     6,    44,
-     8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104,
-     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
-    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,
-    -1,    99,    -1,    -1,   102,    -1,   104,     5,     6,    44,
+    -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,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
+    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,    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,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104,
-     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
-    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
-    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,
-    -1,    99,    45,    -1,   102,    -1,   104,    -1,    -1,    44,
-    -1,    -1,    55,    56,    -1,    -1,    -1,    -1,    61,    62,
-    63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-    73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
-    83,    -1,    -1,    86,    87,    88,    89,    90,    91,    92,
-    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104
+    -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
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
 #line 3 "/usr/share/bison.simple"
@@ -2259,42 +2234,50 @@
                    yyval.UIntVal = yyvsp[0].UInt64Val;
                  ;
     break;}
+case 45:
+#line 1040 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.UIntVal = 0; ;
+    break;}
 case 46:
-#line 1045 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+#line 1041 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.UIntVal = yyvsp[0].UInt64Val; ;
     break;}
 case 48:
-#line 1046 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+    break;}
+case 50:
+#line 1051 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
     break;}
-case 49:
-#line 1048 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 51:
+#line 1053 "/Users/sabre/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 63:
-#line 1059 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 65:
+#line 1064 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(OpaqueType::get());
   ;
     break;}
-case 64:
-#line 1062 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 66:
+#line 1067 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
   ;
     break;}
-case 65:
-#line 1065 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 67:
+#line 1070 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {            // Named types are also simple types...
   yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal));
 ;
     break;}
-case 66:
-#line 1071 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 68:
+#line 1076 "/Users/sabre/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
@@ -2303,8 +2286,8 @@
     UR_OUT("New Upreference!\n");
   ;
     break;}
-case 67:
-#line 1078 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 69:
+#line 1083 "/Users/sabre/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(),
@@ -2318,15 +2301,15 @@
     delete yyvsp[-3].TypeVal;      // Delete the return type handle
   ;
     break;}
-case 68:
-#line 1090 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 70:
+#line 1095 "/Users/sabre/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 69:
-#line 1094 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 71:
+#line 1099 "/Users/sabre/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) {
@@ -2339,8 +2322,8 @@
      delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 70:
-#line 1105 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 72:
+#line 1110 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
@@ -2351,52 +2334,52 @@
     delete yyvsp[-1].TypeList;
   ;
     break;}
-case 71:
-#line 1114 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 73:
+#line 1119 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                  // Empty structure type?
     yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
   ;
     break;}
-case 72:
-#line 1117 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 74:
+#line 1122 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                             // Pointer type?
     yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 73:
-#line 1125 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 75:
+#line 1130 "/Users/sabre/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 74:
-#line 1129 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 76:
+#line 1134 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
   ;
     break;}
-case 76:
-#line 1135 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 78:
+#line 1140 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy);
   ;
     break;}
-case 77:
-#line 1138 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 79:
+#line 1143 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
   ;
     break;}
-case 78:
-#line 1141 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 80:
+#line 1146 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeList = new std::list<PATypeHolder>();
   ;
     break;}
-case 79:
-#line 1151 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 81:
+#line 1156 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());
     if (ATy == 0)
@@ -2423,8 +2406,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 80:
-#line 1176 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 82:
+#line 1181 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2439,8 +2422,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 81:
-#line 1189 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 83:
+#line 1194 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2470,8 +2453,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 82:
-#line 1217 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 84:
+#line 1222 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
     if (PTy == 0)
@@ -2498,8 +2481,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 83:
-#line 1242 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 85:
+#line 1247 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
     if (STy == 0)
@@ -2521,8 +2504,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 84:
-#line 1262 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 86:
+#line 1267 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
     if (STy == 0)
@@ -2536,8 +2519,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 85:
-#line 1274 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 87:
+#line 1279 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (PTy == 0)
@@ -2548,15 +2531,15 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 86:
-#line 1283 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 88:
+#line 1288 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 87:
-#line 1287 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 89:
+#line 1292 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (Ty == 0)
@@ -2617,8 +2600,8 @@
     delete yyvsp[-1].TypeVal;            // Free the type handle
   ;
     break;}
-case 88:
-#line 1346 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 90:
+#line 1351 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
       ThrowException("Mismatched types for constant expression!");
@@ -2626,8 +2609,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 89:
-#line 1352 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 91:
+#line 1357 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[-1].TypeVal->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -2636,44 +2619,44 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 90:
-#line 1360 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 92:
+#line 1365 "/Users/sabre/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 91:
-#line 1365 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 93:
+#line 1370 "/Users/sabre/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 92:
-#line 1370 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 94:
+#line 1375 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                      // Boolean constants
     yyval.ConstVal = ConstantBool::True;
   ;
     break;}
-case 93:
-#line 1373 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 95:
+#line 1378 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Boolean constants
     yyval.ConstVal = ConstantBool::False;
   ;
     break;}
-case 94:
-#line 1376 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 96:
+#line 1381 "/Users/sabre/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 95:
-#line 1383 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 97:
+#line 1388 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())
       ThrowException("cast constant expression from a non-primitive type: '" +
@@ -2685,8 +2668,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 96:
-#line 1393 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 98:
+#line 1398 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
       ThrowException("GetElementPtr requires a pointer operand!");
@@ -2719,8 +2702,8 @@
     yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec);
   ;
     break;}
-case 97:
-#line 1424 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 99:
+#line 1429 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)
       ThrowException("Select condition must be of boolean type!");
@@ -2729,8 +2712,8 @@
     yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 98:
-#line 1431 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 100:
+#line 1436 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Binary operator types must match!");
@@ -2753,8 +2736,8 @@
     }
   ;
     break;}
-case 99:
-#line 1452 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 101:
+#line 1457 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Logical operator types must match!");
@@ -2763,16 +2746,16 @@
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 100:
-#line 1459 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 102:
+#line 1464 "/Users/sabre/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 101:
-#line 1464 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 103:
+#line 1469 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-1].ConstVal->getType() != Type::UByteTy)
       ThrowException("Shift count for shift constant must be unsigned byte!");
@@ -2781,55 +2764,55 @@
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 102:
-#line 1474 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 104:
+#line 1479 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
   ;
     break;}
-case 103:
-#line 1477 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 105:
+#line 1482 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVector = new std::vector<Constant*>();
     yyval.ConstVector->push_back(yyvsp[0].ConstVal);
   ;
     break;}
-case 104:
-#line 1484 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 106:
+#line 1489 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = false; ;
     break;}
-case 105:
-#line 1484 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 107:
+#line 1489 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = true; ;
     break;}
-case 106:
-#line 1494 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 108:
+#line 1499 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;
   CurModule.ModuleDone();
 ;
     break;}
-case 107:
-#line 1501 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 109:
+#line 1506 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
     CurFun.FunctionDone();
   ;
     break;}
-case 108:
-#line 1505 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 110:
+#line 1510 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
-case 109:
-#line 1508 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 111:
+#line 1513 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
-case 110:
-#line 1511 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 112:
+#line 1516 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -2842,8 +2825,8 @@
     }
   ;
     break;}
-case 111:
-#line 1524 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 113:
+#line 1529 "/Users/sabre/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:
@@ -2865,56 +2848,56 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 112:
-#line 1544 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 114:
+#line 1549 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {       // Function prototypes can be in const pool
   ;
     break;}
-case 113:
-#line 1546 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 115:
+#line 1551 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
     ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
   ;
     break;}
-case 114:
-#line 1550 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 116:
+#line 1555 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 115:
-#line 1554 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 117:
+#line 1559 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
-case 116:
-#line 1556 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 118:
+#line 1561 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   ;
     break;}
-case 117:
-#line 1558 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 119:
+#line 1563 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
-case 118:
-#line 1563 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 120:
+#line 1568 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::BigEndian; ;
     break;}
-case 119:
-#line 1564 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 121:
+#line 1569 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::LittleEndian; ;
     break;}
-case 120:
-#line 1566 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 122:
+#line 1571 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
   ;
     break;}
-case 121:
-#line 1569 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 123:
+#line 1574 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UInt64Val == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -2924,89 +2907,89 @@
       ThrowException("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!");
   ;
     break;}
-case 122:
-#line 1577 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 124:
+#line 1582 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
     free(yyvsp[0].StrVal);
   ;
     break;}
-case 124:
-#line 1584 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 126:
+#line 1589 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
         ;
     break;}
-case 125:
-#line 1588 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 127:
+#line 1593 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
         ;
     break;}
-case 126:
-#line 1592 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 128:
+#line 1597 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
         ;
     break;}
-case 130:
-#line 1601 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 132:
+#line 1606 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = 0; ;
     break;}
-case 131:
-#line 1603 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 133:
+#line 1608 "/Users/sabre/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 132:
-#line 1609 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 134:
+#line 1614 "/Users/sabre/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 133:
-#line 1614 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 135:
+#line 1619 "/Users/sabre/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 134:
-#line 1620 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 136:
+#line 1625 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[0].ArgList;
   ;
     break;}
-case 135:
-#line 1623 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 137:
+#line 1628 "/Users/sabre/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 136:
-#line 1628 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 138:
+#line 1633 "/Users/sabre/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 137:
-#line 1632 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 139:
+#line 1637 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = 0;
   ;
     break;}
-case 138:
-#line 1636 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 140:
+#line 1641 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   UnEscapeLexed(yyvsp[-3].StrVal);
   std::string FunctionName(yyvsp[-3].StrVal);
@@ -3087,8 +3070,8 @@
   }
 ;
     break;}
-case 141:
-#line 1718 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 143:
+#line 1723 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
 
@@ -3097,67 +3080,67 @@
   yyval.FunctionVal->setLinkage(yyvsp[-2].Linkage);
 ;
     break;}
-case 144:
-#line 1728 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 146:
+#line 1733 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = yyvsp[-1].FunctionVal;
 ;
     break;}
-case 145:
-#line 1732 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 147:
+#line 1737 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { CurFun.isDeclare = true; ;
     break;}
-case 146:
-#line 1732 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 148:
+#line 1737 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
   CurFun.FunctionDone();
 ;
     break;}
-case 147:
-#line 1741 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 149:
+#line 1746 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // A reference to a direct constant
     yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
   ;
     break;}
-case 148:
-#line 1744 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 150:
+#line 1749 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
   ;
     break;}
-case 149:
-#line 1747 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 151:
+#line 1752 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Perhaps it's an FP constant?
     yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
   ;
     break;}
-case 150:
-#line 1750 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 152:
+#line 1755 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::True);
   ;
     break;}
-case 151:
-#line 1753 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 153:
+#line 1758 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::False);
   ;
     break;}
-case 152:
-#line 1756 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 154:
+#line 1761 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createNull();
   ;
     break;}
-case 153:
-#line 1759 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 155:
+#line 1764 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createUndef();
   ;
     break;}
-case 154:
-#line 1762 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 156:
+#line 1767 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized packed vector
     const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
     int NumElements = yyvsp[-1].ConstVector->size(); 
@@ -3183,44 +3166,44 @@
     delete PTy; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 155:
-#line 1786 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 157:
+#line 1791 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
   ;
     break;}
-case 156:
-#line 1793 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 158:
+#line 1798 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {  // Is it an integer reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
   ;
     break;}
-case 157:
-#line 1796 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 159:
+#line 1801 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Is it a named reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
   ;
     break;}
-case 160:
-#line 1807 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 162:
+#line 1812 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 161:
-#line 1811 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 163:
+#line 1816 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
-case 162:
-#line 1814 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 164:
+#line 1819 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Do not allow functions with 0 basic blocks   
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
-case 163:
-#line 1822 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 165:
+#line 1827 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
     InsertValue(yyvsp[0].TermInstVal);
@@ -3230,15 +3213,15 @@
     yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal;
   ;
     break;}
-case 164:
-#line 1831 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 166:
+#line 1836 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);
     yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal;
   ;
     break;}
-case 165:
-#line 1835 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 167:
+#line 1840 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
 
@@ -3250,8 +3233,8 @@
     BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
   ;
     break;}
-case 166:
-#line 1845 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 168:
+#line 1850 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);
 
@@ -3263,32 +3246,32 @@
     BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
   ;
     break;}
-case 167:
-#line 1856 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 169:
+#line 1861 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {              // Return with a result...
     yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
   ;
     break;}
-case 168:
-#line 1859 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 170:
+#line 1864 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                       // Return with no result...
     yyval.TermInstVal = new ReturnInst();
   ;
     break;}
-case 169:
-#line 1862 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 171:
+#line 1867 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                         // Unconditional Branch...
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal));
   ;
     break;}
-case 170:
-#line 1865 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 172:
+#line 1870 "/Users/sabre/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 171:
-#line 1868 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 173:
+#line 1873 "/Users/sabre/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;
@@ -3304,15 +3287,15 @@
     delete yyvsp[-1].JumpTable;
   ;
     break;}
-case 172:
-#line 1882 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 174:
+#line 1887 "/Users/sabre/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 173:
-#line 1887 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 175:
+#line 1892 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3366,20 +3349,20 @@
     delete yyvsp[-7].ValueList;
   ;
     break;}
-case 174:
-#line 1939 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 176:
+#line 1944 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnwindInst();
   ;
     break;}
-case 175:
-#line 1942 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 177:
+#line 1947 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnreachableInst();
   ;
     break;}
-case 176:
-#line 1948 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 178:
+#line 1953 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = yyvsp[-5].JumpTable;
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3389,8 +3372,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal)));
   ;
     break;}
-case 177:
-#line 1956 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 179:
+#line 1961 "/Users/sabre/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));
@@ -3401,8 +3384,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal)));
   ;
     break;}
-case 178:
-#line 1966 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 180:
+#line 1971 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   // Is this definition named?? if so, assign the name...
   setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
@@ -3410,54 +3393,54 @@
   yyval.InstVal = yyvsp[0].InstVal;
 ;
     break;}
-case 179:
-#line 1973 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 181:
+#line 1978 "/Users/sabre/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 180:
-#line 1978 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 182:
+#line 1983 "/Users/sabre/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 181:
-#line 1985 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 183:
+#line 1990 "/Users/sabre/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 182:
-#line 1989 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 184:
+#line 1994 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueList = yyvsp[-2].ValueList;
     yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal);
   ;
     break;}
-case 184:
-#line 1995 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 186:
+#line 2000 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ValueList = 0; ;
     break;}
-case 185:
-#line 1997 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 187:
+#line 2002 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
   ;
     break;}
-case 186:
-#line 2000 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 188:
+#line 2005 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
   ;
     break;}
-case 187:
-#line 2006 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 189:
+#line 2011 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && 
         !isa<PackedType>((*yyvsp[-3].TypeVal).get()))
@@ -3471,8 +3454,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 188:
-#line 2018 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 190:
+#line 2023 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isIntegral())
       ThrowException("Logical operator requires integral operands!");
@@ -3482,8 +3465,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 189:
-#line 2026 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 191:
+#line 2031 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {
       ThrowException(
@@ -3495,8 +3478,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 190:
-#line 2036 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 192:
+#line 2041 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -3510,8 +3493,8 @@
       ThrowException("Could not create a xor instruction!");
   ;
     break;}
-case 191:
-#line 2048 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 193:
+#line 2053 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].ValueVal->getType() != Type::UByteTy)
       ThrowException("Shift amount must be ubyte!");
@@ -3520,8 +3503,8 @@
     yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
   ;
     break;}
-case 192:
-#line 2055 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 194:
+#line 2060 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[0].TypeVal->get()->isFirstClassType())
       ThrowException("cast instruction to a non-primitive type: '" +
@@ -3530,8 +3513,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 193:
-#line 2062 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 195:
+#line 2067 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)
       ThrowException("select condition must be boolean!");
@@ -3540,16 +3523,16 @@
     yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
   ;
     break;}
-case 194:
-#line 2069 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 196:
+#line 2074 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     NewVarArgs = true;
     yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 195:
-#line 2074 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 197:
+#line 2079 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3570,8 +3553,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 196:
-#line 2093 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 198:
+#line 2098 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3595,8 +3578,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 197:
-#line 2115 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 199:
+#line 2120 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[0].PHIList->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -3612,8 +3595,8 @@
     delete yyvsp[0].PHIList;  // Free the list...
   ;
     break;}
-case 198:
-#line 2129 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 200:
+#line 2134 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3672,115 +3655,87 @@
     delete yyvsp[-1].ValueList;
   ;
     break;}
-case 199:
-#line 2186 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 201:
+#line 2191 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = yyvsp[0].InstVal;
   ;
     break;}
-case 200:
-#line 2192 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 202:
+#line 2197 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = yyvsp[0].ValueList; 
   ;
     break;}
-case 201:
-#line 2194 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 203:
+#line 2199 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = new std::vector<Value*>(); 
   ;
     break;}
-case 202:
-#line 2198 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = true;
-  ;
-    break;}
-case 203:
-#line 2201 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    yyval.BoolVal = false;
-  ;
-    break;}
 case 204:
-#line 2207 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2203 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    yyval.InstVal = new MallocInst(*yyvsp[0].TypeVal);
-    delete yyvsp[0].TypeVal;
+    yyval.BoolVal = true;
   ;
     break;}
 case 205:
-#line 2211 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2206 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
-      ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
-                     "' is not a power of 2!");
-    yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val);
-    delete yyvsp[-3].TypeVal;
+    yyval.BoolVal = false;
   ;
     break;}
 case 206:
-#line 2218 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2212 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));
-    delete yyvsp[-3].TypeVal;
+  if (yyvsp[0].UIntVal & (yyvsp[0].UIntVal-1))
+    ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
+                   "' is not a power of 2!");
+    yyval.InstVal = new MallocInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);
+    delete yyvsp[-1].TypeVal;
   ;
     break;}
 case 207:
-#line 2222 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2219 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
-      ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
+    if (yyvsp[0].UIntVal & (yyvsp[0].UIntVal-1))
+      ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
                      "' is not a power of 2!");
-    yyval.InstVal = new MallocInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val);
-    delete yyvsp[-6].TypeVal;
+    yyval.InstVal = new MallocInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);
+    delete yyvsp[-4].TypeVal;
   ;
     break;}
 case 208:
-#line 2229 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2226 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    yyval.InstVal = new AllocaInst(*yyvsp[0].TypeVal);
-    delete yyvsp[0].TypeVal;
+    if (yyvsp[0].UIntVal & (yyvsp[0].UIntVal-1))
+      ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
+                     "' is not a power of 2!");
+    yyval.InstVal = new AllocaInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);
+    delete yyvsp[-1].TypeVal;
   ;
     break;}
 case 209:
 #line 2233 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
-      ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
+    if (yyvsp[0].UIntVal & (yyvsp[0].UIntVal-1))
+      ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
                      "' is not a power of 2!");
-    yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val);
-    delete yyvsp[-3].TypeVal;
+    yyval.InstVal = new AllocaInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);
+    delete yyvsp[-4].TypeVal;
   ;
     break;}
 case 210:
 #line 2240 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));
-    delete yyvsp[-3].TypeVal;
-  ;
-    break;}
-case 211:
-#line 2244 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
-      ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
-                     "' is not a power of 2!");
-    yyval.InstVal = new AllocaInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val);
-    delete yyvsp[-6].TypeVal;
-  ;
-    break;}
-case 212:
-#line 2251 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
     if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
       ThrowException("Trying to free nonpointer type " + 
                      yyvsp[0].ValueVal->getType()->getDescription() + "!");
     yyval.InstVal = new FreeInst(yyvsp[0].ValueVal);
   ;
     break;}
-case 213:
-#line 2258 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 211:
+#line 2247 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
       ThrowException("Can't load from nonpointer type: " +
@@ -3792,8 +3747,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 214:
-#line 2268 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 212:
+#line 2257 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (!PT)
@@ -3808,8 +3763,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 215:
-#line 2281 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 213:
+#line 2270 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
       ThrowException("getelementptr insn requires pointer operand!");
@@ -4054,7 +4009,7 @@
     }
   return 1;
 }
-#line 2304 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2293 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 
 int yyerror(const char *ErrorMsg) {
   std::string where 






More information about the llvm-commits mailing list