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

Reid Spencer reid at x10sys.com
Fri Jan 5 13:51:22 PST 2007



Changes in directory llvm/lib/AsmParser:

llvmAsmParser.cpp.cvs updated: 1.45 -> 1.46
llvmAsmParser.h.cvs updated: 1.35 -> 1.36
llvmAsmParser.y.cvs updated: 1.46 -> 1.47
---
Log message:

Regenerate.


---
Diffs of the changes:  (+281 -319)

 llvmAsmParser.cpp.cvs |  565 ++++++++++++++++++++++++--------------------------
 llvmAsmParser.h.cvs   |    2 
 llvmAsmParser.y.cvs   |   33 --
 3 files changed, 281 insertions(+), 319 deletions(-)


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.45 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.46
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.45	Fri Jan  5 11:07:23 2007
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Fri Jan  5 15:51:07 2007
@@ -963,8 +963,8 @@
     assert(inFunctionScope() && "Must be in function scope!");
     SymbolTable &ST = CurFun.CurrentFunction->getSymbolTable();
     if (ST.lookup(V->getType(), Name)) {
-      GenerateError("Redefinition of value named '" + Name + "' in the '" +
-                     V->getType()->getDescription() + "' type plane!");
+      GenerateError("Redefinition of value '" + Name + "' of type '" +
+                     V->getType()->getDescription() + "'!");
       return;
     }
 
@@ -1015,32 +1015,13 @@
   }
 
   // If this global has a name, check to see if there is already a definition
-  // of this global in the module.  If so, merge as appropriate.  Note that
-  // this is really just a hack around problems in the CFE.  :(
+  // of this global in the module.  If so, it is an error.
   if (!Name.empty()) {
     // We are a simple redefinition of a value, check to see if it is defined
     // the same as the old one.
-    if (GlobalVariable *EGV =
-                CurModule.CurrentModule->getGlobalVariable(Name, Ty)) {
-      // We are allowed to redefine a global variable in two circumstances:
-      // 1. If at least one of the globals is uninitialized or
-      // 2. If both initializers have the same value.
-      //
-      if (!EGV->hasInitializer() || !Initializer ||
-          EGV->getInitializer() == Initializer) {
-
-        // Make sure the existing global version gets the initializer!  Make
-        // sure that it also gets marked const if the new version is.
-        if (Initializer && !EGV->hasInitializer())
-          EGV->setInitializer(Initializer);
-        if (isConstantGlobal)
-          EGV->setConstant(true);
-        EGV->setLinkage(Linkage);
-        return EGV;
-      }
-
+    if (CurModule.CurrentModule->getGlobalVariable(Name, Ty)) {
       GenerateError("Redefinition of global variable named '" + Name +
-                     "' in the '" + Ty->getDescription() + "' type plane!");
+                     "' of type '" + Ty->getDescription() + "'!");
       return 0;
     }
   }
@@ -1095,8 +1076,8 @@
     if (Existing == T) return true;  // Yes, it's equal.
 
     // Any other kind of (non-equivalent) redefinition is an error.
-    GenerateError("Redefinition of type named '" + Name + "' in the '" +
-                   T->getDescription() + "' type plane!");
+    GenerateError("Redefinition of type named '" + Name + "' of type '" +
+                   T->getDescription() + "'!");
   }
 
   return false;
@@ -1239,7 +1220,7 @@
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 895 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 876 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1286,7 +1267,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 } YYSTYPE;
 /* Line 196 of yacc.c.  */
-#line 1290 "llvmAsmParser.tab.c"
+#line 1271 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1298,7 +1279,7 @@
 
 
 /* Line 219 of yacc.c.  */
-#line 1302 "llvmAsmParser.tab.c"
+#line 1283 "llvmAsmParser.tab.c"
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
 # define YYSIZE_T __SIZE_TYPE__
