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

Chris Lattner lattner at cs.uiuc.edu
Sat Nov 12 10:22:50 PST 2005



Changes in directory llvm/lib/AsmParser:

llvmAsmParser.cpp updated: 1.24 -> 1.25
---
Log message:

regenerate


---
Diffs of the changes:  (+839 -826)

 llvmAsmParser.cpp | 1644 +++++++++++++++++++++++++++---------------------------
 1 files changed, 839 insertions(+), 805 deletions(-)


Index: llvm/lib/AsmParser/llvmAsmParser.cpp
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp:1.24 llvm/lib/AsmParser/llvmAsmParser.cpp:1.25
--- llvm/lib/AsmParser/llvmAsmParser.cpp:1.24	Fri Nov 11 18:11:48 2005
+++ llvm/lib/AsmParser/llvmAsmParser.cpp	Sat Nov 12 12:22:38 2005
@@ -1,5 +1,5 @@
 
-/*  A Bison parser, made from /Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y
+/*  A Bison parser, made from /Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y
     by GNU Bison version 1.28  */
 
 #define YYBISON 1  /* Identify Bison output.  */
@@ -105,7 +105,7 @@
 #define	VAARG_old	348
 #define	VANEXT_old	349
 
-#line 14 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -145,7 +145,8 @@
 
 static bool ObsoleteVarArgs;
 static bool NewVarArgs;
-static BasicBlock* CurBB;
+static BasicBlock *CurBB;
+static GlobalVariable *CurGV;
 
 
 // This contains info used when building the body of a function.  It is
@@ -610,13 +611,10 @@
 
 /// ParseGlobalVariable - Handle parsing of a global.  If Initializer is null,
 /// this is a declaration, otherwise it is a definition.
-static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage,
-                                bool isConstantGlobal, const Type *Ty,
-                                Constant *Initializer, char *Section,
-                                unsigned Align) {
-  if (Align != 0 && !isPowerOf2_32(Align))
-    ThrowException("Global alignment must be a power of two!");
-  
+static GlobalVariable *
+ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage,
+                    bool isConstantGlobal, const Type *Ty,
+                    Constant *Initializer) {
   if (isa<FunctionType>(Ty))
     ThrowException("Cannot declare global vars of function type!");
 
@@ -646,13 +644,8 @@
     GV->setInitializer(Initializer);
     GV->setLinkage(Linkage);
     GV->setConstant(isConstantGlobal);
-    GV->setAlignment(Align);
-    if (Section) {
-      free(Section);
-      GV->setSection(Section);
-    }
     InsertValue(GV, CurModule.Values);
-    return;
+    return GV;
   }
 
   // If this global has a name, check to see if there is already a definition
@@ -677,12 +670,7 @@
         if (isConstantGlobal)
           EGV->setConstant(true);
         EGV->setLinkage(Linkage);
-        EGV->setAlignment(Align);
-        if (Section) {
-          free(Section);
-          EGV->setSection(Section);
-        }
-        return;
+        return EGV;
       }
 
       ThrowException("Redefinition of global variable named '" + Name +
@@ -694,12 +682,8 @@
   GlobalVariable *GV =
     new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name,
                        CurModule.CurrentModule);
-  GV->setAlignment(Align);
-  if (Section) {
-    free(Section);
-    GV->setSection(Section);
-  }
   InsertValue(GV, CurModule.Values);
+  return GV;
 }
 
 // setTypeName - Set the specified type to the name given.  The name may be
@@ -977,7 +961,7 @@
 }
 
 
-#line 886 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 870 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 typedef union {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1027,11 +1011,11 @@
 
 
 
-#define	YYFINAL		439
+#define	YYFINAL		443
 #define	YYFLAG		-32768
 #define	YYNTBASE	110
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 176)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 179)
 
 static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1078,23 +1062,24 @@
     40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
     60,    62,    64,    67,    68,    70,    72,    74,    76,    77,
     78,    80,    82,    84,    87,    88,    91,    92,    96,    99,