@@ -1648,35 +1629,35 @@
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
-       0,  1038,  1038,  1039,  1049,  1049,  1049,  1049,  1049,  1049,
-    1049,  1049,  1049,  1050,  1050,  1050,  1051,  1051,  1051,  1051,
-    1051,  1051,  1052,  1052,  1052,  1052,  1052,  1052,  1053,  1053,
-    1053,  1055,  1055,  1056,  1056,  1057,  1057,  1058,  1058,  1059,
-    1059,  1063,  1063,  1064,  1064,  1065,  1065,  1066,  1066,  1067,
-    1067,  1068,  1068,  1069,  1069,  1070,  1071,  1076,  1076,  1076,
-    1076,  1077,  1077,  1080,  1084,  1090,  1091,  1092,  1093,  1094,
-    1098,  1099,  1100,  1104,  1105,  1106,  1110,  1111,  1112,  1113,
-    1114,  1117,  1118,  1119,  1120,  1121,  1122,  1123,  1124,  1131,
-    1132,  1135,  1136,  1141,  1142,  1145,  1146,  1153,  1154,  1160,
-    1161,  1169,  1177,  1178,  1183,  1184,  1185,  1190,  1203,  1203,
-    1203,  1203,  1203,  1203,  1203,  1203,  1206,  1210,  1214,  1221,
-    1226,  1234,  1252,  1270,  1275,  1287,  1297,  1301,  1311,  1318,
-    1325,  1332,  1337,  1342,  1349,  1350,  1357,  1364,  1372,  1377,
-    1388,  1416,  1432,  1461,  1489,  1510,  1525,  1537,  1544,  1607,
-    1617,  1627,  1633,  1639,  1643,  1647,  1655,  1669,  1690,  1698,
-    1704,  1715,  1720,  1725,  1734,  1740,  1746,  1755,  1759,  1767,
-    1767,  1778,  1783,  1791,  1792,  1796,  1796,  1800,  1800,  1803,
-    1806,  1818,  1842,  1853,  1853,  1862,  1862,  1870,  1870,  1880,
-    1883,  1889,  1902,  1903,  1905,  1909,  1918,  1922,  1927,  1929,
-    1934,  1939,  1948,  1948,  1949,  1949,  1951,  1961,  1972,  1976,
-    1985,  1994,  1999,  2104,  2104,  2106,  2114,  2114,  2116,  2121,
-    2132,  2136,  2141,  2145,  2149,  2153,  2157,  2161,  2165,  2169,
-    2173,  2198,  2202,  2216,  2220,  2226,  2226,  2232,  2241,  2245,
-    2254,  2265,  2274,  2286,  2299,  2303,  2307,  2312,  2321,  2340,
-    2349,  2416,  2420,  2427,  2438,  2451,  2460,  2471,  2481,  2489,
-    2497,  2500,  2501,  2508,  2512,  2517,  2538,  2555,  2568,  2581,
-    2594,  2603,  2616,  2624,  2631,  2637,  2643,  2649,  2664,  2727,
-    2732,  2736,  2743,  2750,  2758,  2765,  2773,  2781,  2795,  2812
+       0,  1019,  1019,  1020,  1030,  1030,  1030,  1030,  1030,  1030,
+    1030,  1030,  1030,  1031,  1031,  1031,  1032,  1032,  1032,  1032,
+    1032,  1032,  1033,  1033,  1033,  1033,  1033,  1033,  1034,  1034,
+    1034,  1036,  1036,  1037,  1037,  1038,  1038,  1039,  1039,  1040,
+    1040,  1044,  1044,  1045,  1045,  1046,  1046,  1047,  1047,  1048,
+    1048,  1049,  1049,  1050,  1050,  1051,  1052,  1057,  1057,  1057,
+    1057,  1058,  1058,  1061,  1065,  1071,  1072,  1073,  1074,  1075,
+    1079,  1080,  1081,  1085,  1086,  1087,  1091,  1092,  1093,  1094,
+    1095,  1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,  1112,
+    1113,  1116,  1117,  1122,  1123,  1126,  1127,  1134,  1135,  1141,
+    1142,  1150,  1158,  1159,  1164,  1165,  1166,  1171,  1184,  1184,
+    1184,  1184,  1184,  1184,  1184,  1184,  1187,  1191,  1195,  1202,
+    1207,  1215,  1233,  1251,  1256,  1268,  1278,  1282,  1292,  1299,
+    1306,  1313,  1318,  1323,  1330,  1331,  1338,  1345,  1353,  1358,
+    1369,  1397,  1413,  1442,  1470,  1491,  1506,  1518,  1525,  1588,
+    1598,  1608,  1614,  1620,  1624,  1628,  1636,  1650,  1671,  1679,
+    1685,  1696,  1701,  1706,  1715,  1721,  1727,  1736,  1740,  1748,
+    1748,  1759,  1764,  1772,  1773,  1777,  1777,  1781,  1781,  1784,
+    1787,  1799,  1823,  1834,  1834,  1843,  1843,  1851,  1851,  1861,
+    1864,  1870,  1883,  1884,  1886,  1890,  1899,  1903,  1908,  1910,
+    1915,  1920,  1929,  1929,  1930,  1930,  1932,  1942,  1953,  1957,
+    1966,  1975,  1980,  2085,  2085,  2087,  2095,  2095,  2097,  2102,
+    2113,  2117,  2122,  2126,  2130,  2134,  2138,  2142,  2146,  2150,
+    2154,  2179,  2183,  2197,  2201,  2207,  2207,  2213,  2222,  2226,
+    2235,  2246,  2255,  2267,  2280,  2284,  2288,  2293,  2302,  2321,
+    2330,  2397,  2401,  2408,  2419,  2432,  2441,  2452,  2462,  2470,
+    2478,  2481,  2482,  2489,  2493,  2498,  2519,  2536,  2549,  2562,
+    2575,  2584,  2597,  2605,  2612,  2618,  2624,  2630,  2645,  2708,
+    2713,  2717,  2724,  2731,  2739,  2746,  2754,  2762,  2776,  2793
 };
 #endif
 
@@ -2996,7 +2977,7 @@
   switch (yyn)
     {
         case 3:
-#line 1039 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1020 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3006,137 +2987,137 @@
     break;
 
   case 31:
-#line 1055 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1036 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
     break;
 
   case 32:
-#line 1055 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1036 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
     break;
 
   case 33:
-#line 1056 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1037 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
     break;
 
   case 34:
-#line 1056 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1037 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
     break;
 
   case 35:
-#line 1057 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1038 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
     break;
 
   case 36:
-#line 1057 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1038 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
     break;
 
   case 37:
-#line 1058 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1039 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
     break;
 
   case 38:
-#line 1058 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1039 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
     break;
 
   case 39:
-#line 1059 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1040 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
     break;
 
   case 40:
-#line 1059 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1040 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
     break;
 
   case 41:
-#line 1063 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1044 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
     break;
 
   case 42:
-#line 1063 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1044 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
     break;
 
   case 43:
-#line 1064 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
     break;
 
   case 44:
-#line 1064 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
     break;
 
   case 45:
-#line 1065 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1046 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
     break;
 
   case 46:
-#line 1065 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1046 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
     break;
 
   case 47:
-#line 1066 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1047 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
     break;
 
   case 48:
-#line 1066 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1047 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
     break;
 
   case 49:
-#line 1067 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
     break;
 
   case 50:
-#line 1067 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
     break;
 
   case 51:
-#line 1068 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1049 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
     break;
 
   case 52:
-#line 1068 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1049 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
     break;
 
   case 53:
-#line 1069 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
     break;
 
   case 54:
-#line 1069 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1050 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
     break;
 
   case 55:
-#line 1070 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1051 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
     break;
 
   case 56:
-#line 1071 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1052 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
     break;
 
   case 63:
-#line 1080 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1061 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
@@ -3144,7 +3125,7 @@
     break;
 
   case 64:
-#line 1084 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1065 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
@@ -3152,122 +3133,122 @@
     break;
 
   case 65:
-#line 1090 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1071 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 66:
-#line 1091 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1072 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 67:
-#line 1092 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1073 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 68:
-#line 1093 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1074 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
   case 69:
-#line 1094 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1075 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 70:
-#line 1098 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1079 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 71:
-#line 1099 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1080 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 72:
-#line 1100 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1081 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 73:
-#line 1104 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1085 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 74:
-#line 1105 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1086 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 75:
-#line 1106 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1087 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 76:
-#line 1110 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1091 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 77:
-#line 1111 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1092 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 78:
-#line 1112 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1093 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 79:
-#line 1113 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1094 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 80:
-#line 1114 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1095 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 81:
-#line 1117 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1098 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 82:
-#line 1118 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1099 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 83:
-#line 1119 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1100 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::CSRet; ;}
     break;
 
   case 84:
-#line 1120 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1101 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
   case 85:
-#line 1121 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1102 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
   case 86:
-#line 1122 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1103 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
     break;
 
   case 87:
-#line 1123 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1104 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
     break;
 
   case 88:
-#line 1124 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1105 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
@@ -3277,51 +3258,51 @@
     break;
 
   case 89:
-#line 1131 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
     break;
 
   case 90:
-#line 1132 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
     break;
 
   case 91:
-#line 1135 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1116 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
   case 92:
-#line 1136 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1117 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
   case 93:
-#line 1141 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
     break;
 
   case 95:
-#line 1145 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1126 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
   case 96:
-#line 1146 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1127 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
   case 97:
-#line 1153 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1134 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
   case 98:
-#line 1154 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1135 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3331,12 +3312,12 @@
     break;
 
   case 99:
-#line 1160 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1141 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
   case 100:
-#line 1161 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1142 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3346,7 +3327,7 @@
     break;
 
   case 101:
-#line 1169 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1150 "/proj/llvm/llvm-3/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] == '\\')
@@ -3357,27 +3338,27 @@
     break;
 
   case 102:
-#line 1177 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1158 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
   case 103:
-#line 1178 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1159 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
   case 104:
-#line 1183 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1164 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
   case 105:
-#line 1184 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1165 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
   case 106:
-#line 1185 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1166 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -3386,7 +3367,7 @@
     break;
 
   case 107:
-#line 1190 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1171 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two!");
@@ -3396,7 +3377,7 @@
     break;
 
   case 116:
-#line 1206 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1187 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
@@ -3404,7 +3385,7 @@
     break;
 
   case 117:
-#line 1210 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1191 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
@@ -3412,7 +3393,7 @@
     break;
 
   case 118:
-#line 1214 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1195 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3423,7 +3404,7 @@
     break;
 
   case 119:
-#line 1221 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1202 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
     const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -3432,7 +3413,7 @@
     break;
 
   case 120:
-#line 1226 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1207 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
     if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -3444,7 +3425,7 @@
     break;
 
   case 121:
-#line 1234 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1215 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3466,7 +3447,7 @@
     break;
 
   case 122:
-#line 1252 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1233 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3487,7 +3468,7 @@
     break;
 
   case 123:
-#line 1270 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1251 "/proj/llvm/llvm-3/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);
@@ -3496,7 +3477,7 @@
     break;
 
   case 124:
-#line 1275 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1256 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
      const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
      if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3512,7 +3493,7 @@
     break;
 
   case 125:
-#line 1287 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1268 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3526,7 +3507,7 @@
     break;
 
   case 126:
-#line 1297 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1278 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
@@ -3534,7 +3515,7 @@
     break;
 
   case 127:
-#line 1301 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1282 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
@@ -3548,7 +3529,7 @@
     break;
 
   case 128:
-#line 1311 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1292 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
@@ -3556,7 +3537,7 @@
     break;
 
   case 129:
-#line 1318 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1299 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); 
     (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); 
@@ -3564,7 +3545,7 @@
     break;
 
   case 130:
-#line 1325 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1306 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3575,14 +3556,14 @@
     break;
 
   case 131:
-#line 1332 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1313 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
   ;}
     break;
 
   case 132:
-#line 1337 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1318 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
@@ -3591,7 +3572,7 @@
     break;
 
   case 133:
-#line 1342 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1323 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
     CHECK_FOR_ERROR
@@ -3599,7 +3580,7 @@
     break;
 
   case 135:
-#line 1350 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1331 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3610,7 +3591,7 @@
     break;
 
   case 136:
-#line 1357 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1338 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3621,7 +3602,7 @@
     break;
 
   case 137:
-#line 1364 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1345 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
@@ -3629,7 +3610,7 @@
     break;
 
   case 138:
-#line 1372 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1353 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
@@ -3638,7 +3619,7 @@
     break;
 
   case 139:
-#line 1377 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1358 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
@@ -3646,7 +3627,7 @@
     break;
 
   case 140:
-#line 1388 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1369 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3678,7 +3659,7 @@
     break;
 
   case 141:
-#line 1416 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1397 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3698,7 +3679,7 @@
     break;
 
   case 142:
-#line 1432 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1413 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3731,7 +3712,7 @@
     break;
 
   case 143:
-#line 1461 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1442 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3763,7 +3744,7 @@
     break;
 
   case 144:
-#line 1489 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1470 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
@@ -3788,7 +3769,7 @@
     break;
 
   case 145:
-#line 1510 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1491 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3807,7 +3788,7 @@
     break;
 
   case 146:
-#line 1525 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1506 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3823,7 +3804,7 @@
     break;
 
   case 147:
-#line 1537 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1518 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3834,7 +3815,7 @@
     break;
 
   case 148:
-#line 1544 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1525 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3901,7 +3882,7 @@
     break;
 
   case 149:
-#line 1607 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1588 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3915,7 +3896,7 @@
     break;
 
   case 150:
-#line 1617 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1598 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3929,7 +3910,7 @@
     break;
 
   case 151:
-#line 1627 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1608 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3939,7 +3920,7 @@
     break;
 
   case 152:
-#line 1633 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1614 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3949,7 +3930,7 @@
     break;
 
   case 153:
-#line 1639 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1620 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     (yyval.ConstVal) = ConstantBool::getTrue();
     CHECK_FOR_ERROR
@@ -3957,7 +3938,7 @@
     break;
 
   case 154:
-#line 1643 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1624 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     (yyval.ConstVal) = ConstantBool::getFalse();
     CHECK_FOR_ERROR
@@ -3965,7 +3946,7 @@
     break;
 
   case 155:
-#line 1647 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1628 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
       GEN_ERROR("Floating point constant invalid for type!!");
@@ -3975,7 +3956,7 @@
     break;
 
   case 156:
-#line 1655 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1636 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3993,7 +3974,7 @@
     break;
 
   case 157:
-#line 1669 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1650 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
@@ -4018,7 +3999,7 @@
     break;
 
   case 158:
-#line 1690 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1671 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy)
       GEN_ERROR("Select condition must be of boolean type!");
@@ -4030,7 +4011,7 @@
     break;
 
   case 159:
-#line 1698 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1679 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
@@ -4040,7 +4021,7 @@
     break;
 
   case 160:
-#line 1704 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1685 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
@@ -4055,7 +4036,7 @@
     break;
 
   case 161:
-#line 1715 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1696 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match!");
@@ -4064,7 +4045,7 @@
     break;
 
   case 162:
-#line 1720 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1701 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match!");
@@ -4073,7 +4054,7 @@
     break;
 
   case 163:
-#line 1725 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1706 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].ConstVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift count for shift constant must be i8 type!");
@@ -4086,7 +4067,7 @@
     break;
 
   case 164:
-#line 1734 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1715 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -4096,7 +4077,7 @@
     break;
 
   case 165:
-#line 1740 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1721 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -4106,7 +4087,7 @@
     break;
 
   case 166:
-#line 1746 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1727 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -4116,7 +4097,7 @@
     break;
 
   case 167:
-#line 1755 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1736 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
@@ -4124,7 +4105,7 @@
     break;
 
   case 168:
-#line 1759 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1740 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -4133,17 +4114,17 @@
     break;
 
   case 169:
-#line 1767 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1748 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
   case 170:
-#line 1767 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1748 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
   case 171:
-#line 1778 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1759 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4152,7 +4133,7 @@
     break;
 
   case 172:
-#line 1783 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1764 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4161,12 +4142,12 @@
     break;
 
   case 175:
-#line 1796 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1777 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = false ;}
     break;
 
   case 176:
-#line 1796 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1777 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
@@ -4174,26 +4155,26 @@
     break;
 
   case 177:
-#line 1800 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1781 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
   case 178:
-#line 1800 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1781 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 179:
-#line 1803 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1784 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 180:
-#line 1806 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1787 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     // Emit an error if there are any unresolved types left.
     if (!CurModule.LateResolveTypes.empty()) {
@@ -4209,7 +4190,7 @@
     break;
 
   case 181:
-#line 1818 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1799 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4237,7 +4218,7 @@
     break;
 
   case 182:
-#line 1842 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1823 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
 
@@ -4252,7 +4233,7 @@
     break;
 
   case 183:
-#line 1853 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1834 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { /* "Externally Visible" Linkage */
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
@@ -4263,14 +4244,14 @@
     break;
 
   case 184:
-#line 1859 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1840 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
   case 185:
-#line 1862 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1843 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
@@ -4280,14 +4261,14 @@
     break;
 
   case 186:
-#line 1867 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1848 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
   case 187:
-#line 1870 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1851 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4298,7 +4279,7 @@
     break;
 
   case 188:
-#line 1876 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1857 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
@@ -4306,21 +4287,21 @@
     break;
 
   case 189:
-#line 1880 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1861 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 190:
-#line 1883 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1864 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 191:
-#line 1889 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1870 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4336,17 +4317,17 @@
     break;
 
   case 192:
-#line 1902 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1883 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::BigEndian; ;}
     break;
 
   case 193:
-#line 1903 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1884 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::LittleEndian; ;}
     break;
 
   case 194:
-#line 1905 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1886 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
     CHECK_FOR_ERROR
@@ -4354,7 +4335,7 @@
     break;
 
   case 195:
-#line 1909 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1890 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -4367,7 +4348,7 @@
     break;
 
   case 196:
-#line 1918 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1899 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -4375,7 +4356,7 @@
     break;
 
   case 197:
-#line 1922 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1903 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -4383,7 +4364,7 @@
     break;
 
   case 199:
-#line 1929 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1910 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4392,7 +4373,7 @@
     break;
 
   case 200:
-#line 1934 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1915 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4401,19 +4382,19 @@
     break;
 
   case 201:
-#line 1939 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1920 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
   case 205:
-#line 1949 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1930 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
   case 206:
-#line 1951 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1932 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4427,7 +4408,7 @@
     break;
 
   case 207:
-#line 1961 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1942 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4441,7 +4422,7 @@
     break;
 
   case 208:
-#line 1972 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1953 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
@@ -4449,7 +4430,7 @@
     break;
 
   case 209:
-#line 1976 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1957 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     struct ArgListEntry E;
@@ -4462,7 +4443,7 @@
     break;
 
   case 210:
-#line 1985 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1966 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
@@ -4475,7 +4456,7 @@
     break;
 
   case 211:
-#line 1994 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1975 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
@@ -4483,7 +4464,7 @@
     break;
 
   case 212:
-#line 2000 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 1981 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[-6].StrVal));
   std::string FunctionName((yyvsp[-6].StrVal));
@@ -4590,7 +4571,7 @@
     break;
 
   case 215:
-#line 2106 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2087 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4601,7 +4582,7 @@
     break;
 
   case 218:
-#line 2116 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2097 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
@@ -4609,7 +4590,7 @@
     break;
 
   case 219:
-#line 2121 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2102 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.CurrentFunction->setLinkage((yyvsp[-1].Linkage));
     (yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -4619,7 +4600,7 @@
     break;
 
   case 220:
-#line 2132 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2113 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
@@ -4627,7 +4608,7 @@
     break;
 
   case 221:
-#line 2136 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2117 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
@@ -4635,7 +4616,7 @@
     break;
 
   case 222:
-#line 2141 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2122 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
@@ -4643,7 +4624,7 @@
     break;
 
   case 223:
-#line 2145 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2126 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
@@ -4651,7 +4632,7 @@
     break;
 
   case 224:
-#line 2149 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2130 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
     CHECK_FOR_ERROR
@@ -4659,7 +4640,7 @@
     break;
 
   case 225:
-#line 2153 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2134 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getTrue());
     CHECK_FOR_ERROR
@@ -4667,7 +4648,7 @@
     break;
 
   case 226:
-#line 2157 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2138 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getFalse());
     CHECK_FOR_ERROR
@@ -4675,7 +4656,7 @@
     break;
 
   case 227:
-#line 2161 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2142 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
@@ -4683,7 +4664,7 @@
     break;
 
   case 228:
-#line 2165 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2146 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
@@ -4691,7 +4672,7 @@
     break;
 
   case 229:
-#line 2169 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2150 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
@@ -4699,7 +4680,7 @@
     break;
 
   case 230:
-#line 2173 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2154 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
     int NumElements = (yyvsp[-1].ConstVector)->size(); 
@@ -4728,7 +4709,7 @@
     break;
 
   case 231:
-#line 2198 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2179 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
@@ -4736,7 +4717,7 @@
     break;
 
   case 232:
-#line 2202 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2183 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4750,7 +4731,7 @@
     break;
 
   case 233:
-#line 2216 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2197 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
     CHECK_FOR_ERROR
@@ -4758,7 +4739,7 @@
     break;
 
   case 234:
-#line 2220 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2201 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
@@ -4766,7 +4747,7 @@
     break;
 
   case 237:
-#line 2232 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2213 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4777,7 +4758,7 @@
     break;
 
   case 238:
-#line 2241 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2222 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
@@ -4785,7 +4766,7 @@
     break;
 
   case 239:
-#line 2245 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2226 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
@@ -4793,7 +4774,7 @@
     break;
 
   case 240:
-#line 2254 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2235 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
@@ -4807,7 +4788,7 @@
     break;
 
   case 241:
-#line 2265 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2246 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -4820,7 +4801,7 @@
     break;
 
   case 242:
-#line 2274 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2255 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
@@ -4836,7 +4817,7 @@
     break;
 
   case 243:
-#line 2286 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2267 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
     CHECK_FOR_ERROR
@@ -4852,7 +4833,7 @@
     break;
 
   case 244:
-#line 2299 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2280 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
@@ -4860,7 +4841,7 @@
     break;
 
   case 245:
-#line 2303 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2284 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
@@ -4868,7 +4849,7 @@
     break;
 
   case 246:
-#line 2307 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2288 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -4877,7 +4858,7 @@
     break;
 
   case 247:
-#line 2312 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2293 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {  
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
@@ -4890,7 +4871,7 @@
     break;
 
   case 248:
-#line 2321 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2302 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
@@ -4913,7 +4894,7 @@
     break;
 
   case 249:
-#line 2340 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2321 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
@@ -4926,7 +4907,7 @@
     break;
 
   case 250:
-#line 2350 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2331 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -4996,7 +4977,7 @@
     break;
 
   case 251:
-#line 2416 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2397 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
@@ -5004,7 +4985,7 @@
     break;
 
   case 252:
-#line 2420 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2401 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
@@ -5012,7 +4993,7 @@
     break;
 
   case 253:
-#line 2427 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2408 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5027,7 +5008,7 @@
     break;
 
   case 254:
-#line 2438 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2419 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5043,7 +5024,7 @@
     break;
 
   case 255:
-#line 2451 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2432 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
   setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -5055,7 +5036,7 @@
     break;
 
   case 256:
-#line 2460 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2441 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
@@ -5070,7 +5051,7 @@
     break;
 
   case 257:
-#line 2471 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2452 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[-6].PHIList);
     Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -5082,7 +5063,7 @@
     break;
 
   case 258:
-#line 2481 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2462 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {    
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5094,7 +5075,7 @@
     break;
 
   case 259:
-#line 2489 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2470 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5106,17 +5087,17 @@
     break;
 
   case 260:
-#line 2497 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2478 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueRefList) = new ValueRefList(); ;}
     break;
 
   case 261:
-#line 2500 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2481 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = new std::vector<Value*>(); ;}
     break;
 
   case 262:
-#line 2501 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2482 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5125,7 +5106,7 @@
     break;
 
   case 263:
-#line 2508 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2489 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
@@ -5133,7 +5114,7 @@
     break;
 
   case 264:
-#line 2512 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2493 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
@@ -5141,7 +5122,7 @@
     break;
 
   case 265:
-#line 2517 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2498 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5166,7 +5147,7 @@
     break;
 
   case 266:
-#line 2538 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2519 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5187,7 +5168,7 @@
     break;
 
   case 267:
-#line 2555 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2536 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5204,7 +5185,7 @@
     break;
 
   case 268:
-#line 2568 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2549 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5221,7 +5202,7 @@
     break;
 
   case 269:
-#line 2581 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2562 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     cerr << "WARNING: Use of eliminated 'not' instruction:"
          << " Replacing with 'xor'.\n";
@@ -5238,7 +5219,7 @@
     break;
 
   case 270:
-#line 2594 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2575 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ValueVal)->getType() != Type::Int8Ty)
       GEN_ERROR("Shift amount must be i8 type!");
@@ -5251,7 +5232,7 @@
     break;
 
   case 271:
-#line 2603 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2584 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5268,7 +5249,7 @@
     break;
 
   case 272:
-#line 2616 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2597 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-4].ValueVal)->getType() != Type::BoolTy)
       GEN_ERROR("select condition must be boolean!");
@@ -5280,7 +5261,7 @@
     break;
 
   case 273:
-#line 2624 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2605 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5291,7 +5272,7 @@
     break;
 
   case 274:
-#line 2631 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2612 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -5301,7 +5282,7 @@
     break;
 
   case 275:
-#line 2637 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2618 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -5311,7 +5292,7 @@
     break;
 
   case 276:
-#line 2643 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2624 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -5321,7 +5302,7 @@
     break;
 
   case 277:
-#line 2649 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2630 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5340,7 +5321,7 @@
     break;
 
   case 278:
-#line 2665 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2646 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -5406,7 +5387,7 @@
     break;
 
   case 279:
-#line 2727 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2708 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
@@ -5414,7 +5395,7 @@
     break;
 
   case 280:
-#line 2732 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2713 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
@@ -5422,7 +5403,7 @@
     break;
 
   case 281:
-#line 2736 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2717 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
@@ -5430,7 +5411,7 @@
     break;
 
   case 282:
-#line 2743 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2724 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5441,7 +5422,7 @@
     break;
 
   case 283:
-#line 2750 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2731 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5453,7 +5434,7 @@
     break;
 
   case 284:
-#line 2758 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2739 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5464,7 +5445,7 @@
     break;
 
   case 285:
-#line 2765 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2746 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5476,7 +5457,7 @@
     break;
 
   case 286:
-#line 2773 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2754 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5487,7 +5468,7 @@
     break;
 
   case 287:
-#line 2781 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2762 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5505,7 +5486,7 @@
     break;
 
   case 288:
-#line 2795 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2776 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5526,7 +5507,7 @@
     break;
 
   case 289:
-#line 2812 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2793 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5549,7 +5530,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 5553 "llvmAsmParser.tab.c"
+#line 5534 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5817,7 +5798,7 @@
 }
 
 
-#line 2829 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 2810 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.35 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.36
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.35	Fri Jan  5 11:07:23 2007
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Fri Jan  5 15:51:07 2007
@@ -303,7 +303,7 @@
 
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 895 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
+#line 876 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;


Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.46 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.47
--- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.46	Fri Jan  5 11:07:23 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y.cvs	Fri Jan  5 15:51:07 2007
@@ -635,8 +635,8 @@
     assert(inFunctionScope() && "Must be in function scope!");
     SymbolTable &ST = CurFun.CurrentFunction->getSymbolTable();
     if (ST.lookup(V->getType(), Name)) {
-      GenerateError("Redefinition of value named '" + Name + "' in the '" +
-                     V->getType()->getDescription() + "' type plane!");
+      GenerateError("Redefinition of value '" + Name + "' of type '" +
+                     V->getType()->getDescription() + "'!");
       return;
     }
 
@@ -687,32 +687,13 @@
   }
 
   // If this global has a name, check to see if there is already a definition