-   100,   102,   103,   106,   108,   110,   112,   114,   116,   118,
-   120,   122,   124,   126,   128,   130,   132,   134,   136,   138,
-   140,   142,   144,   146,   148,   151,   156,   162,   168,   172,
-   175,   178,   180,   184,   186,   190,   192,   193,   198,   202,
-   206,   211,   216,   220,   223,   226,   229,   232,   235,   238,
-   241,   244,   247,   250,   257,   263,   272,   279,   286,   293,
-   300,   304,   306,   308,   310,   312,   315,   318,   321,   323,
-   328,   331,   339,   347,   351,   356,   357,   359,   361,   365,
-   369,   373,   377,   381,   383,   384,   386,   388,   390,   391,
-   394,   398,   400,   402,   406,   408,   409,   418,   420,   422,
-   426,   428,   430,   433,   434,   438,   440,   442,   444,   446,
-   448,   450,   452,   456,   458,   460,   462,   464,   466,   469,
-   472,   475,   479,   482,   483,   485,   488,   491,   495,   505,
-   515,   524,   538,   540,   542,   549,   555,   558,   565,   573,
-   575,   579,   581,   582,   585,   587,   593,   599,   605,   608,
-   613,   618,   625,   630,   635,   640,   643,   651,   653,   656,
-   657,   659,   660,   664,   671,   675,   682,   685,   690,   697
+   100,   102,   103,   107,   109,   112,   114,   116,   118,   120,
+   122,   124,   126,   128,   130,   132,   134,   136,   138,   140,
+   142,   144,   146,   148,   150,   152,   154,   157,   162,   168,
+   174,   178,   181,   184,   186,   190,   192,   196,   198,   199,
+   204,   208,   212,   217,   222,   226,   229,   232,   235,   238,
+   241,   244,   247,   250,   253,   256,   263,   269,   278,   285,
+   292,   299,   306,   310,   312,   314,   316,   318,   321,   324,
+   327,   329,   334,   337,   338,   346,   347,   355,   359,   364,
+   365,   367,   369,   373,   377,   381,   385,   389,   391,   392,
+   394,   396,   398,   399,   402,   406,   408,   410,   414,   416,
+   417,   426,   428,   430,   434,   436,   438,   441,   442,   446,
+   448,   450,   452,   454,   456,   458,   460,   464,   466,   468,
+   470,   472,   474,   477,   480,   483,   487,   490,   491,   493,
+   496,   499,   503,   513,   523,   532,   546,   548,   550,   557,
+   563,   566,   573,   581,   583,   587,   589,   590,   593,   595,
+   601,   607,   613,   616,   621,   626,   633,   638,   643,   648,
+   651,   659,   661,   664,   665,   667,   668,   672,   679,   683,
+   690,   693,   698,   705
 };
 
 static const short yyrhs[] = {     5,
@@ -1104,99 +1089,100 @@
      0,    80,     0,    81,     0,    91,     0,    92,     0,    16,
      0,    14,     0,    12,     0,    10,     0,    17,     0,    15,
      0,    13,     0,    11,     0,   116,     0,   117,     0,    18,
-     0,    19,     0,   146,    96,     0,     0,    41,     0,    42,
+     0,    19,     0,   149,    96,     0,     0,    41,     0,    42,
      0,    43,     0,    44,     0,     0,     0,    59,     0,    60,
      0,    61,     0,    58,     4,     0,     0,    54,     4,     0,
      0,    97,    54,     4,     0,    34,    24,     0,     0,   125,
-     0,     0,    97,   125,     0,   130,     0,     8,     0,   132,
-     0,     8,     0,   132,     0,     9,     0,    10,     0,    11,
-     0,    12,     0,    13,     0,    14,     0,    15,     0,    16,
-     0,    17,     0,    18,     0,    19,     0,    20,     0,    21,
-     0,    45,     0,   131,     0,   159,     0,    98,     4,     0,
-   129,    99,   134,   100,     0,   101,     4,   102,   132,   103,
-     0,   104,     4,   102,   132,   105,     0,   106,   133,   107,
-     0,   106,   107,     0,   132,   108,     0,   132,     0,   133,
-    97,   132,     0,   133,     0,   133,    97,    37,     0,    37,
-     0,     0,   130,   101,   137,   103,     0,   130,   101,   103,
-     0,   130,   109,    24,     0,   130,   104,   137,   105,     0,
-   130,   106,   137,   107,     0,   130,   106,   107,     0,   130,
-    38,     0,   130,    39,     0,   130,   159,     0,   130,   136,
-     0,   130,    26,     0,   116,   111,     0,   117,     4,     0,
-     9,    27,     0,     9,    28,     0,   119,     7,     0,    89,
-    99,   135,    36,   130,   100,     0,    87,    99,   135,   173,
-   100,     0,    90,    99,   135,    97,   135,    97,   135,   100,
-     0,   112,    99,   135,    97,   135,   100,     0,   113,    99,
-   135,    97,   135,   100,     0,   114,    99,   135,    97,   135,
-   100,     0,   115,    99,   135,    97,   135,   100,     0,   137,
-    97,   135,     0,   135,     0,    32,     0,    33,     0,   140,
-     0,   140,   155,     0,   140,   156,     0,   140,    25,     0,
-   141,     0,   141,   120,    20,   128,     0,   141,   156,     0,
-   141,   120,   121,   138,   135,   127,   124,     0,   141,   120,
-    47,   138,   130,   127,   124,     0,   141,    48,   143,     0,
-   141,    55,    96,   144,     0,     0,    53,     0,    52,     0,
-    50,    96,   142,     0,    51,    96,     4,     0,    49,    96,
-    24,     0,   101,   145,   103,     0,   145,    97,    24,     0,
-    24,     0,     0,    22,     0,    24,     0,   146,     0,     0,
-   130,   147,     0,   149,    97,   148,     0,   148,     0,   149,
-     0,   149,    97,    37,     0,    37,     0,     0,   122,   128,
-   146,    99,   150,   100,   126,   123,     0,    29,     0,   106,
-     0,   121,   151,   152,     0,    30,     0,   107,     0,   162,
-   154,     0,     0,    31,   157,   151,     0,     3,     0,     4,
-     0,     7,     0,    27,     0,    28,     0,    38,     0,    39,
-     0,   104,   137,   105,     0,   136,     0,   110,     0,   146,
-     0,   159,     0,   158,     0,   130,   160,     0,   162,   163,
-     0,   153,   163,     0,   164,   120,   165,     0,   164,   167,
-     0,     0,    23,     0,    62,   161,     0,    62,     8,     0,
-    63,    21,   160,     0,    63,     9,   160,    97,    21,   160,
-    97,    21,   160,     0,    64,   118,   160,    97,    21,   160,
-   101,   166,   103,     0,    64,   118,   160,    97,    21,   160,
-   101,   103,     0,    65,   122,   128,   160,    99,   170,   100,
-    36,    21,   160,    66,    21,   160,     0,    66,     0,    67,
-     0,   166,   118,   158,    97,    21,   160,     0,   118,   158,
-    97,    21,   160,     0,   120,   172,     0,   130,   101,   160,
-    97,   160,   103,     0,   168,    97,   101,   160,    97,   160,
-   103,     0,   161,     0,   169,    97,   161,     0,   169,     0,
-     0,    57,    56,     0,    56,     0,   112,   130,   160,    97,
-   160,     0,   113,   130,   160,    97,   160,     0,   114,   130,
-   160,    97,   160,     0,    46,   161,     0,   115,   161,    97,
-   161,     0,    89,   161,    36,   130,     0,    90,   161,    97,
-   161,    97,   161,     0,    93,   161,    97,   130,     0,    94,
-   161,    97,   130,     0,    95,   161,    97,   130,     0,    88,
-   168,     0,   171,   122,   128,   160,    99,   170,   100,     0,
-   175,     0,    97,   169,     0,     0,    35,     0,     0,    82,
-   130,   124,     0,    82,   130,    97,    15,   160,   124,     0,
-    83,   130,   124,     0,    83,   130,    97,    15,   160,   124,
-     0,    84,   161,     0,   174,    85,   130,   160,     0,   174,
-    86,   161,    97,   130,   160,     0,    87,   130,   160,   173,
-     0
+     0,     0,    97,   128,   127,     0,   125,     0,    54,     4,
+     0,   131,     0,     8,     0,   133,     0,     8,     0,   133,
+     0,     9,     0,    10,     0,    11,     0,    12,     0,    13,
+     0,    14,     0,    15,     0,    16,     0,    17,     0,    18,
+     0,    19,     0,    20,     0,    21,     0,    45,     0,   132,
+     0,   162,     0,    98,     4,     0,   130,    99,   135,   100,
+     0,   101,     4,   102,   133,   103,     0,   104,     4,   102,
+   133,   105,     0,   106,   134,   107,     0,   106,   107,     0,
+   133,   108,     0,   133,     0,   134,    97,   133,     0,   134,
+     0,   134,    97,    37,     0,    37,     0,     0,   131,   101,
+   138,   103,     0,   131,   101,   103,     0,   131,   109,    24,
+     0,   131,   104,   138,   105,     0,   131,   106,   138,   107,
+     0,   131,   106,   107,     0,   131,    38,     0,   131,    39,
+     0,   131,   162,     0,   131,   137,     0,   131,    26,     0,
+   116,   111,     0,   117,     4,     0,     9,    27,     0,     9,
+    28,     0,   119,     7,     0,    89,    99,   136,    36,   131,
+   100,     0,    87,    99,   136,   176,   100,     0,    90,    99,
+   136,    97,   136,    97,   136,   100,     0,   112,    99,   136,
+    97,   136,   100,     0,   113,    99,   136,    97,   136,   100,
+     0,   114,    99,   136,    97,   136,   100,     0,   115,    99,
+   136,    97,   136,   100,     0,   138,    97,   136,     0,   136,
+     0,    32,     0,    33,     0,   141,     0,   141,   158,     0,
+   141,   159,     0,   141,    25,     0,   142,     0,   142,   120,
+    20,   129,     0,   142,   159,     0,     0,   142,   120,   121,
+   139,   136,   143,   127,     0,     0,   142,   120,    47,   139,
+   131,   144,   127,     0,   142,    48,   146,     0,   142,    55,
+    96,   147,     0,     0,    53,     0,    52,     0,    50,    96,
+   145,     0,    51,    96,     4,     0,    49,    96,    24,     0,
+   101,   148,   103,     0,   148,    97,    24,     0,    24,     0,
+     0,    22,     0,    24,     0,   149,     0,     0,   131,   150,
+     0,   152,    97,   151,     0,   151,     0,   152,     0,   152,
+    97,    37,     0,    37,     0,     0,   122,   129,   149,    99,
+   153,   100,   126,   123,     0,    29,     0,   106,     0,   121,
+   154,   155,     0,    30,     0,   107,     0,   165,   157,     0,
+     0,    31,   160,   154,     0,     3,     0,     4,     0,     7,
+     0,    27,     0,    28,     0,    38,     0,    39,     0,   104,
+   138,   105,     0,   137,     0,   110,     0,   149,     0,   162,
+     0,   161,     0,   131,   163,     0,   165,   166,     0,   156,
+   166,     0,   167,   120,   168,     0,   167,   170,     0,     0,
+    23,     0,    62,   164,     0,    62,     8,     0,    63,    21,
+   163,     0,    63,     9,   163,    97,    21,   163,    97,    21,
+   163,     0,    64,   118,   163,    97,    21,   163,   101,   169,
+   103,     0,    64,   118,   163,    97,    21,   163,   101,   103,
+     0,    65,   122,   129,   163,    99,   173,   100,    36,    21,
+   163,    66,    21,   163,     0,    66,     0,    67,     0,   169,
+   118,   161,    97,    21,   163,     0,   118,   161,    97,    21,
+   163,     0,   120,   175,     0,   131,   101,   163,    97,   163,
+   103,     0,   171,    97,   101,   163,    97,   163,   103,     0,
+   164,     0,   172,    97,   164,     0,   172,     0,     0,    57,
+    56,     0,    56,     0,   112,   131,   163,    97,   163,     0,
+   113,   131,   163,    97,   163,     0,   114,   131,   163,    97,
+   163,     0,    46,   164,     0,   115,   164,    97,   164,     0,
+    89,   164,    36,   131,     0,    90,   164,    97,   164,    97,
+   164,     0,    93,   164,    97,   131,     0,    94,   164,    97,
+   131,     0,    95,   164,    97,   131,     0,    88,   171,     0,
+   174,   122,   129,   163,    99,   173,   100,     0,   178,     0,
+    97,   172,     0,     0,    35,     0,     0,    82,   131,   124,
+     0,    82,   131,    97,    15,   163,   124,     0,    83,   131,
+   124,     0,    83,   131,    97,    15,   163,   124,     0,    84,
+   164,     0,   177,    85,   131,   163,     0,   177,    86,   164,
+    97,   131,   163,     0,    87,   131,   163,   176,     0
 };
 
 #endif
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-  1004,  1005,  1012,  1013,  1022,  1022,  1022,  1022,  1022,  1023,
-  1023,  1023,  1024,  1024,  1024,  1024,  1024,  1024,  1026,  1026,
-  1030,  1030,  1030,  1030,  1031,  1031,  1031,  1031,  1032,  1032,
-  1033,  1033,  1036,  1039,  1043,  1043,  1044,  1045,  1046,  1049,
-  1049,  1050,  1051,  1052,  1061,  1061,  1063,  1063,  1066,  1073,
-  1073,  1075,  1075,  1086,  1086,  1087,  1087,  1089,  1098,  1098,
-  1098,  1098,  1098,  1098,  1098,  1099,  1099,  1099,  1099,  1099,
-  1099,  1100,  1103,  1106,  1112,  1119,  1131,  1135,  1146,  1155,
-  1158,  1166,  1170,  1175,  1176,  1179,  1182,  1192,  1217,  1230,
-  1258,  1283,  1303,  1315,  1324,  1328,  1387,  1393,  1401,  1406,
-  1411,  1414,  1417,  1424,  1434,  1465,  1472,  1493,  1500,  1505,
-  1515,  1518,  1525,  1525,  1535,  1542,  1546,  1549,  1552,  1565,
-  1585,  1587,  1591,  1595,  1597,  1599,  1604,  1605,  1607,  1610,
-  1618,  1623,  1625,  1629,  1633,  1641,  1641,  1642,  1642,  1644,
-  1650,  1655,  1661,  1664,  1669,  1673,  1677,  1765,  1765,  1767,
-  1775,  1775,  1777,  1781,  1781,  1790,  1793,  1796,  1799,  1802,
-  1805,  1808,  1811,  1835,  1842,  1845,  1850,  1850,  1856,  1860,
-  1863,  1871,  1880,  1884,  1894,  1905,  1908,  1911,  1914,  1917,
-  1931,  1935,  1988,  1991,  1997,  2005,  2015,  2022,  2027,  2034,
-  2038,  2044,  2044,  2046,  2049,  2055,  2067,  2075,  2085,  2097,
-  2104,  2111,  2118,  2123,  2142,  2164,  2178,  2235,  2241,  2243,
-  2247,  2250,  2256,  2263,  2270,  2277,  2284,  2291,  2301,  2314
+   988,   989,   996,   997,  1006,  1006,  1006,  1006,  1006,  1007,
+  1007,  1007,  1008,  1008,  1008,  1008,  1008,  1008,  1010,  1010,
+  1014,  1014,  1014,  1014,  1015,  1015,  1015,  1015,  1016,  1016,
+  1017,  1017,  1020,  1023,  1027,  1027,  1028,  1029,  1030,  1033,
+  1033,  1034,  1035,  1036,  1045,  1045,  1051,  1051,  1059,  1066,
+  1066,  1072,  1072,  1074,  1078,  1089,  1089,  1090,  1090,  1092,
+  1101,  1101,  1101,  1101,  1101,  1101,  1101,  1102,  1102,  1102,
+  1102,  1102,  1102,  1103,  1106,  1109,  1115,  1122,  1134,  1138,
+  1149,  1158,  1161,  1169,  1173,  1178,  1179,  1182,  1185,  1195,
+  1220,  1233,  1261,  1286,  1306,  1318,  1327,  1331,  1390,  1396,
+  1404,  1409,  1414,  1417,  1420,  1427,  1437,  1468,  1475,  1496,
+  1503,  1508,  1518,  1521,  1528,  1528,  1538,  1545,  1549,  1552,
+  1555,  1568,  1588,  1590,  1593,  1596,  1600,  1603,  1605,  1607,
+  1612,  1613,  1615,  1618,  1626,  1631,  1633,  1637,  1641,  1649,
+  1649,  1650,  1650,  1652,  1658,  1663,  1669,  1672,  1677,  1681,
+  1685,  1771,  1771,  1773,  1781,  1781,  1783,  1787,  1787,  1796,
+  1799,  1802,  1805,  1808,  1811,  1814,  1817,  1841,  1848,  1851,
+  1856,  1856,  1862,  1866,  1869,  1877,  1886,  1890,  1900,  1911,
+  1914,  1917,  1920,  1923,  1937,  1941,  1994,  1997,  2003,  2011,
+  2021,  2028,  2033,  2040,  2044,  2050,  2050,  2052,  2055,  2061,
+  2073,  2081,  2091,  2103,  2110,  2117,  2124,  2129,  2148,  2170,
+  2184,  2241,  2247,  2249,  2253,  2256,  2262,  2266,  2270,  2274,
+  2278,  2285,  2295,  2308
 };
 #endif
 
@@ -1218,14 +1204,15 @@
 "'x'","']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps",
 "LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType",
 "OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","SectionString",
-"OptSection","OptCSection","TypesV","UpRTypesV","Types","PrimType","UpRTypes",
-"TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType",
-"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition",
-"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN",
-"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef",
-"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst",
-"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal",
-"IndexList","OptVolatile","MemoryInst", NULL
+"OptSection","GlobalVarAttributes","GlobalVarAttribute","TypesV","UpRTypesV",
+"Types","PrimType","UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr",
+"ConstVector","GlobalType","Module","FunctionList","ConstPool","@1","@2","BigOrLittle",
+"TargetDefinition","LibrariesDefinition","LibList","Name","OptName","ArgVal",
+"ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader","END","Function",
+"FunctionProto","@3","ConstValueRef","SymbolicValueRef","ValueRef","ResolvedVal",
+"BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst","JumpTable",
+"Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal","IndexList",
+"OptVolatile","MemoryInst", NULL
 };
 #endif
 
@@ -1235,23 +1222,24 @@
    116,   116,   116,   116,   117,   117,   117,   117,   118,   118,
    119,   119,   120,   120,   121,   121,   121,   121,   121,   122,
    122,   122,   122,   122,   123,   123,   124,   124,   125,   126,
-   126,   127,   127,   128,   128,   129,   129,   130,   131,   131,
-   131,   131,   131,   131,   131,   131,   131,   131,   131,   131,
-   131,   132,   132,   132,   132,   132,   132,   132,   132,   132,
-   132,   133,   133,   134,   134,   134,   134,   135,   135,   135,
-   135,   135,   135,   135,   135,   135,   135,   135,   135,   135,
-   135,   135,   135,   136,   136,   136,   136,   136,   136,   136,
-   137,   137,   138,   138,   139,   140,   140,   140,   140,   141,
-   141,   141,   141,   141,   141,   141,   142,   142,   143,   143,
-   143,   144,   145,   145,   145,   146,   146,   147,   147,   148,
-   149,   149,   150,   150,   150,   150,   151,   152,   152,   153,
-   154,   154,   155,   157,   156,   158,   158,   158,   158,   158,
-   158,   158,   158,   158,   159,   159,   160,   160,   161,   162,
-   162,   163,   164,   164,   164,   165,   165,   165,   165,   165,
-   165,   165,   165,   165,   166,   166,   167,   168,   168,   169,
-   169,   170,   170,   171,   171,   172,   172,   172,   172,   172,
-   172,   172,   172,   172,   172,   172,   172,   172,   173,   173,
-   174,   174,   175,   175,   175,   175,   175,   175,   175,   175
+   126,   127,   127,   128,   128,   129,   129,   130,   130,   131,
+   132,   132,   132,   132,   132,   132,   132,   132,   132,   132,
+   132,   132,   132,   133,   133,   133,   133,   133,   133,   133,
+   133,   133,   133,   134,   134,   135,   135,   135,   135,   136,
+   136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
+   136,   136,   136,   136,   136,   137,   137,   137,   137,   137,
+   137,   137,   138,   138,   139,   139,   140,   141,   141,   141,
+   141,   142,   142,   143,   142,   144,   142,   142,   142,   142,
+   145,   145,   146,   146,   146,   147,   148,   148,   148,   149,
+   149,   150,   150,   151,   152,   152,   153,   153,   153,   153,
+   154,   155,   155,   156,   157,   157,   158,   160,   159,   161,
+   161,   161,   161,   161,   161,   161,   161,   161,   162,   162,
+   163,   163,   164,   165,   165,   166,   167,   167,   167,   168,
+   168,   168,   168,   168,   168,   168,   168,   168,   169,   169,
+   170,   171,   171,   172,   172,   173,   173,   174,   174,   175,
+   175,   175,   175,   175,   175,   175,   175,   175,   175,   175,
+   175,   175,   176,   176,   177,   177,   178,   178,   178,   178,
+   178,   178,   178,   178
 };
 
 static const short yyr2[] = {     0,
@@ -1260,391 +1248,396 @@
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     2,     0,     1,     1,     1,     1,     0,     0,
      1,     1,     1,     2,     0,     2,     0,     3,     2,     0,
-     1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
+     1,     0,     3,     1,     2,     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,     7,     7,     3,     4,     0,     1,     1,     3,     3,
-     3,     3,     3,     1,     0,     1,     1,     1,     0,     2,
-     3,     1,     1,     3,     1,     0,     8,     1,     1,     3,
-     1,     1,     2,     0,     3,     1,     1,     1,     1,     1,
-     1,     1,     3,     1,     1,     1,     1,     1,     2,     2,
-     2,     3,     2,     0,     1,     2,     2,     3,     9,     9,
-     8,    13,     1,     1,     6,     5,     2,     6,     7,     1,
-     3,     1,     0,     2,     1,     5,     5,     5,     2,     4,
-     4,     6,     4,     4,     4,     2,     7,     1,     2,     0,
-     1,     0,     3,     6,     3,     6,     2,     4,     6,     4
+     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,     0,     7,     0,     7,     3,     4,     0,
+     1,     1,     3,     3,     3,     3,     3,     1,     0,     1,
+     1,     1,     0,     2,     3,     1,     1,     3,     1,     0,
+     8,     1,     1,     3,     1,     1,     2,     0,     3,     1,
+     1,     1,     1,     1,     1,     1,     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[] = {   126,
-    39,   119,   118,   154,    35,    36,    37,    38,    40,   174,
-   116,   117,   174,   136,   137,     0,     0,    39,     0,   121,
-    40,     0,    41,    42,    43,     0,     0,   175,   171,    34,
-   151,   152,   153,   170,     0,     0,     0,   124,     0,     0,
-     0,     0,    33,   155,    44,     1,     2,    55,    59,    60,
-    61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-    71,    72,     0,     0,     0,     0,   165,     0,     0,    54,
-    73,    58,   166,    74,   148,   149,   150,   212,   173,     0,
-     0,     0,   135,   125,   120,   113,   114,     0,     0,    75,
-     0,     0,    57,    80,    82,     0,     0,    87,    81,   211,
-     0,   195,     0,     0,     0,     0,    40,   183,   184,     5,
+static const short yydefact[] = {   130,
+    39,   121,   120,   158,    35,    36,    37,    38,    40,   178,
+   118,   119,   178,   140,   141,     0,     0,    39,     0,   123,
+    40,     0,    41,    42,    43,     0,     0,   179,   175,    34,
+   155,   156,   157,   174,     0,     0,     0,   128,     0,     0,
+     0,     0,    33,   159,    44,     1,     2,    57,    61,    62,
+    63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+    73,    74,     0,     0,     0,     0,   169,     0,     0,    56,
+    75,    60,   170,    76,   152,   153,   154,   216,   177,     0,
+     0,     0,   139,   129,   122,   115,   116,     0,     0,    77,
+     0,     0,    59,    82,    84,     0,     0,    89,    83,   215,
+     0,   199,     0,     0,     0,     0,    40,   187,   188,     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,   172,
-    40,   187,     0,   208,   131,   128,   127,   129,   130,   134,
-     0,    52,    59,    60,    61,    62,    63,    64,    65,    66,
-    67,    68,    69,     0,     0,     0,     0,    52,     0,     0,
-     0,    79,   146,    86,    84,     0,     0,   199,   194,   177,
-   176,     0,     0,    24,    28,    23,    27,    22,    26,    21,
-    25,    29,    30,     0,     0,    47,    47,   217,     0,     0,
-   206,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   132,     0,    47,   101,   102,     3,
-     4,    99,   100,   103,    98,    94,    95,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,    97,    96,
-    47,    56,    56,    83,   145,   139,   142,   143,     0,     0,
-    76,   156,   157,   158,   159,   160,   161,   162,     0,   164,
-   168,   167,   169,     0,   178,     0,     0,     0,   213,     0,
-   215,   210,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   133,     0,    53,     0,
-   123,     0,     0,     0,    89,   112,     0,     0,    93,     0,
-    90,     0,     0,     0,     0,   122,    77,    78,   138,   140,
-     0,    50,    85,     0,     0,     0,     0,     0,     0,     0,
-     0,   220,     0,     0,   201,     0,   203,   204,   205,     0,
-     0,     0,   200,     0,   218,     0,    49,   210,     0,     0,
-     0,    88,    91,    92,     0,     0,     0,     0,   144,   141,
-    51,    45,   163,     0,     0,   193,    47,    48,    47,   190,
-   209,     0,     0,     0,   196,   197,   198,   193,     0,     0,
-     0,     0,   111,     0,     0,     0,     0,     0,   147,     0,
-     0,   192,     0,   214,   216,     0,     0,     0,   202,     0,
-   219,   105,     0,     0,     0,     0,     0,     0,    46,     0,
-     0,     0,   191,   188,     0,   207,   104,     0,   107,   108,
-   109,   110,     0,   181,     0,     0,     0,   189,     0,   179,
-     0,   180,     0,     0,   106,     0,     0,     0,     0,     0,
-     0,   186,     0,     0,   185,   182,     0,     0,     0
+    19,    20,     0,     0,     0,     0,     0,     0,     0,   176,
+    40,   191,     0,   212,   135,   132,   131,   133,   134,   138,
+     0,   126,    61,    62,    63,    64,    65,    66,    67,    68,
+    69,    70,    71,     0,     0,     0,     0,   124,     0,     0,
+     0,    81,   150,    88,    86,     0,     0,   203,   198,   181,
+   180,     0,     0,    24,    28,    23,    27,    22,    26,    21,
+    25,    29,    30,     0,     0,    47,    47,   221,     0,     0,
+   210,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   136,    52,   103,   104,     3,     4,
+   101,   102,   105,   100,    96,    97,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,    99,    98,    52,
+    58,    58,    85,   149,   143,   146,   147,     0,     0,    78,
+   160,   161,   162,   163,   164,   165,   166,     0,   168,   172,
+   171,   173,     0,   182,     0,     0,     0,   217,     0,   219,
+   214,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,   137,     0,   127,     0,     0,
+     0,    91,   114,     0,     0,    95,     0,    92,     0,     0,
+     0,     0,   125,    79,    80,   142,   144,     0,    50,    87,
+     0,     0,     0,     0,     0,     0,     0,     0,   224,     0,
+     0,   205,     0,   207,   208,   209,     0,     0,     0,   204,
+     0,   222,     0,     0,     0,    54,    52,   214,     0,     0,
+     0,    90,    93,    94,     0,     0,     0,     0,   148,   145,
+    51,    45,   167,     0,     0,   197,    47,    48,    47,   194,
+   213,     0,     0,     0,   200,   201,   202,   197,     0,    49,
+    55,    53,     0,     0,     0,   113,     0,     0,     0,     0,
+     0,   151,     0,     0,   196,     0,     0,   218,   220,     0,
+     0,     0,   206,     0,   223,   107,     0,     0,     0,     0,
+     0,     0,    46,     0,     0,     0,   195,   192,     0,   211,
+   106,     0,   109,   110,   111,   112,     0,   185,     0,     0,
+     0,   193,     0,   183,     0,   184,     0,     0,   108,     0,
+     0,     0,     0,     0,     0,   190,     0,     0,   189,   186,
+     0,     0,     0
 };
 
 static const short yydefgoto[] = {    67,
-   222,   235,   236,   237,   238,   164,   165,   194,   166,    18,
-     9,    26,   379,   269,   289,   352,   217,    68,    69,   167,
-    71,    72,    96,   176,   296,   260,   297,    88,   437,     1,
-     2,   148,    38,    84,   151,    73,   310,   247,   248,   249,
-    27,    77,    10,    33,    11,    12,    21,   261,    74,   263,
-   360,    13,    29,    30,   140,   416,    79,   201,   382,   383,
-   141,   142,   322,   143,   144
+   221,   234,   235,   236,   237,   164,   165,   194,   166,    18,
+     9,    26,   382,   268,   336,   352,   288,   337,    68,    69,
+   167,    71,    72,    96,   176,   293,   259,   294,    88,   441,
+     1,     2,   240,   216,   148,    38,    84,   151,    73,   307,
+   246,   247,   248,    27,    77,    10,    33,    11,    12,    21,
+   260,    74,   262,   360,    13,    29,    30,   140,   420,    79,
+   201,   385,   386,   141,   142,   319,   143,   144
 };
 
 static const short yypact[] = {-32768,
-    51,    94,-32768,-32768,-32768,-32768,-32768,-32768,    26,    -1,
--32768,-32768,   -18,-32768,-32768,    79,   -33,   111,    -5,-32768,
-    26,   113,-32768,-32768,-32768,   987,   -23,-32768,-32768,    66,
--32768,-32768,-32768,-32768,    19,    49,    52,-32768,    33,   987,
-    64,    64,-32768,-32768,-32768,-32768,-32768,    65,-32768,-32768,
+    43,   303,-32768,-32768,-32768,-32768,-32768,-32768,    71,    -3,
+-32768,-32768,    34,-32768,-32768,    86,   -30,    47,   -19,-32768,
+    71,    76,-32768,-32768,-32768,   994,   -25,-32768,-32768,    -6,
+-32768,-32768,-32768,-32768,   -14,    26,    37,-32768,    49,   994,
+    -1,    -1,-32768,-32768,-32768,-32768,-32768,    -4,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   161,   163,   169,   504,-32768,    66,    75,-32768,
--32768,   -78,-32768,-32768,-32768,-32768,-32768,  1102,-32768,   152,
-    53,   173,   154,-32768,-32768,-32768,-32768,  1007,  1051,-32768,
-    77,    78,-32768,-32768,   -78,   -74,    82,   744,-32768,-32768,
-  1007,-32768,   128,  1109,     4,   265,    26,-32768,-32768,-32768,
+-32768,-32768,   134,   153,   157,   511,-32768,    -6,    63,-32768,
+-32768,   -16,-32768,-32768,-32768,-32768,-32768,  1109,-32768,   139,
+    -5,   163,   144,-32768,-32768,-32768,-32768,  1014,  1058,-32768,
+    68,    69,-32768,-32768,   -16,   -90,    73,   751,-32768,-32768,
+  1014,-32768,   120,  1116,    51,   186,    71,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,  1007,  1007,  1007,  1007,  1007,  1007,  1007,
--32768,-32768,  1007,  1007,  1007,  1007,  1007,  1007,  1007,-32768,
-    26,-32768,    38,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   -59,    93,   105,   136,   187,   140,   188,   147,   189,   157,
-   190,   192,   193,   159,   191,   195,   402,    93,  1007,  1007,
-  1007,-32768,   782,-32768,   106,   104,   568,-32768,-32768,    65,
--32768,   568,   568,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,   568,   987,   108,   112,-32768,   568,   109,
-   114,   176,   116,   123,   124,   125,   568,   568,   568,   126,
-   987,  1007,  1007,   200,-32768,   194,   130,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   131,   133,   134,
-   846,  1051,   524,   201,   135,   137,   138,   139,-32768,-32768,
-   130,   -61,   -31,   -78,-32768,    66,-32768,   132,   142,   884,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1051,-32768,
--32768,-32768,-32768,   146,-32768,   148,   568,    -6,-32768,    -4,
--32768,   149,   568,   143,  1007,  1007,  1007,  1007,  1007,   150,
-   151,   164,  1007,   568,   568,   166,-32768,   211,-32768,   204,
--32768,  1051,  1051,  1051,-32768,-32768,   -24,   -79,-32768,   -73,
--32768,  1051,  1051,  1051,  1051,-32768,-32768,-32768,-32768,-32768,
-   949,   194,-32768,   -68,   233,   239,   165,   568,   261,   568,
-  1007,-32768,   170,   568,-32768,   171,-32768,-32768,-32768,   568,
-   568,   568,-32768,   167,-32768,  1007,-32768,   149,   235,   172,
-  1051,-32768,-32768,-32768,   175,   186,   196,   197,-32768,-32768,
--32768,   230,-32768,   568,   568,  1007,   130,-32768,   130,-32768,
-   203,   568,   205,  1007,-32768,-32768,-32768,  1007,   568,   198,
-  1007,  1051,-32768,  1051,  1051,  1051,  1051,   283,-32768,   206,
-   207,   203,   214,-32768,-32768,  1007,   212,   568,-32768,   218,
--32768,-32768,   223,   209,   224,   225,   226,   227,-32768,   280,
-    43,   268,-32768,-32768,   228,-32768,-32768,  1051,-32768,-32768,
--32768,-32768,   568,-32768,   647,    54,   307,-32768,   229,-32768,
-   236,-32768,   647,   568,-32768,   311,   237,   269,   568,   315,
-   316,-32768,   568,   568,-32768,-32768,   339,   340,-32768
+-32768,-32768,-32768,  1014,  1014,  1014,  1014,  1014,  1014,  1014,
+-32768,-32768,  1014,  1014,  1014,  1014,  1014,  1014,  1014,-32768,
+    71,-32768,   -15,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+    22,-32768,   116,   142,   173,   145,   174,   149,   175,   151,
+   176,   177,   181,   156,   179,   183,   409,-32768,  1014,  1014,
+  1014,-32768,   789,-32768,    84,    91,   575,-32768,-32768,    -4,
+-32768,   575,   575,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,   575,   994,    95,    96,-32768,   575,    93,
+   107,   172,   112,   113,   114,   115,   575,   575,   575,   117,
+   994,  1014,  1014,   189,-32768,   122,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,   123,   125,   126,   853,
+  1058,   531,   202,   128,   129,   131,   132,-32768,-32768,   122,
+    20,   -12,   -16,-32768,    -6,-32768,   136,   135,   891,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1058,-32768,-32768,
+-32768,-32768,   137,-32768,   141,   575,    -9,-32768,     4,-32768,
+   146,   575,   138,  1014,  1014,  1014,  1014,  1014,   147,   158,
+   161,  1014,   575,   575,   162,-32768,     5,-32768,  1058,  1058,
+  1058,-32768,-32768,    24,   -32,-32768,   -28,-32768,  1058,  1058,
+  1058,  1058,-32768,-32768,-32768,-32768,-32768,   956,   208,-32768,
+     0,   215,   233,   164,   575,   256,   575,  1014,-32768,   165,
+   575,-32768,   167,-32768,-32768,-32768,   575,   575,   575,-32768,
+   166,-32768,  1014,   237,   262,-32768,   122,   146,   231,   171,
+  1058,-32768,-32768,-32768,   178,   180,   182,   184,-32768,-32768,
+-32768,   216,-32768,   575,   575,  1014,   190,-32768,   190,-32768,
+   191,   575,   192,  1014,-32768,-32768,-32768,  1014,   575,-32768,
+-32768,-32768,   169,  1014,  1058,-32768,  1058,  1058,  1058,  1058,
+   269,-32768,   193,   197,   191,   199,   222,-32768,-32768,  1014,
+   200,   575,-32768,   205,-32768,-32768,   206,   211,   209,   213,
+   214,   217,-32768,   259,    11,   247,-32768,-32768,   221,-32768,
+-32768,  1058,-32768,-32768,-32768,-32768,   575,-32768,   654,    39,
+   281,-32768,   218,-32768,   223,-32768,   654,   575,-32768,   308,
+   234,   266,   575,   312,   316,-32768,   575,   575,-32768,-32768,
+   339,   340,-32768
 };
 
 static const short yypgoto[] = {-32768,
--32768,   263,   270,   271,   275,  -105,  -104,  -385,-32768,   317,
-   328,   -80,-32768,  -189,    42,-32768,   199,   -36,-32768,   -26,
--32768,   -49,   257,-32768,   -86,   202,  -213,   319,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,    13,-32768,    46,-32768,-32768,
-   338,-32768,-32768,-32768,-32768,   363,-32768,  -343,   -11,    32,
-   -94,-32768,   353,-32768,-32768,-32768,-32768,-32768,    47,     2,
--32768,-32768,    34,-32768,-32768
+-32768,   263,   265,   274,   276,  -105,  -104,  -390,-32768,   326,
+   342,   -78,-32768,  -184,    48,-32768,  -231,-32768,   -37,-32768,
+   -26,-32768,   -54,   264,-32768,   -84,   194,  -197,   321,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,     8,-32768,
+    60,-32768,-32768,   348,-32768,-32768,-32768,-32768,   368,-32768,
+  -301,   -43,    38,   -93,-32768,   358,-32768,-32768,-32768,-32768,
+-32768,    54,     7,-32768,-32768,    35,-32768,-32768
 };
 
 
-#define	YYLAST		1215
+#define	YYLAST		1222
 
 
 static const short yytable[] = {    70,
-   192,   193,   168,    85,    28,    75,   178,   271,   318,   181,
-   320,    31,   182,    70,    19,   415,    95,   341,   298,   300,
-   -56,    28,   171,   341,   183,   343,   195,   291,   341,    99,
-   423,   198,   172,   344,   202,   203,   353,   214,   204,   205,
-   206,   307,    19,   215,   210,   314,    99,   319,    95,   319,
-  -115,   306,   184,   185,   186,   187,   188,   189,   190,   191,
-   211,   152,    39,   184,   185,   186,   187,   188,   189,   190,
-   191,   421,   341,   308,   177,     3,    99,   177,   342,   427,
-    97,     4,    76,    22,    23,    24,    25,    14,    32,    15,
-    43,     5,     6,     7,     8,    86,    87,   196,   197,   177,
-   199,   200,   177,   177,   146,   147,   177,   177,   177,   207,
-   208,   209,   177,   -34,    80,    14,    45,    15,   286,   242,
-   243,   244,   212,   213,     4,   -34,   -34,    35,    36,    37,
-    40,   218,   219,    83,   -34,   -34,   -34,   -34,   -24,   -24,
-   -34,    16,   -23,   -23,    81,   414,   246,    82,    17,   -22,
-   -22,     5,     6,     7,     8,   240,   422,    41,   267,   -21,
-   -21,   220,   221,   -57,    90,   262,    91,   384,    70,   385,
-   262,   262,    92,    98,   284,   145,   149,   150,   169,   170,
-   173,   326,   262,   179,    70,   285,   177,   262,   333,   216,
-   -28,   -27,   -26,   -25,   223,   262,   262,   262,   -31,   -32,
-   244,   224,   250,   251,   268,   338,   339,   340,   270,   273,
-   274,   275,   276,   264,   265,   345,   346,   347,   348,   277,
-   278,   279,   283,   287,   301,   266,   290,   288,   311,   292,
-   272,   293,   294,   302,   337,   303,   304,   305,   280,   281,
-   282,   312,   315,   324,   316,   321,   330,   331,   325,   177,
-   327,   328,   329,   354,   373,   262,   177,   319,   309,   355,
-   332,   262,   336,   356,   358,   368,   362,   364,   372,   389,
-   371,   374,   262,   262,   184,   185,   186,   187,   188,   189,
-   190,   191,   375,   378,   246,   394,   399,   395,   396,   397,
-   398,   403,   376,   377,   177,   192,   193,   392,   317,   386,
-   413,   388,   400,   417,   323,   408,   262,   401,   262,   369,
-   192,   193,   262,   402,   404,   334,   335,   406,   262,   262,
-   262,   419,   407,   409,   410,   411,   412,   424,   425,   177,
-   418,   429,   426,   430,   431,   433,   434,   177,   438,   439,
-   136,   177,   262,   262,   393,    42,    78,   137,   138,   357,
-   262,   359,   139,   351,   175,   363,   350,   262,    44,   177,
-    89,   365,   366,   367,    20,    34,   241,   361,   239,   390,
-     0,   370,     0,     0,     0,     0,   262,     0,     0,     0,
-     0,     0,     0,     0,     0,   380,   381,     0,     0,     0,
-     0,     0,     0,   387,     0,     0,     0,     0,     0,     0,
-   391,   262,     0,     0,     0,     0,    46,    47,     0,     0,
-     0,     0,   262,     0,     0,     0,     0,   262,     0,   405,
-     0,   262,   262,    14,     0,    15,     0,   225,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   226,
-   227,     0,     0,     0,   420,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   428,     0,     0,     0,     0,
-   432,     0,     0,     0,   435,   436,     0,     0,     0,   110,
-   111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-   121,   122,   123,     0,     0,     0,     0,     0,   228,     0,
-   229,   230,   131,   132,     0,     0,     0,     0,     0,     0,
-     0,     0,   231,     0,     0,   232,     0,   233,    46,    47,
-   234,    93,    49,    50,    51,    52,    53,    54,    55,    56,
-    57,    58,    59,    60,    61,    14,     0,    15,    46,    47,
-     0,    93,   153,   154,   155,   156,   157,   158,   159,   160,
-   161,   162,   163,    60,    61,    14,     0,    15,    62,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,    62,     0,
-   252,   253,    46,    47,   254,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,    14,
-     0,    15,     0,     0,   255,   256,     0,     0,     0,     0,
-     0,    63,     0,     0,    64,   257,   258,    65,     0,    66,
-    94,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
-   299,     0,     0,     0,     0,   110,   111,   112,   113,   114,
-   115,   116,   117,   118,   119,   120,   121,   122,   123,   252,
-   253,     0,     0,   254,   228,     0,   229,   230,   131,   132,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   259,     0,   255,   256,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   257,   258,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   110,   111,   112,   113,   114,   115,
-   116,   117,   118,   119,   120,   121,   122,   123,     0,     0,
-     0,     0,     0,   228,     0,   229,   230,   131,   132,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,    46,    47,
-   259,    93,    49,    50,    51,    52,    53,    54,    55,    56,
-    57,    58,    59,    60,    61,    14,     0,    15,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   174,     0,     0,     0,     0,     0,    46,    47,    62,    93,
-    49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-    59,    60,    61,    14,     0,    15,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   245,     0,
-     0,     0,     0,     0,     0,     0,    62,     0,     0,     0,
+   192,   193,    85,    75,   168,   315,   171,   178,   303,    19,
+   181,    95,   270,    70,   419,    14,   172,    15,   317,    28,
+   184,   185,   186,   187,   188,   189,   190,   191,   195,   427,
+    86,    87,   198,   295,   297,   202,   203,    19,   334,   204,
+   205,   206,  -117,    95,   316,   210,   146,   147,   184,   185,
+   186,   187,   188,   189,   190,   191,    28,   316,   335,   182,
+   311,   152,   211,    31,   341,    39,    40,     3,   341,   212,
+   213,   183,   343,     4,   177,    97,    43,   177,   344,    45,
+    76,    80,   -58,     5,     6,     7,     8,     5,     6,     7,
+     8,    99,   305,    41,   -59,    99,   341,   196,   197,   177,
+   199,   200,   177,   177,   353,   372,   177,   177,   177,   207,
+   208,   209,   177,   418,   241,   242,   243,   425,   214,   285,
+   341,    81,   304,   239,   215,   431,   342,    99,    22,    23,
+    24,    25,    82,   261,    35,    36,    37,    90,   261,   261,
+    32,   426,   217,   218,   -24,   -24,   245,   -23,   -23,    83,
+   261,   -22,   -22,   -21,   -21,   261,    91,   266,   219,   220,
+    92,    98,   145,   261,   261,   261,   149,   150,    70,   169,
+   170,   173,   388,   283,   389,   179,   -28,   -27,   -26,   -25,
+   249,   323,   222,   -31,    70,   284,   177,   -32,   330,   223,
+   250,   267,   269,   272,   243,   184,   185,   186,   187,   188,
+   189,   190,   191,   273,   338,   339,   340,   274,   275,   276,
+   277,   278,   286,   282,   345,   346,   347,   348,   287,   263,
+   264,   289,   261,   290,   291,   298,   299,   300,   261,   301,
+   302,   265,   308,   312,   309,   354,   271,   313,   321,   261,
+   261,   334,   318,   327,   279,   280,   281,   322,   177,   324,
+   325,   326,   306,   355,   328,   177,   376,   329,   333,   358,
+   370,   362,   356,   364,   368,   371,   374,   375,   396,   381,
+   393,   261,   403,   261,   377,   316,   378,   261,   379,   417,
+   380,   245,   421,   261,   261,   261,   387,   390,   392,   404,
+   398,   177,   399,   400,   401,   402,   407,   405,   406,   192,
+   193,   428,   408,   314,   410,   411,   369,   412,   413,   320,
+   261,   261,   414,   415,   192,   193,   416,   429,   261,   430,
+   331,   332,   -34,   422,    14,   261,    15,   423,   433,   177,
+   434,   435,   437,     4,   -34,   -34,   438,   177,   442,   443,
+   136,   177,   137,   -34,   -34,   -34,   -34,   397,   261,   -34,
+    16,   138,   357,   139,   359,    78,   351,    17,   363,    42,
+   238,   175,    89,   177,   365,   366,   367,   350,    44,    20,
+    34,   361,   373,   261,   394,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   261,     0,     0,     0,     0,   261,
+     0,   383,   384,   261,   261,     0,     0,     0,     0,   391,
+     0,     0,     0,     0,     0,     0,   395,     0,     0,     0,
+     0,     0,     0,    46,    47,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   409,
+    14,     0,    15,     0,   224,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,   225,   226,     0,     0,
+     0,     0,     0,     0,   424,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,   432,     0,     0,     0,     0,
+   436,     0,     0,     0,   439,   440,   110,   111,   112,   113,
+   114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     0,     0,     0,     0,     0,   227,     0,   228,   229,   131,
+   132,     0,     0,     0,     0,     0,     0,     0,     0,   230,
+     0,     0,   231,     0,   232,    46,    47,   233,    93,    49,
+    50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+    60,    61,    14,     0,    15,    46,    47,     0,    93,   153,
+   154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+    60,    61,    14,     0,    15,    62,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
-    46,    47,     0,    93,   153,   154,   155,   156,   157,   158,
-   159,   160,   161,   162,   163,    60,    61,    14,     0,    15,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,    63,
-     0,     0,    64,     0,     0,    65,     0,    66,    46,    47,
-    62,    93,    49,    50,    51,    52,    53,    54,    55,    56,
-    57,    58,    59,    60,    61,    14,     0,    15,     0,     0,
+     0,     0,     0,     0,     0,    62,     0,   251,   252,    46,
+    47,   253,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,    14,     0,    15,     0,
+     0,   254,   255,     0,     0,     0,     0,     0,    63,     0,
+     0,    64,   256,   257,    65,     0,    66,    94,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    63,     0,
+     0,    64,     0,     0,    65,     0,    66,   296,     0,     0,
+     0,     0,   110,   111,   112,   113,   114,   115,   116,   117,
+   118,   119,   120,   121,   122,   123,   251,   252,     0,     0,
+   253,   227,     0,   228,   229,   131,   132,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   258,     0,
+   254,   255,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,   256,   257,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   313,     0,     0,     0,     0,     0,     0,     0,    62,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    63,     0,     0,    64,     0,   295,    65,
-     0,    66,     0,    46,    47,     0,    93,    49,    50,    51,
+     0,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+   119,   120,   121,   122,   123,     0,     0,     0,     0,     0,
+   227,     0,   228,   229,   131,   132,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,    46,    47,   258,    93,    49,
+    50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+    60,    61,    14,     0,    15,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   174,     0,     0,
+     0,     0,     0,    46,    47,    62,    93,    49,    50,    51,
     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
     14,     0,    15,     0,     0,     0,     0,     0,     0,     0,
-     0,    63,     0,     0,    64,   349,     0,    65,     0,    66,
-     0,    46,    47,    62,    48,    49,    50,    51,    52,    53,
-    54,    55,    56,    57,    58,    59,    60,    61,    14,     0,
-    15,    46,    47,     0,    93,    49,    50,    51,    52,    53,
-    54,    55,    56,    57,    58,    59,    60,    61,    14,     0,
-    15,    62,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,   244,     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,     0,    63,     0,     0,    64,
-     0,    62,    65,     0,    66,    46,    47,     0,    93,   153,
-   154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     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,    63,     0,     0,    64,     0,     0,
-    65,     0,    66,     0,     0,    62,     0,     0,     0,     0,
-     0,     0,     0,     0,    63,     0,     0,    64,     0,     0,
-    65,     0,    66,    46,    47,     0,   180,    49,    50,    51,
-    52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-    14,     0,    15,     0,     0,     0,   100,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   101,    63,     0,
-     0,    64,     0,    62,    65,     0,    66,   102,   103,     0,
-     0,     0,     0,   104,   105,   106,   107,   108,   109,   110,
-   111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-   121,   122,   123,   124,   125,   126,     0,     0,   127,   128,
-   129,   130,   131,   132,   133,   134,   135,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    63,     0,     0,    64,
-     0,     0,    65,     0,    66
+     0,     0,     0,     0,     0,     0,     0,   310,     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,   292,    65,     0,    66,     0,
+    46,    47,     0,    93,    49,    50,    51,    52,    53,    54,
+    55,    56,    57,    58,    59,    60,    61,    14,     0,    15,
+     0,     0,     0,     0,     0,     0,     0,     0,    63,     0,
+     0,    64,   349,     0,    65,     0,    66,     0,    46,    47,
+    62,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+    57,    58,    59,    60,    61,    14,     0,    15,    46,    47,
+     0,    93,    49,    50,    51,    52,    53,    54,    55,    56,
+    57,    58,    59,    60,    61,    14,     0,    15,    62,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,    63,     0,     0,    64,     0,    62,    65,
+     0,    66,    46,    47,     0,    93,   153,   154,   155,   156,
+   157,   158,   159,   160,   161,   162,   163,    60,    61,    14,
+     0,    15,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
+     0,     0,    62,     0,     0,     0,     0,     0,     0,     0,
+     0,    63,     0,     0,    64,     0,     0,    65,     0,    66,
+    46,    47,     0,   180,    49,    50,    51,    52,    53,    54,
+    55,    56,    57,    58,    59,    60,    61,    14,     0,    15,
+     0,     0,     0,   100,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   101,    63,     0,     0,    64,     0,
+    62,    65,     0,    66,   102,   103,     0,     0,     0,     0,
+   104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+   114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+   124,   125,   126,     0,     0,   127,   128,   129,   130,   131,
+   132,   133,   134,   135,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,    63,     0,     0,    64,     0,     0,    65,
+     0,    66
 };
 
 static const short yycheck[] = {    26,
-   106,   106,    89,    40,    23,    29,   101,   197,    15,   104,
-    15,    30,     9,    40,     2,   401,    66,    97,   232,   233,
-    99,    23,    97,    97,    21,   105,   107,   217,    97,   108,
-   416,   126,   107,   107,   129,   130,   105,    97,   133,   134,
-   135,   103,    30,   103,   139,   259,   108,    54,    98,    54,
-     0,   241,    10,    11,    12,    13,    14,    15,    16,    17,
-   141,    88,    96,    10,    11,    12,    13,    14,    15,    16,
-    17,   415,    97,   105,   101,    25,   108,   104,   103,   423,
-    68,    31,   106,    58,    59,    60,    61,    22,   107,    24,
-    96,    41,    42,    43,    44,    32,    33,   124,   125,   126,
-   127,   128,   129,   130,    52,    53,   133,   134,   135,   136,
-   137,   138,   139,    20,    96,    22,     4,    24,   213,   169,
-   170,   171,    85,    86,    31,    32,    33,    49,    50,    51,
-    20,    27,    28,   101,    41,    42,    43,    44,     3,     4,
-    47,    48,     3,     4,    96,   103,   173,    96,    55,     3,
-     4,    41,    42,    43,    44,   167,   103,    47,   195,     3,
-     4,     3,     4,    99,     4,   177,     4,   357,   195,   359,
-   182,   183,     4,    99,   211,    24,     4,    24,   102,   102,
-    99,   276,   194,    56,   211,   212,   213,   199,   283,    97,
-     4,     4,     4,     4,     4,   207,   208,   209,     7,     7,
-   250,     7,    97,   100,    97,   292,   293,   294,    97,   101,
-    97,    36,    97,   182,   183,   302,   303,   304,   305,    97,
-    97,    97,    97,    24,    24,   194,    97,    34,    97,    99,
-   199,    99,    99,    99,    24,    99,    99,    99,   207,   208,
-   209,   100,    97,   101,    97,    97,    97,    97,   275,   276,
-   277,   278,   279,    21,   341,   267,   283,    54,   246,    21,
-    97,   273,    97,    99,     4,    99,    97,    97,    97,   364,
-    36,    97,   284,   285,    10,    11,    12,    13,    14,    15,
-    16,    17,    97,    54,   311,   372,     4,   374,   375,   376,
-   377,   386,    97,    97,   321,   401,   401,   100,   267,    97,
-    21,    97,    97,    36,   273,    97,   318,   101,   320,   336,
-   416,   416,   324,   100,   103,   284,   285,   100,   330,   331,
-   332,   408,   100,   100,   100,   100,   100,    21,   100,   356,
-   103,    21,    97,    97,    66,    21,    21,   364,     0,     0,
-    78,   368,   354,   355,   371,    18,    30,    78,    78,   318,
-   362,   320,    78,   312,    98,   324,   311,   369,    21,   386,
-    42,   330,   331,   332,     2,    13,   168,   321,   167,   368,
-    -1,   338,    -1,    -1,    -1,    -1,   388,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   354,   355,    -1,    -1,    -1,
-    -1,    -1,    -1,   362,    -1,    -1,    -1,    -1,    -1,    -1,
-   369,   413,    -1,    -1,    -1,    -1,     5,     6,    -1,    -1,
-    -1,    -1,   424,    -1,    -1,    -1,    -1,   429,    -1,   388,
-    -1,   433,   434,    22,    -1,    24,    -1,    26,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,
-    39,    -1,    -1,    -1,   413,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   424,    -1,    -1,    -1,    -1,
-   429,    -1,    -1,    -1,   433,   434,    -1,    -1,    -1,    68,
-    69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-    79,    80,    81,    -1,    -1,    -1,    -1,    -1,    87,    -1,
-    89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   101,    -1,    -1,   104,    -1,   106,     5,     6,
-   109,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    -1,    24,     5,     6,
-    -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    -1,    24,    45,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,
-     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,
-    -1,    24,    -1,    -1,    27,    28,    -1,    -1,    -1,    -1,
-    -1,    98,    -1,    -1,   101,    38,    39,   104,    -1,   106,
-   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    98,    -1,    -1,   101,    -1,    -1,   104,    -1,   106,
-   107,    -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,
-    73,    74,    75,    76,    77,    78,    79,    80,    81,     3,
-     4,    -1,    -1,     7,    87,    -1,    89,    90,    91,    92,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   104,    -1,    27,    28,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
-    74,    75,    76,    77,    78,    79,    80,    81,    -1,    -1,
-    -1,    -1,    -1,    87,    -1,    89,    90,    91,    92,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
-   104,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    37,    -1,    -1,    -1,    -1,    -1,     5,     6,    45,     8,
-     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,
+   106,   106,    40,    29,    89,    15,    97,   101,   240,     2,
+   104,    66,   197,    40,   405,    22,   107,    24,    15,    23,
+    10,    11,    12,    13,    14,    15,    16,    17,   107,   420,
+    32,    33,   126,   231,   232,   129,   130,    30,    34,   133,
+   134,   135,     0,    98,    54,   139,    52,    53,    10,    11,
+    12,    13,    14,    15,    16,    17,    23,    54,    54,     9,
+   258,    88,   141,    30,    97,    96,    20,    25,    97,    85,
+    86,    21,   105,    31,   101,    68,    96,   104,   107,     4,
+   106,    96,    99,    41,    42,    43,    44,    41,    42,    43,
+    44,   108,   105,    47,    99,   108,    97,   124,   125,   126,
+   127,   128,   129,   130,   105,   337,   133,   134,   135,   136,
+   137,   138,   139,   103,   169,   170,   171,   419,    97,   213,
+    97,    96,   103,   167,   103,   427,   103,   108,    58,    59,
+    60,    61,    96,   177,    49,    50,    51,     4,   182,   183,
+   107,   103,    27,    28,     3,     4,   173,     3,     4,   101,
+   194,     3,     4,     3,     4,   199,     4,   195,     3,     4,
+     4,    99,    24,   207,   208,   209,     4,    24,   195,   102,
+   102,    99,   357,   211,   359,    56,     4,     4,     4,     4,
+    97,   275,     4,     7,   211,   212,   213,     7,   282,     7,
+   100,    97,    97,   101,   249,    10,    11,    12,    13,    14,
+    15,    16,    17,    97,   289,   290,   291,    36,    97,    97,
+    97,    97,    24,    97,   299,   300,   301,   302,    97,   182,
+   183,    99,   266,    99,    99,    24,    99,    99,   272,    99,
+    99,   194,    97,    97,   100,    21,   199,    97,   101,   283,
+   284,    34,    97,    97,   207,   208,   209,   274,   275,   276,
+   277,   278,   245,    21,    97,   282,   341,    97,    97,     4,
+    24,    97,    99,    97,    99,     4,    36,    97,   100,    54,
+   364,   315,     4,   317,    97,    54,    97,   321,    97,    21,
+    97,   308,    36,   327,   328,   329,    97,    97,    97,    97,
+   375,   318,   377,   378,   379,   380,   390,   101,   100,   405,
+   405,    21,   103,   266,   100,   100,   333,    97,   100,   272,
+   354,   355,   100,   100,   420,   420,   100,   100,   362,    97,
+   283,   284,    20,   103,    22,   369,    24,   412,    21,   356,
+    97,    66,    21,    31,    32,    33,    21,   364,     0,     0,
+    78,   368,    78,    41,    42,    43,    44,   374,   392,    47,
+    48,    78,   315,    78,   317,    30,   309,    55,   321,    18,
+   167,    98,    42,   390,   327,   328,   329,   308,    21,     2,
+    13,   318,   338,   417,   368,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,   428,    -1,    -1,    -1,    -1,   433,
+    -1,   354,   355,   437,   438,    -1,    -1,    -1,    -1,   362,
+    -1,    -1,    -1,    -1,    -1,    -1,   369,    -1,    -1,    -1,
+    -1,    -1,    -1,     5,     6,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   392,
+    22,    -1,    24,    -1,    26,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,
+    -1,    -1,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,   428,    -1,    -1,    -1,    -1,
+   433,    -1,    -1,    -1,   437,   438,    68,    69,    70,    71,
+    72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+    -1,    -1,    -1,    -1,    -1,    87,    -1,    89,    90,    91,
+    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
+    -1,    -1,   104,    -1,   106,     5,     6,   109,     8,     9,
+    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+    20,    21,    22,    -1,    24,     5,     6,    -1,     8,     9,
+    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+    20,    21,    22,    -1,    24,    45,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    98,    -1,    -1,   101,    -1,    -1,   104,    -1,   106,
-     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
-    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
-    -1,    -1,   101,    -1,    -1,   104,    -1,   106,     5,     6,
-    45,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    45,    -1,     3,     4,     5,
+     6,     7,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    22,    -1,    24,    -1,
+    -1,    27,    28,    -1,    -1,    -1,    -1,    -1,    98,    -1,
+    -1,   101,    38,    39,   104,    -1,   106,   107,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
+    -1,   101,    -1,    -1,   104,    -1,   106,   107,    -1,    -1,
+    -1,    -1,    68,    69,    70,    71,    72,    73,    74,    75,
+    76,    77,    78,    79,    80,    81,     3,     4,    -1,    -1,
+     7,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,
+    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,   103,   104,
-    -1,   106,    -1,     5,     6,    -1,     8,     9,    10,    11,
+    -1,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+    77,    78,    79,    80,    81,    -1,    -1,    -1,    -1,    -1,
+    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,     5,     6,   104,     8,     9,
+    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
+    -1,    -1,    -1,     5,     6,    45,     8,     9,    10,    11,
     12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    98,    -1,    -1,   101,    37,    -1,   104,    -1,   106,
-    -1,     5,     6,    45,     8,     9,    10,    11,    12,    13,
-    14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
-    24,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
-    14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
-    24,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
+    -1,   101,    -1,    -1,   104,    -1,   106,     5,     6,    -1,
+     8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,
-    -1,    45,   104,    -1,   106,     5,     6,    -1,     8,     9,
+    -1,    -1,   104,    -1,   106,     5,     6,    45,     8,     9,
     10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,    -1,
-   104,    -1,   106,    -1,    -1,    45,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,    -1,
-   104,    -1,   106,     5,     6,    -1,     8,     9,    10,    11,
-    12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-    22,    -1,    24,    -1,    -1,    -1,    35,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    98,    -1,
-    -1,   101,    -1,    45,   104,    -1,   106,    56,    57,    -1,
-    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
-    69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-    79,    80,    81,    82,    83,    84,    -1,    -1,    87,    88,
-    89,    90,    91,    92,    93,    94,    95,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,   101,
-    -1,    -1,   104,    -1,   106
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    98,    -1,    -1,   101,    -1,   103,   104,    -1,   106,    -1,
+     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
+    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
+    -1,   101,    37,    -1,   104,    -1,   106,    -1,     5,     6,
+    45,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+    17,    18,    19,    20,    21,    22,    -1,    24,     5,     6,
+    -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+    17,    18,    19,    20,    21,    22,    -1,    24,    45,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,    45,   104,
+    -1,   106,     5,     6,    -1,     8,     9,    10,    11,    12,
+    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    98,    -1,    -1,   101,    -1,    -1,   104,    -1,   106,
+    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    98,    -1,    -1,   101,    -1,    -1,   104,    -1,   106,
+     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
+    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+    -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    46,    98,    -1,    -1,   101,    -1,
+    45,   104,    -1,   106,    56,    57,    -1,    -1,    -1,    -1,
+    62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+    72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+    82,    83,    84,    -1,    -1,    87,    88,    89,    90,    91,
+    92,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    98,    -1,    -1,   101,    -1,    -1,   104,
+    -1,   106
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
 #line 3 "/usr/share/bison.simple"
@@ -2190,7 +2183,7 @@
   switch (yyn) {
 
 case 2:
-#line 1005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 989 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX)     // Outside of my range!
     ThrowException("Value too large for type!");
@@ -2198,7 +2191,7 @@
 ;
     break;}
 case 4:
-#line 1013 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 997 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX)     // Outside of my range!
     ThrowException("Value too large for type!");
@@ -2206,55 +2199,55 @@
 ;
     break;}
 case 33:
-#line 1036 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1020 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = yyvsp[-1].StrVal;
   ;
     break;}
 case 34:
-#line 1039 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1023 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = 0;
   ;
     break;}
 case 35:
-#line 1043 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1027 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::InternalLinkage; ;
     break;}
 case 36:
-#line 1044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1028 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;
     break;}
 case 37:
-#line 1045 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1029 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::WeakLinkage; ;
     break;}
 case 38:
-#line 1046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1030 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::AppendingLinkage; ;
     break;}
 case 39:
-#line 1047 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1031 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalLinkage; ;
     break;}
 case 40:
-#line 1049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1033 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::C; ;
     break;}
 case 41:
-#line 1050 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1034 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::C; ;
     break;}
 case 42:
-#line 1051 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1035 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::Fast; ;
     break;}
 case 43:
-#line 1052 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1036 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::Cold; ;
     break;}
 case 44:
-#line 1053 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1037 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
                    if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)
                      ThrowException("Calling conv too large!");
@@ -2262,23 +2255,31 @@
                  ;
     break;}
 case 45:
-#line 1061 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = 0; ;
     break;}
 case 46:
-#line 1062 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = yyvsp[0].UInt64Val; ;
+#line 1046 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
+  yyval.UIntVal = yyvsp[0].UInt64Val;
+  if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
+    ThrowException("Alignment must be a power of two!");
+;
     break;}
 case 47:
-#line 1063 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1051 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = 0; ;
     break;}
 case 48:
-#line 1064 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.UIntVal = yyvsp[0].UInt64Val; ;
+#line 1052 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
+  yyval.UIntVal = yyvsp[0].UInt64Val;
+  if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
+    ThrowException("Alignment must be a power of two!");
+;
     break;}
 case 49:
-#line 1066 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1059 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   for (unsigned i = 0, e = strlen(yyvsp[0].StrVal); i != e; ++i)
     if (yyvsp[0].StrVal[i] == '"' || yyvsp[0].StrVal[i] == '\\')
@@ -2287,57 +2288,70 @@
 ;
     break;}
 case 50:
-#line 1073 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1066 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = 0; ;
     break;}
 case 51:
-#line 1074 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1067 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = yyvsp[0].StrVal; ;
     break;}
 case 52:
-#line 1075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.StrVal = 0; ;
+#line 1072 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{;
     break;}
 case 53:
-#line 1076 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.StrVal = yyvsp[0].StrVal; ;
+#line 1073 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{;
+    break;}
+case 54:
+#line 1074 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
+    CurGV->setSection(yyvsp[0].StrVal);
+    free(yyvsp[0].StrVal);
+  ;
     break;}
 case 55:
-#line 1086 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+#line 1078 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
+    CurGV->setAlignment(yyvsp[0].UInt64Val);
+  ;
     break;}
 case 57:
-#line 1087 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1089 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
     break;}
-case 58:
-#line 1089 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 59:
+#line 1090 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
+    break;}
+case 60:
+#line 1092 "/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 72:
-#line 1100 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 74:
+#line 1103 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(OpaqueType::get());
   ;
     break;}