-  // of this global in the module.  If so, merge as appropriate.  Note that
-  // this is really just a hack around problems in the CFE.  :(
+  // of this global in the module.  If so, it is an error.
   if (!Name.empty()) {
     // We are a simple redefinition of a value, check to see if it is defined
     // the same as the old one.
-    if (GlobalVariable *EGV =
-                CurModule.CurrentModule->getGlobalVariable(Name, Ty)) {
-      // We are allowed to redefine a global variable in two circumstances:
-      // 1. If at least one of the globals is uninitialized or
-      // 2. If both initializers have the same value.
-      //
-      if (!EGV->hasInitializer() || !Initializer ||
-          EGV->getInitializer() == Initializer) {
-
-        // Make sure the existing global version gets the initializer!  Make
-        // sure that it also gets marked const if the new version is.
-        if (Initializer && !EGV->hasInitializer())
-          EGV->setInitializer(Initializer);
-        if (isConstantGlobal)
-          EGV->setConstant(true);
-        EGV->setLinkage(Linkage);
-        return EGV;
-      }
-
+    if (CurModule.CurrentModule->getGlobalVariable(Name, Ty)) {
       GenerateError("Redefinition of global variable named '" + Name +
-                     "' in the '" + Ty->getDescription() + "' type plane!");
+                     "' of type '" + Ty->getDescription() + "'!");
       return 0;
     }
   }
@@ -767,8 +748,8 @@
     if (Existing == T) return true;  // Yes, it's equal.
 
     // Any other kind of (non-equivalent) redefinition is an error.
-    GenerateError("Redefinition of type named '" + Name + "' in the '" +
-                   T->getDescription() + "' type plane!");
+    GenerateError("Redefinition of type named '" + Name + "' of type '" +
+                   T->getDescription() + "'!");
   }
 
   return false;






More information about the llvm-commits mailing list