-case 73:
-#line 1103 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 75:
+#line 1106 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
   ;
     break;}
-case 74:
-#line 1106 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 76:
+#line 1109 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {            // Named types are also simple types...
   yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal));
 ;
     break;}
-case 75:
-#line 1112 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 77:
+#line 1115 "/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
@@ -2346,8 +2360,8 @@
     UR_OUT("New Upreference!\n");
   ;
     break;}
-case 76:
-#line 1119 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 78:
+#line 1122 "/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(),
@@ -2361,15 +2375,15 @@
     delete yyvsp[-3].TypeVal;      // Delete the return type handle
   ;
     break;}
-case 77:
-#line 1131 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 79:
+#line 1134 "/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 78:
-#line 1135 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 80:
+#line 1138 "/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)
@@ -2382,8 +2396,8 @@
      delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 79:
-#line 1146 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 81:
+#line 1149 "/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(),
@@ -2394,52 +2408,52 @@
     delete yyvsp[-1].TypeList;
   ;
     break;}
-case 80:
-#line 1155 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 82:
+#line 1158 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                  // Empty structure type?
     yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
   ;
     break;}
-case 81:
-#line 1158 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 83:
+#line 1161 "/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 82:
-#line 1166 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 84:
+#line 1169 "/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 83:
-#line 1170 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 85:
+#line 1173 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
   ;
     break;}
-case 85:
-#line 1176 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 87:
+#line 1179 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy);
   ;
     break;}
-case 86:
-#line 1179 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 88:
+#line 1182 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
   ;
     break;}
-case 87:
-#line 1182 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 89:
+#line 1185 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeList = new std::list<PATypeHolder>();
   ;
     break;}
-case 88:
-#line 1192 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 90:
+#line 1195 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());
     if (ATy == 0)
@@ -2466,8 +2480,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 89:
-#line 1217 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 91:
+#line 1220 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2482,8 +2496,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 90:
-#line 1230 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 92:
+#line 1233 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2513,8 +2527,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 91:
-#line 1258 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 93:
+#line 1261 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
     if (PTy == 0)
@@ -2541,8 +2555,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 92:
-#line 1283 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 94:
+#line 1286 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
     if (STy == 0)
@@ -2564,8 +2578,8 @@
     delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 93:
-#line 1303 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 95:
+#line 1306 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
     if (STy == 0)
@@ -2579,8 +2593,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 94:
-#line 1315 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 96:
+#line 1318 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (PTy == 0)
@@ -2591,15 +2605,15 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 95:
-#line 1324 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 97:
+#line 1327 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 96:
-#line 1328 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 98:
+#line 1331 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (Ty == 0)
@@ -2660,8 +2674,8 @@
     delete yyvsp[-1].TypeVal;            // Free the type handle
   ;
     break;}
-case 97:
-#line 1387 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 99:
+#line 1390 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
       ThrowException("Mismatched types for constant expression!");
@@ -2669,8 +2683,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 98:
-#line 1393 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 100:
+#line 1396 "/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))
@@ -2679,44 +2693,44 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 99:
-#line 1401 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 101:
+#line 1404 "/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 100:
-#line 1406 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 102:
+#line 1409 "/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 101:
-#line 1411 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 103:
+#line 1414 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                      // Boolean constants
     yyval.ConstVal = ConstantBool::True;
   ;
     break;}
-case 102:
-#line 1414 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 104:
+#line 1417 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Boolean constants
     yyval.ConstVal = ConstantBool::False;
   ;
     break;}
-case 103:
-#line 1417 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 105:
+#line 1420 "/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 104:
-#line 1424 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 106:
+#line 1427 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())
       ThrowException("cast constant expression from a non-primitive type: '" +
@@ -2728,8 +2742,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 105:
-#line 1434 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 107:
+#line 1437 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
       ThrowException("GetElementPtr requires a pointer operand!");
@@ -2762,8 +2776,8 @@
     yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec);
   ;
     break;}
-case 106:
-#line 1465 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 108:
+#line 1468 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)
       ThrowException("Select condition must be of boolean type!");
@@ -2772,8 +2786,8 @@
     yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 107:
-#line 1472 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 109:
+#line 1475 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Binary operator types must match!");
@@ -2796,8 +2810,8 @@
     }
   ;
     break;}
-case 108:
-#line 1493 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 110:
+#line 1496 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Logical operator types must match!");
@@ -2806,16 +2820,16 @@
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 109:
-#line 1500 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 111:
+#line 1503 "/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 110:
-#line 1505 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 112:
+#line 1508 "/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!");
@@ -2824,55 +2838,55 @@
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 111:
-#line 1515 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 113:
+#line 1518 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
   ;
     break;}
-case 112:
-#line 1518 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 114:
+#line 1521 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVector = new std::vector<Constant*>();
     yyval.ConstVector->push_back(yyvsp[0].ConstVal);
   ;
     break;}
-case 113:
-#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 115:
+#line 1528 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = false; ;
     break;}
-case 114:
-#line 1525 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 116:
+#line 1528 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = true; ;
     break;}
-case 115:
-#line 1535 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 117:
+#line 1538 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;
   CurModule.ModuleDone();
 ;
     break;}
-case 116:
-#line 1542 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 118:
+#line 1545 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
     CurFun.FunctionDone();
   ;
     break;}
-case 117:
-#line 1546 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 119:
+#line 1549 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
-case 118:
-#line 1549 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 120:
+#line 1552 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
-case 119:
-#line 1552 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 121:
+#line 1555 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -2885,8 +2899,8 @@
     }
   ;
     break;}
-case 120:
-#line 1565 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 122:
+#line 1568 "/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:
@@ -2908,56 +2922,69 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 121:
-#line 1585 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 123:
+#line 1588 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {       // Function prototypes can be in const pool
   ;
     break;}
-case 122:
-#line 1587 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 124:
+#line 1590 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
+    if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
+    CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
+                                                       ;
+    break;}
+case 125:
+#line 1593 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[-2].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
-    ParseGlobalVariable(yyvsp[-5].StrVal, yyvsp[-4].Linkage, yyvsp[-3].BoolVal, yyvsp[-2].ConstVal->getType(), yyvsp[-2].ConstVal, yyvsp[-1].StrVal, yyvsp[0].UIntVal);
+    CurGV = 0;
   ;
     break;}
-case 123:
-#line 1591 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 126:
+#line 1596 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    ParseGlobalVariable(yyvsp[-5].StrVal, GlobalValue::ExternalLinkage, yyvsp[-3].BoolVal, *yyvsp[-2].TypeVal, 0, yyvsp[-1].StrVal, yyvsp[0].UIntVal);
-    delete yyvsp[-2].TypeVal;
+    CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage,
+                                             yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);
+    delete yyvsp[0].TypeVal;
+                                                   ;
+    break;}
+case 127:
+#line 1600 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
+    CurGV = 0;
   ;
     break;}
-case 124:
-#line 1595 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 128:
+#line 1603 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
-case 125:
-#line 1597 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 129:
+#line 1605 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   ;
     break;}
-case 126:
-#line 1599 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 130:
+#line 1607 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
-case 127:
-#line 1604 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 131:
+#line 1612 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::BigEndian; ;
     break;}
-case 128:
-#line 1605 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 132:
+#line 1613 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::LittleEndian; ;
     break;}
-case 129:
-#line 1607 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 133:
+#line 1615 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
   ;
     break;}
-case 130:
-#line 1610 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 134:
+#line 1618 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UInt64Val == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -2967,89 +2994,89 @@
       ThrowException("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!");
   ;
     break;}
-case 131:
-#line 1618 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 135:
+#line 1626 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
     free(yyvsp[0].StrVal);
   ;
     break;}
-case 133:
-#line 1625 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 137:
+#line 1633 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
         ;
     break;}
-case 134:
-#line 1629 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 138:
+#line 1637 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
         ;
     break;}
-case 135:
-#line 1633 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 139:
+#line 1641 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
         ;
     break;}
-case 139:
-#line 1642 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 143:
+#line 1650 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = 0; ;
     break;}
-case 140:
-#line 1644 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 144:
+#line 1652 "/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 141:
-#line 1650 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 145:
+#line 1658 "/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 142:
-#line 1655 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 146:
+#line 1663 "/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 143:
-#line 1661 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 147:
+#line 1669 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[0].ArgList;
   ;
     break;}
-case 144:
-#line 1664 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 148:
+#line 1672 "/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 145:
-#line 1669 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 149:
+#line 1677 "/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 146:
-#line 1673 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 150:
+#line 1681 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = 0;
   ;
     break;}
-case 147:
-#line 1678 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 151:
+#line 1686 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   UnEscapeLexed(yyvsp[-5].StrVal);
   std::string FunctionName(yyvsp[-5].StrVal);
@@ -3057,8 +3084,6 @@
   
   if (!(*yyvsp[-6].TypeVal)->isFirstClassType() && *yyvsp[-6].TypeVal != Type::VoidTy)
     ThrowException("LLVM functions cannot return aggregate types!");
-  if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
-    ThrowException("Function alignment must be a power of two!");
 
   std::vector<const Type*> ParamTypeList;
   if (yyvsp[-3].ArgList) {   // If there are arguments...
@@ -3137,8 +3162,8 @@
   }
 ;
     break;}
-case 150:
-#line 1767 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 154:
+#line 1773 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
 
@@ -3147,67 +3172,67 @@
   yyval.FunctionVal->setLinkage(yyvsp[-2].Linkage);
 ;
     break;}
-case 153:
-#line 1777 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 157:
+#line 1783 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = yyvsp[-1].FunctionVal;
 ;
     break;}
-case 154:
-#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 158:
+#line 1787 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { CurFun.isDeclare = true; ;
     break;}
-case 155:
-#line 1781 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 159:
+#line 1787 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
   CurFun.FunctionDone();
 ;
     break;}
-case 156:
-#line 1790 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 160:
+#line 1796 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // A reference to a direct constant
     yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
   ;
     break;}
-case 157:
-#line 1793 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 161:
+#line 1799 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
   ;
     break;}
-case 158:
-#line 1796 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 162:
+#line 1802 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Perhaps it's an FP constant?
     yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
   ;
     break;}
-case 159:
-#line 1799 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 163:
+#line 1805 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::True);
   ;
     break;}
-case 160:
-#line 1802 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 164:
+#line 1808 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::False);
   ;
     break;}
-case 161:
-#line 1805 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 165:
+#line 1811 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createNull();
   ;
     break;}
-case 162:
-#line 1808 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 166:
+#line 1814 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createUndef();
   ;
     break;}
-case 163:
-#line 1811 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 167:
+#line 1817 "/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(); 
@@ -3233,44 +3258,44 @@
     delete PTy; delete yyvsp[-1].ConstVector;
   ;
     break;}
-case 164:
-#line 1835 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 168:
+#line 1841 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
   ;
     break;}
-case 165:
-#line 1842 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 169:
+#line 1848 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {  // Is it an integer reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
   ;
     break;}
-case 166:
-#line 1845 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 170:
+#line 1851 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Is it a named reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
   ;
     break;}
-case 169:
-#line 1856 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 173:
+#line 1862 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 170:
-#line 1860 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 174:
+#line 1866 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
-case 171:
-#line 1863 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 175:
+#line 1869 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Do not allow functions with 0 basic blocks   
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
-case 172:
-#line 1871 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 176:
+#line 1877 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
     InsertValue(yyvsp[0].TermInstVal);
@@ -3280,15 +3305,15 @@
     yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal;
   ;
     break;}
-case 173:
-#line 1880 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 177:
+#line 1886 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);
     yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal;
   ;
     break;}
-case 174:
-#line 1884 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 178:
+#line 1890 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
 
@@ -3300,8 +3325,8 @@
     BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
   ;
     break;}
-case 175:
-#line 1894 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 179:
+#line 1900 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);
 
@@ -3313,32 +3338,32 @@
     BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
   ;
     break;}
-case 176:
-#line 1905 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 180:
+#line 1911 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {              // Return with a result...
     yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
   ;
     break;}
-case 177:
-#line 1908 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 181:
+#line 1914 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                       // Return with no result...
     yyval.TermInstVal = new ReturnInst();
   ;
     break;}
-case 178:
-#line 1911 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 182:
+#line 1917 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                         // Unconditional Branch...
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal));
   ;
     break;}
-case 179:
-#line 1914 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 183:
+#line 1920 "/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 180:
-#line 1917 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 184:
+#line 1923 "/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;
@@ -3354,15 +3379,15 @@
     delete yyvsp[-1].JumpTable;
   ;
     break;}
-case 181:
-#line 1931 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 185:
+#line 1937 "/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 182:
-#line 1936 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 186:
+#line 1942 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3416,20 +3441,20 @@
     delete yyvsp[-7].ValueList;
   ;
     break;}
-case 183:
-#line 1988 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 187:
+#line 1994 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnwindInst();
   ;
     break;}
-case 184:
-#line 1991 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 188:
+#line 1997 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnreachableInst();
   ;
     break;}
-case 185:
-#line 1997 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 189:
+#line 2003 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = yyvsp[-5].JumpTable;
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3439,8 +3464,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal)));
   ;
     break;}
-case 186:
-#line 2005 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 190:
+#line 2011 "/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));
@@ -3451,8 +3476,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal)));
   ;
     break;}
-case 187:
-#line 2015 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 191:
+#line 2021 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   // Is this definition named?? if so, assign the name...
   setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
@@ -3460,54 +3485,54 @@
   yyval.InstVal = yyvsp[0].InstVal;
 ;
     break;}
-case 188:
-#line 2022 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 192:
+#line 2028 "/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 189:
-#line 2027 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 193:
+#line 2033 "/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 190:
-#line 2034 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 194:
+#line 2040 "/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 191:
-#line 2038 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 195:
+#line 2044 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueList = yyvsp[-2].ValueList;
     yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal);
   ;
     break;}
-case 193:
-#line 2044 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 197:
+#line 2050 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ValueList = 0; ;
     break;}
-case 194:
-#line 2046 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 198:
+#line 2052 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
   ;
     break;}
-case 195:
-#line 2049 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 199:
+#line 2055 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
   ;
     break;}
-case 196:
-#line 2055 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 200:
+#line 2061 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && 
         !isa<PackedType>((*yyvsp[-3].TypeVal).get()))
@@ -3521,8 +3546,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 197:
-#line 2067 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 201:
+#line 2073 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isIntegral())
       ThrowException("Logical operator requires integral operands!");
@@ -3532,8 +3557,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 198:
-#line 2075 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 202:
+#line 2081 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {
       ThrowException(
@@ -3545,8 +3570,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 199:
-#line 2085 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 203:
+#line 2091 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -3560,8 +3585,8 @@
       ThrowException("Could not create a xor instruction!");
   ;
     break;}
-case 200:
-#line 2097 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 204:
+#line 2103 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].ValueVal->getType() != Type::UByteTy)
       ThrowException("Shift amount must be ubyte!");
@@ -3570,8 +3595,8 @@
     yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
   ;
     break;}
-case 201:
-#line 2104 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 205:
+#line 2110 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[0].TypeVal->get()->isFirstClassType())
       ThrowException("cast instruction to a non-primitive type: '" +
@@ -3580,8 +3605,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 202:
-#line 2111 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 206:
+#line 2117 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)
       ThrowException("select condition must be boolean!");
@@ -3590,16 +3615,16 @@
     yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
   ;
     break;}
-case 203:
-#line 2118 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 207:
+#line 2124 "/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 204:
-#line 2123 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 208:
+#line 2129 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3620,8 +3645,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 205:
-#line 2142 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 209:
+#line 2148 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3645,8 +3670,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 206:
-#line 2164 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 210:
+#line 2170 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[0].PHIList->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -3662,8 +3687,8 @@
     delete yyvsp[0].PHIList;  // Free the list...
   ;
     break;}
-case 207:
-#line 2178 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 211:
+#line 2184 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3722,78 +3747,66 @@
     delete yyvsp[-1].ValueList;
   ;
     break;}
-case 208:
-#line 2235 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 212:
+#line 2241 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = yyvsp[0].InstVal;
   ;
     break;}
-case 209:
-#line 2241 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 213:
+#line 2247 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = yyvsp[0].ValueList; 
   ;
     break;}
-case 210:
-#line 2243 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 214:
+#line 2249 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = new std::vector<Value*>(); 
   ;
     break;}
-case 211:
-#line 2247 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 215:
+#line 2253 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
   ;
     break;}
-case 212:
-#line 2250 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 216:
+#line 2256 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
   ;
     break;}
-case 213:
-#line 2256 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 217:
+#line 2262 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
-      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 214:
-#line 2263 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 218:
+#line 2266 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
-      ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
-                     "' is not a power of 2!");
     yyval.InstVal = new MallocInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);
     delete yyvsp[-4].TypeVal;
   ;
     break;}
-case 215:
-#line 2270 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 219:
+#line 2270 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
-      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 216:
-#line 2277 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 220:
+#line 2274 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].UIntVal != 0 && !isPowerOf2_32(yyvsp[0].UIntVal))
-      ThrowException("Alignment amount '" + utostr(yyvsp[0].UIntVal) +
-                     "' is not a power of 2!");
     yyval.InstVal = new AllocaInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);
     delete yyvsp[-4].TypeVal;
   ;
     break;}
-case 217:
-#line 2284 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 221:
+#line 2278 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
       ThrowException("Trying to free nonpointer type " + 
@@ -3801,8 +3814,8 @@
     yyval.InstVal = new FreeInst(yyvsp[0].ValueVal);
   ;
     break;}
-case 218:
-#line 2291 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 222:
+#line 2285 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
       ThrowException("Can't load from nonpointer type: " +
@@ -3814,8 +3827,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 219:
-#line 2301 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 223:
+#line 2295 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (!PT)
@@ -3830,8 +3843,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 220:
-#line 2314 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+case 224:
+#line 2308 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
       ThrowException("getelementptr insn requires pointer operand!");
@@ -4076,7 +4089,7 @@
     }
   return 1;
 }
-#line 2337 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2331 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 
 int yyerror(const char *ErrorMsg) {
   std::string where 






More information about the llvm-commits mailing list