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

Jeff Cohen jeffc at jolt-lang.org
Sat Oct 22 21:37:37 PDT 2005



Changes in directory llvm/lib/AsmParser:

llvmAsmParser.cpp updated: 1.17 -> 1.18
llvmAsmParser.h updated: 1.9 -> 1.10
llvmAsmParser.y updated: 1.231 -> 1.232
---
Log message:

When a function takes a variable number of pointer arguments, with a zero
pointer marking the end of the list, the zero *must* be cast to the pointer
type.  An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.

The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.


---
Diffs of the changes:  (+222 -219)

 llvmAsmParser.cpp |  422 +++++++++++++++++++++++++++---------------------------
 llvmAsmParser.h   |    8 -
 llvmAsmParser.y   |   11 -
 3 files changed, 222 insertions(+), 219 deletions(-)


Index: llvm/lib/AsmParser/llvmAsmParser.cpp
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp:1.17 llvm/lib/AsmParser/llvmAsmParser.cpp:1.18
--- llvm/lib/AsmParser/llvmAsmParser.cpp:1.17	Sat Aug 27 13:50:38 2005
+++ llvm/lib/AsmParser/llvmAsmParser.cpp	Sat Oct 22 23:37:19 2005
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 1.875c.  */
+/* A Bison parser, made by GNU Bison 1.875d.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -251,7 +251,7 @@
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -1007,7 +1007,7 @@
       const Type* ArgTy = F->getFunctionType()->getReturnType();
       const Type* ArgTyPtr = PointerType::get(ArgTy);
       Function* NF = Result->getOrInsertFunction("llvm.va_start", 
-                                                 RetTy, ArgTyPtr, 0);
+                                                 RetTy, ArgTyPtr, (Type *)0);
 
       while (!F->use_empty()) {
         CallInst* CI = cast<CallInst>(F->use_back());
@@ -1032,7 +1032,7 @@
       const Type* ArgTy = F->getFunctionType()->getParamType(0);
       const Type* ArgTyPtr = PointerType::get(ArgTy);
       Function* NF = Result->getOrInsertFunction("llvm.va_end", 
-                                                 RetTy, ArgTyPtr, 0);
+                                                 RetTy, ArgTyPtr, (Type *)0);
 
       while (!F->use_empty()) {
         CallInst* CI = cast<CallInst>(F->use_back());
@@ -1059,7 +1059,8 @@
       const Type* ArgTy = F->getFunctionType()->getReturnType();
       const Type* ArgTyPtr = PointerType::get(ArgTy);
       Function* NF = Result->getOrInsertFunction("llvm.va_copy", 
-                                                 RetTy, ArgTyPtr, ArgTyPtr, 0);
+                                                 RetTy, ArgTyPtr, ArgTyPtr,
+                                                 (Type *)0);
 
       while (!F->use_empty()) {
         CallInst* CI = cast<CallInst>(F->use_back());
@@ -1117,7 +1118,7 @@
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 865 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 866 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1158,7 +1159,7 @@
   llvm::Module::Endianness                Endianness;
 } YYSTYPE;
 /* Line 191 of yacc.c.  */
-#line 1162 "llvmAsmParser.tab.c"
+#line 1163 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1170,7 +1171,7 @@
 
 
 /* Line 214 of yacc.c.  */
-#line 1174 "llvmAsmParser.tab.c"
+#line 1175 "llvmAsmParser.tab.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -1218,7 +1219,7 @@
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
 {
-  short yyss;
+  short int yyss;
   YYSTYPE yyvs;
   };
 
@@ -1228,7 +1229,7 @@
 /* The size of an array large to enough to hold all stacks, each with
    N elements.  */
 # define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
       + YYSTACK_GAP_MAXIMUM)
 
 /* Copy COUNT objects from FROM to TO.  The source and destination do
@@ -1270,7 +1271,7 @@
 #if defined (__STDC__) || defined (__cplusplus)
    typedef signed char yysigned_char;
 #else
-   typedef short yysigned_char;
+   typedef short int yysigned_char;
 #endif
 
 /* YYFINAL -- State number of the termination state. */
@@ -1337,7 +1338,7 @@
 #if YYDEBUG
 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    YYRHS.  */
-static const unsigned short yyprhs[] =
+static const unsigned short int yyprhs[] =
 {
        0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
       19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
@@ -1364,7 +1365,7 @@
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const short yyrhs[] =
+static const short int yyrhs[] =
 {
      133,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
       -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,
@@ -1437,30 +1438,30 @@
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
-static const unsigned short yyrline[] =
+static const unsigned short int yyrline[] =
 {
-       0,   982,   982,   983,   990,   991,  1000,  1000,  1000,  1000,
-    1000,  1001,  1001,  1001,  1002,  1002,  1002,  1002,  1002,  1002,
-    1004,  1004,  1008,  1008,  1008,  1008,  1009,  1009,  1009,  1009,
-    1010,  1010,  1011,  1011,  1014,  1017,  1021,  1022,  1023,  1024,
-    1025,  1027,  1028,  1029,  1030,  1031,  1044,  1044,  1045,  1045,
-    1047,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1057,  1057,
-    1057,  1057,  1057,  1057,  1058,  1061,  1064,  1070,  1077,  1089,
-    1093,  1104,  1113,  1116,  1124,  1128,  1133,  1134,  1137,  1140,
-    1150,  1175,  1188,  1216,  1241,  1261,  1273,  1282,  1286,  1345,
-    1351,  1359,  1364,  1369,  1372,  1375,  1382,  1392,  1423,  1430,
-    1451,  1458,  1463,  1473,  1476,  1483,  1483,  1493,  1500,  1504,
-    1507,  1510,  1523,  1543,  1545,  1549,  1553,  1555,  1557,  1562,
-    1563,  1565,  1568,  1576,  1581,  1583,  1587,  1591,  1599,  1599,
-    1600,  1600,  1602,  1608,  1613,  1619,  1622,  1627,  1631,  1635,
-    1715,  1715,  1717,  1725,  1725,  1727,  1731,  1731,  1740,  1743,
-    1746,  1749,  1752,  1755,  1758,  1761,  1785,  1792,  1795,  1800,
-    1800,  1806,  1810,  1813,  1821,  1830,  1834,  1844,  1855,  1858,
-    1861,  1864,  1867,  1881,  1885,  1938,  1941,  1947,  1955,  1965,
-    1972,  1977,  1984,  1988,  1994,  1994,  1996,  1999,  2005,  2017,
-    2025,  2035,  2047,  2054,  2061,  2068,  2073,  2092,  2114,  2128,
-    2185,  2191,  2193,  2197,  2200,  2206,  2210,  2214,  2218,  2222,
-    2229,  2239,  2252
+       0,   983,   983,   984,   991,   992,  1001,  1001,  1001,  1001,
+    1001,  1002,  1002,  1002,  1003,  1003,  1003,  1003,  1003,  1003,
+    1005,  1005,  1009,  1009,  1009,  1009,  1010,  1010,  1010,  1010,
+    1011,  1011,  1012,  1012,  1015,  1018,  1022,  1023,  1024,  1025,
+    1026,  1028,  1029,  1030,  1031,  1032,  1045,  1045,  1046,  1046,
+    1048,  1057,  1057,  1057,  1057,  1057,  1057,  1057,  1058,  1058,
+    1058,  1058,  1058,  1058,  1059,  1062,  1065,  1071,  1078,  1090,
+    1094,  1105,  1114,  1117,  1125,  1129,  1134,  1135,  1138,  1141,
+    1151,  1176,  1189,  1217,  1242,  1262,  1274,  1283,  1287,  1346,
+    1352,  1360,  1365,  1370,  1373,  1376,  1383,  1393,  1424,  1431,
+    1452,  1459,  1464,  1474,  1477,  1484,  1484,  1494,  1501,  1505,
+    1508,  1511,  1524,  1544,  1546,  1550,  1554,  1556,  1558,  1563,
+    1564,  1566,  1569,  1577,  1582,  1584,  1588,  1592,  1600,  1600,
+    1601,  1601,  1603,  1609,  1614,  1620,  1623,  1628,  1632,  1636,
+    1716,  1716,  1718,  1726,  1726,  1728,  1732,  1732,  1741,  1744,
+    1747,  1750,  1753,  1756,  1759,  1762,  1786,  1793,  1796,  1801,
+    1801,  1807,  1811,  1814,  1822,  1831,  1835,  1845,  1856,  1859,
+    1862,  1865,  1868,  1882,  1886,  1939,  1942,  1948,  1956,  1966,
+    1973,  1978,  1985,  1989,  1995,  1995,  1997,  2000,  2006,  2018,
+    2026,  2036,  2048,  2055,  2062,  2069,  2074,  2093,  2115,  2129,
+    2186,  2192,  2194,  2198,  2201,  2207,  2211,  2215,  2219,  2223,
+    2230,  2240,  2253
 };
 #endif
 
@@ -1503,7 +1504,7 @@
 # ifdef YYPRINT
 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    token YYLEX-NUM.  */
-static const unsigned short yytoknum[] =
+static const unsigned short int yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
@@ -1623,7 +1624,7 @@
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
-static const short yydefgoto[] =
+static const short int yydefgoto[] =
 {
       -1,    69,   222,   235,   236,   237,   238,   166,   167,   196,
      168,    20,    11,    28,    70,    71,   169,    73,    74,    98,
@@ -1637,7 +1638,7 @@
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
 #define YYPACT_NINF -383
-static const short yypact[] =
+static const short int yypact[] =
 {
     -383,    48,   136,   517,  -383,  -383,  -383,  -383,  -383,  -383,
     -383,    27,    36,  -383,  -383,   -17,  -383,  -383,    46,   -21,
@@ -1684,7 +1685,7 @@
 };
 
 /* YYPGOTO[NTERM-NUM].  */
-static const short yypgoto[] =
+static const short int yypgoto[] =
 {
     -383,  -383,  -383,   254,   262,   264,   272,  -106,  -105,  -372,
     -383,   313,   333,  -101,   -38,  -383,   -28,  -383,   -56,   255,
@@ -1700,7 +1701,7 @@
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
 #define YYTABLE_NINF -108
-static const short yytable[] =
+static const short int yytable[] =
 {
       72,   170,   194,   195,    87,    77,    30,    21,   197,   291,
      293,   397,    97,    33,    72,   403,   299,    42,   216,    88,
@@ -1815,7 +1816,7 @@
       67,     0,    68
 };
 
-static const short yycheck[] =
+static const short int yycheck[] =
 {
       28,    91,   108,   108,    42,    29,    23,     3,   109,   232,
      233,   383,    68,    30,    42,   397,   100,    20,   100,    32,
@@ -2089,12 +2090,12 @@
 
 #if defined (__STDC__) || defined (__cplusplus)
 static void
-yy_stack_print (short *bottom, short *top)
+yy_stack_print (short int *bottom, short int *top)
 #else
 static void
 yy_stack_print (bottom, top)
-    short *bottom;
-    short *top;
+    short int *bottom;
+    short int *top;
 #endif
 {
   YYFPRINTF (stderr, "Stack now");
@@ -2361,9 +2362,9 @@
      to reallocate them elsewhere.  */
 
   /* The state stack.  */
-  short	yyssa[YYINITDEPTH];
-  short *yyss = yyssa;
-  register short *yyssp;
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  register short int *yyssp;
 
   /* The semantic value stack.  */
   YYSTYPE yyvsa[YYINITDEPTH];
@@ -2400,6 +2401,7 @@
   yyssp = yyss;
   yyvsp = yyvs;
 
+
   goto yysetstate;
 
 /*------------------------------------------------------------.
@@ -2425,7 +2427,7 @@
 	   these so that the &'s don't force the real ones into
 	   memory.  */
 	YYSTYPE *yyvs1 = yyvs;
-	short *yyss1 = yyss;
+	short int *yyss1 = yyss;
 
 
 	/* Each stack pointer address is followed by the size of the
@@ -2453,7 +2455,7 @@
 	yystacksize = YYMAXDEPTH;
 
       {
-	short *yyss1 = yyss;
+	short int *yyss1 = yyss;
 	union yyalloc *yyptr =
 	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
 	if (! yyptr)
@@ -2586,7 +2588,7 @@
   switch (yyn)
     {
         case 3:
-#line 983 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 984 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX)     // Outside of my range!
     ThrowException("Value too large for type!");
@@ -2595,7 +2597,7 @@
     break;
 
   case 5:
-#line 991 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 992 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX)     // Outside of my range!
     ThrowException("Value too large for type!");
@@ -2604,66 +2606,66 @@
     break;
 
   case 34:
-#line 1014 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1015 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.StrVal = yyvsp[-1].StrVal;
   ;}
     break;
 
   case 35:
-#line 1017 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1018 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.StrVal = 0;
   ;}
     break;
 
   case 36:
-#line 1021 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1022 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.Linkage = GlobalValue::InternalLinkage; ;}
     break;
 
   case 37:
-#line 1022 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1023 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 38:
-#line 1023 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1024 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.Linkage = GlobalValue::WeakLinkage; ;}
     break;
 
   case 39:
-#line 1024 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1025 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.Linkage = GlobalValue::AppendingLinkage; ;}
     break;
 
   case 40:
-#line 1025 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1026 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.Linkage = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 41:
-#line 1027 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1028 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.UIntVal = CallingConv::C; ;}
     break;
 
   case 42:
-#line 1028 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1029 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.UIntVal = CallingConv::C; ;}
     break;
 
   case 43:
-#line 1029 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1030 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.UIntVal = CallingConv::Fast; ;}
     break;
 
   case 44:
-#line 1030 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1031 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.UIntVal = CallingConv::Cold; ;}
     break;
 
   case 45:
-#line 1031 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1032 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)
                      ThrowException("Calling conv too large!");
@@ -2672,17 +2674,17 @@
     break;
 
   case 47:
-#line 1044 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;}
     break;
 
   case 49:
-#line 1045 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1046 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;}
     break;
 
   case 50:
-#line 1047 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
@@ -2691,28 +2693,28 @@
     break;
 
   case 64:
-#line 1058 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1059 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.TypeVal = new PATypeHolder(OpaqueType::get());
   ;}
     break;
 
   case 65:
-#line 1061 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1062 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
   ;}
     break;
 
   case 66:
-#line 1064 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1065 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
   yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal));
 ;}
     break;
 
   case 67:
-#line 1070 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1071 "/usr/home/llvm/obj/../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
@@ -2723,7 +2725,7 @@
     break;
 
   case 68:
-#line 1077 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1078 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {           // Function derived type?
     std::vector<const Type*> Params;
     for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
@@ -2739,7 +2741,7 @@
     break;
 
   case 69:
-#line 1089 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1090 "/usr/home/llvm/obj/../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;
@@ -2747,7 +2749,7 @@
     break;
 
   case 70:
-#line 1093 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1094 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
      const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();
      if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val) {
@@ -2762,7 +2764,7 @@
     break;
 
   case 71:
-#line 1104 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1105 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
@@ -2775,14 +2777,14 @@
     break;
 
   case 72:
-#line 1113 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
   ;}
     break;
 
   case 73:
-#line 1116 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1117 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));
     delete yyvsp[-1].TypeVal;
@@ -2790,7 +2792,7 @@
     break;
 
   case 74:
-#line 1124 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.TypeList = new std::list<PATypeHolder>();
     yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
@@ -2798,35 +2800,35 @@
     break;
 
   case 75:
-#line 1128 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1129 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
   ;}
     break;
 
   case 77:
-#line 1134 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1135 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy);
   ;}
     break;
 
   case 78:
-#line 1137 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1138 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
   ;}
     break;
 
   case 79:
-#line 1140 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1141 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.TypeList = new std::list<PATypeHolder>();
   ;}
     break;
 
   case 80:
-#line 1150 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());
     if (ATy == 0)
@@ -2855,7 +2857,7 @@
     break;
 
   case 81:
-#line 1175 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1176 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2872,7 +2874,7 @@
     break;
 
   case 82:
-#line 1188 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1189 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
@@ -2904,7 +2906,7 @@
     break;
 
   case 83:
-#line 1216 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1217 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
     if (PTy == 0)
@@ -2933,7 +2935,7 @@
     break;
 
   case 84:
-#line 1241 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1242 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
     if (STy == 0)
@@ -2957,7 +2959,7 @@
     break;
 
   case 85:
-#line 1261 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1262 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
     if (STy == 0)
@@ -2973,7 +2975,7 @@
     break;
 
   case 86:
-#line 1273 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1274 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (PTy == 0)
@@ -2986,7 +2988,7 @@
     break;
 
   case 87:
-#line 1282 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1283 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());
     delete yyvsp[-1].TypeVal;
@@ -2994,7 +2996,7 @@
     break;
 
   case 88:
-#line 1286 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1287 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (Ty == 0)
@@ -3057,7 +3059,7 @@
     break;
 
   case 89:
-#line 1345 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1346 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
       ThrowException("Mismatched types for constant expression!");
@@ -3067,7 +3069,7 @@
     break;
 
   case 90:
-#line 1351 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1352 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = yyvsp[-1].TypeVal->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -3078,7 +3080,7 @@
     break;
 
   case 91:
-#line 1359 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1360 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))
       ThrowException("Constant value doesn't fit in type!");
@@ -3087,7 +3089,7 @@
     break;
 
   case 92:
-#line 1364 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1365 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {            // integral constants
     if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))
       ThrowException("Constant value doesn't fit in type!");
@@ -3096,21 +3098,21 @@
     break;
 
   case 93:
-#line 1369 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1370 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     yyval.ConstVal = ConstantBool::True;
   ;}
     break;
 
   case 94:
-#line 1372 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1373 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     yyval.ConstVal = ConstantBool::False;
   ;}
     break;
 
   case 95:
-#line 1375 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1376 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))
       ThrowException("Floating point constant invalid for type!!");
@@ -3119,7 +3121,7 @@
     break;
 
   case 96:
-#line 1382 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1383 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())
       ThrowException("cast constant expression from a non-primitive type: '" +
@@ -3133,7 +3135,7 @@
     break;
 
   case 97:
-#line 1392 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1393 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
       ThrowException("GetElementPtr requires a pointer operand!");
@@ -3168,7 +3170,7 @@
     break;
 
   case 98:
-#line 1423 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1424 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)
       ThrowException("Select condition must be of boolean type!");
@@ -3179,7 +3181,7 @@
     break;
 
   case 99:
-#line 1430 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1431 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Binary operator types must match!");
@@ -3204,7 +3206,7 @@
     break;
 
   case 100:
-#line 1451 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1452 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Logical operator types must match!");
@@ -3215,7 +3217,7 @@
     break;
 
   case 101:
-#line 1458 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1459 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("setcc operand types must match!");
@@ -3224,7 +3226,7 @@
     break;
 
   case 102:
-#line 1463 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1464 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[-1].ConstVal->getType() != Type::UByteTy)
       ThrowException("Shift count for shift constant must be unsigned byte!");
@@ -3235,14 +3237,14 @@
     break;
 
   case 103:
-#line 1473 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1474 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
   ;}
     break;
 
   case 104:
-#line 1476 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1477 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ConstVector = new std::vector<Constant*>();
     yyval.ConstVector->push_back(yyvsp[0].ConstVal);
@@ -3250,17 +3252,17 @@
     break;
 
   case 105:
-#line 1483 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1484 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.BoolVal = false; ;}
     break;
 
   case 106:
-#line 1483 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1484 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.BoolVal = true; ;}
     break;
 
   case 107:
-#line 1493 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1494 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;
   CurModule.ModuleDone();
@@ -3268,7 +3270,7 @@
     break;
 
   case 108:
-#line 1500 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1501 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
     CurFun.FunctionDone();
@@ -3276,21 +3278,21 @@
     break;
 
   case 109:
-#line 1504 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1505 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;}
     break;
 
   case 110:
-#line 1507 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1508 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;}
     break;
 
   case 111:
-#line 1510 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1511 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ModuleVal = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -3305,7 +3307,7 @@
     break;
 
   case 112:
-#line 1523 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1524 "/usr/home/llvm/obj/../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:
@@ -3329,13 +3331,13 @@
     break;
 
   case 113:
-#line 1543 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1544 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {       // Function prototypes can be in const pool
   ;}
     break;
 
   case 114:
-#line 1545 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1546 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
     ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
@@ -3343,7 +3345,7 @@
     break;
 
   case 115:
-#line 1549 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1550 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);
     delete yyvsp[0].TypeVal;
@@ -3351,42 +3353,42 @@
     break;
 
   case 116:
-#line 1553 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1554 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { 
   ;}
     break;
 
   case 117:
-#line 1555 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1556 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   ;}
     break;
 
   case 118:
-#line 1557 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1558 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { 
   ;}
     break;
 
   case 119:
-#line 1562 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1563 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.Endianness = Module::BigEndian; ;}
     break;
 
   case 120:
-#line 1563 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1564 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.Endianness = Module::LittleEndian; ;}
     break;
 
   case 121:
-#line 1565 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1566 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
   ;}
     break;
 
   case 122:
-#line 1568 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1569 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[0].UInt64Val == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -3398,7 +3400,7 @@
     break;
 
   case 123:
-#line 1576 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1577 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
     free(yyvsp[0].StrVal);
@@ -3406,7 +3408,7 @@
     break;
 
   case 125:
-#line 1583 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1584 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
@@ -3414,7 +3416,7 @@
     break;
 
   case 126:
-#line 1587 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1588 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
@@ -3422,18 +3424,18 @@
     break;
 
   case 127:
-#line 1591 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1592 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
         ;}
     break;
 
   case 131:
-#line 1600 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1601 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.StrVal = 0; ;}
     break;
 
   case 132:
-#line 1602 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1603 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   if (*yyvsp[-1].TypeVal == Type::VoidTy)
     ThrowException("void typed arguments are invalid!");
@@ -3442,7 +3444,7 @@
     break;
 
   case 133:
-#line 1608 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1609 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ArgList = yyvsp[-2].ArgList;
     yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal);
@@ -3451,7 +3453,7 @@
     break;
 
   case 134:
-#line 1613 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1614 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();
     yyval.ArgList->push_back(*yyvsp[0].ArgVal);
@@ -3460,14 +3462,14 @@
     break;
 
   case 135:
-#line 1619 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1620 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ArgList = yyvsp[0].ArgList;
   ;}
     break;
 
   case 136:
-#line 1622 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1623 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ArgList = yyvsp[-2].ArgList;
     yyval.ArgList->push_back(std::pair<PATypeHolder*,
@@ -3476,7 +3478,7 @@
     break;
 
   case 137:
-#line 1627 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1628 "/usr/home/llvm/obj/../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));
@@ -3484,14 +3486,14 @@
     break;
 
   case 138:
-#line 1631 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1632 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ArgList = 0;
   ;}
     break;
 
   case 139:
-#line 1635 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1636 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed(yyvsp[-3].StrVal);
   std::string FunctionName(yyvsp[-3].StrVal);
@@ -3574,7 +3576,7 @@
     break;
 
   case 142:
-#line 1717 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1718 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   yyval.FunctionVal = CurFun.CurrentFunction;
 
@@ -3585,19 +3587,19 @@
     break;
 
   case 145:
-#line 1727 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1728 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   yyval.FunctionVal = yyvsp[-1].FunctionVal;
 ;}
     break;
 
   case 146:
-#line 1731 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1732 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
   case 147:
-#line 1731 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1732 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   yyval.FunctionVal = CurFun.CurrentFunction;
   CurFun.FunctionDone();
@@ -3605,56 +3607,56 @@
     break;
 
   case 148:
-#line 1740 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1741 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
   ;}
     break;
 
   case 149:
-#line 1743 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1744 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
   ;}
     break;
 
   case 150:
-#line 1746 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1747 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
   ;}
     break;
 
   case 151:
-#line 1749 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1750 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValIDVal = ValID::create(ConstantBool::True);
   ;}
     break;
 
   case 152:
-#line 1752 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1753 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValIDVal = ValID::create(ConstantBool::False);
   ;}
     break;
 
   case 153:
-#line 1755 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1756 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValIDVal = ValID::createNull();
   ;}
     break;
 
   case 154:
-#line 1758 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1759 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValIDVal = ValID::createUndef();
   ;}
     break;
 
   case 155:
-#line 1761 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1762 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
     int NumElements = yyvsp[-1].ConstVector->size(); 
@@ -3682,49 +3684,49 @@
     break;
 
   case 156:
-#line 1785 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1786 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
   ;}
     break;
 
   case 157:
-#line 1792 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1793 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
   ;}
     break;
 
   case 158:
-#line 1795 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1796 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
   ;}
     break;
 
   case 161:
-#line 1806 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1807 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal;
   ;}
     break;
 
   case 162:
-#line 1810 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1811 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;}
     break;
 
   case 163:
-#line 1813 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1814 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;}
     break;
 
   case 164:
-#line 1821 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1822 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
     InsertValue(yyvsp[0].TermInstVal);
@@ -3736,7 +3738,7 @@
     break;
 
   case 165:
-#line 1830 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1831 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);
     yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal;
@@ -3744,7 +3746,7 @@
     break;
 
   case 166:
-#line 1834 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1835 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
 
@@ -3758,7 +3760,7 @@
     break;
 
   case 167:
-#line 1844 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1845 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);
 
@@ -3772,35 +3774,35 @@
     break;
 
   case 168:
-#line 1855 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1856 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
   ;}
     break;
 
   case 169:
-#line 1858 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1859 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     yyval.TermInstVal = new ReturnInst();
   ;}
     break;
 
   case 170:
-#line 1861 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1862 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal));
   ;}
     break;
 
   case 171:
-#line 1864 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1865 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {  
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal));
   ;}
     break;
 
   case 172:
-#line 1867 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1868 "/usr/home/llvm/obj/../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;
@@ -3818,7 +3820,7 @@
     break;
 
   case 173:
-#line 1881 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1882 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0);
     yyval.TermInstVal = S;
@@ -3826,7 +3828,7 @@
     break;
 
   case 174:
-#line 1886 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1887 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3882,21 +3884,21 @@
     break;
 
   case 175:
-#line 1938 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1939 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.TermInstVal = new UnwindInst();
   ;}
     break;
 
   case 176:
-#line 1941 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1942 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.TermInstVal = new UnreachableInst();
   ;}
     break;
 
   case 177:
-#line 1947 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1948 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.JumpTable = yyvsp[-5].JumpTable;
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3908,7 +3910,7 @@
     break;
 
   case 178:
-#line 1955 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1956 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3921,7 +3923,7 @@
     break;
 
   case 179:
-#line 1965 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1966 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
   setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
@@ -3931,7 +3933,7 @@
     break;
 
   case 180:
-#line 1972 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1973 "/usr/home/llvm/obj/../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)));
@@ -3940,7 +3942,7 @@
     break;
 
   case 181:
-#line 1977 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1978 "/usr/home/llvm/obj/../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),
@@ -3949,7 +3951,7 @@
     break;
 
   case 182:
-#line 1984 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1985 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {    // Used for call statements, and memory insts...
     yyval.ValueList = new std::vector<Value*>();
     yyval.ValueList->push_back(yyvsp[0].ValueVal);
@@ -3957,7 +3959,7 @@
     break;
 
   case 183:
-#line 1988 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1989 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.ValueList = yyvsp[-2].ValueList;
     yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal);
@@ -3965,26 +3967,26 @@
     break;
 
   case 185:
-#line 1994 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1995 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { yyval.ValueList = 0; ;}
     break;
 
   case 186:
-#line 1996 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1997 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.BoolVal = true;
   ;}
     break;
 
   case 187:
-#line 1999 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2000 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.BoolVal = false;
   ;}
     break;
 
   case 188:
-#line 2005 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2006 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && 
         !isa<PackedType>((*yyvsp[-3].TypeVal).get()))
@@ -4000,7 +4002,7 @@
     break;
 
   case 189:
-#line 2017 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2018 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*yyvsp[-3].TypeVal)->isIntegral())
       ThrowException("Logical operator requires integral operands!");
@@ -4012,7 +4014,7 @@
     break;
 
   case 190:
-#line 2025 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2026 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {
       ThrowException(
@@ -4026,7 +4028,7 @@
     break;
 
   case 191:
-#line 2035 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2036 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -4042,7 +4044,7 @@
     break;
 
   case 192:
-#line 2047 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2048 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[0].ValueVal->getType() != Type::UByteTy)
       ThrowException("Shift amount must be ubyte!");
@@ -4053,7 +4055,7 @@
     break;
 
   case 193:
-#line 2054 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2055 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!yyvsp[0].TypeVal->get()->isFirstClassType())
       ThrowException("cast instruction to a non-primitive type: '" +
@@ -4064,7 +4066,7 @@
     break;
 
   case 194:
-#line 2061 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2062 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)
       ThrowException("select condition must be boolean!");
@@ -4075,7 +4077,7 @@
     break;
 
   case 195:
-#line 2068 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2069 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     NewVarArgs = true;
     yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);
@@ -4084,12 +4086,12 @@
     break;
 
   case 196:
-#line 2073 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2074 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
     Function* NF = CurModule.CurrentModule->
-      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, 0);
+      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, (Type *)0);
 
     //b = vaarg a, t -> 
     //foo = alloca 1 of t
@@ -4107,12 +4109,12 @@
     break;
 
   case 197:
-#line 2092 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2093 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
     Function* NF = CurModule.CurrentModule->
-      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, 0);
+      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, (Type *)0);
 
     //b = vanext a, t ->
     //foo = alloca 1 of t
@@ -4133,7 +4135,7 @@
     break;
 
   case 198:
-#line 2114 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2115 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = yyvsp[0].PHIList->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -4151,7 +4153,7 @@
     break;
 
   case 199:
-#line 2128 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2129 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -4212,42 +4214,42 @@
     break;
 
   case 200:
-#line 2185 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2186 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.InstVal = yyvsp[0].InstVal;
   ;}
     break;
 
   case 201:
-#line 2191 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2192 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { 
     yyval.ValueList = yyvsp[0].ValueList; 
   ;}
     break;
 
   case 202:
-#line 2193 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2194 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     { 
     yyval.ValueList = new std::vector<Value*>(); 
   ;}
     break;
 
   case 203:
-#line 2197 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2198 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.BoolVal = true;
   ;}
     break;
 
   case 204:
-#line 2200 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2201 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.BoolVal = false;
   ;}
     break;
 
   case 205:
-#line 2206 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2207 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.InstVal = new MallocInst(*yyvsp[0].TypeVal);
     delete yyvsp[0].TypeVal;
@@ -4255,7 +4257,7 @@
     break;
 
   case 206:
-#line 2210 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2211 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));
     delete yyvsp[-3].TypeVal;
@@ -4263,7 +4265,7 @@
     break;
 
   case 207:
-#line 2214 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2215 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.InstVal = new AllocaInst(*yyvsp[0].TypeVal);
     delete yyvsp[0].TypeVal;
@@ -4271,7 +4273,7 @@
     break;
 
   case 208:
-#line 2218 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2219 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));
     delete yyvsp[-3].TypeVal;
@@ -4279,7 +4281,7 @@
     break;
 
   case 209:
-#line 2222 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2223 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
       ThrowException("Trying to free nonpointer type " + 
@@ -4289,7 +4291,7 @@
     break;
 
   case 210:
-#line 2229 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2230 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
       ThrowException("Can't load from nonpointer type: " +
@@ -4303,7 +4305,7 @@
     break;
 
   case 211:
-#line 2239 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2240 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (!PT)
@@ -4320,7 +4322,7 @@
     break;
 
   case 212:
-#line 2252 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2253 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
       ThrowException("getelementptr insn requires pointer operand!");
@@ -4347,8 +4349,8 @@
 
     }
 
-/* Line 1000 of yacc.c.  */
-#line 4352 "llvmAsmParser.tab.c"
+/* Line 1010 of yacc.c.  */
+#line 4354 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4573,7 +4575,7 @@
 }
 
 
-#line 2275 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2276 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
 
 int yyerror(const char *ErrorMsg) {
   std::string where 


Index: llvm/lib/AsmParser/llvmAsmParser.h
diff -u llvm/lib/AsmParser/llvmAsmParser.h:1.9 llvm/lib/AsmParser/llvmAsmParser.h:1.10
--- llvm/lib/AsmParser/llvmAsmParser.h:1.9	Sat Aug 27 13:50:38 2005
+++ llvm/lib/AsmParser/llvmAsmParser.h	Sat Oct 22 23:37:20 2005
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 1.875c.  */
+/* A Bison parser, made by GNU Bison 1.875d.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -218,7 +218,7 @@
 
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 865 "/proj/llvm/build/../llvm/lib/AsmParser/llvmAsmParser.y"
+#line 866 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -258,7 +258,7 @@
   llvm::Instruction::OtherOps             OtherOpVal;
   llvm::Module::Endianness                Endianness;
 } YYSTYPE;
-/* Line 1275 of yacc.c.  */
+/* Line 1285 of yacc.c.  */
 #line 263 "llvmAsmParser.tab.h"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1


Index: llvm/lib/AsmParser/llvmAsmParser.y
diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.231 llvm/lib/AsmParser/llvmAsmParser.y:1.232
--- llvm/lib/AsmParser/llvmAsmParser.y:1.231	Fri Jun 24 13:00:40 2005
+++ llvm/lib/AsmParser/llvmAsmParser.y	Sat Oct 22 23:37:20 2005
@@ -766,7 +766,7 @@
       const Type* ArgTy = F->getFunctionType()->getReturnType();
       const Type* ArgTyPtr = PointerType::get(ArgTy);
       Function* NF = Result->getOrInsertFunction("llvm.va_start", 
-                                                 RetTy, ArgTyPtr, 0);
+                                                 RetTy, ArgTyPtr, (Type *)0);
 
       while (!F->use_empty()) {
         CallInst* CI = cast<CallInst>(F->use_back());
@@ -791,7 +791,7 @@
       const Type* ArgTy = F->getFunctionType()->getParamType(0);
       const Type* ArgTyPtr = PointerType::get(ArgTy);
       Function* NF = Result->getOrInsertFunction("llvm.va_end", 
-                                                 RetTy, ArgTyPtr, 0);
+                                                 RetTy, ArgTyPtr, (Type *)0);
 
       while (!F->use_empty()) {
         CallInst* CI = cast<CallInst>(F->use_back());
@@ -818,7 +818,8 @@
       const Type* ArgTy = F->getFunctionType()->getReturnType();
       const Type* ArgTyPtr = PointerType::get(ArgTy);
       Function* NF = Result->getOrInsertFunction("llvm.va_copy", 
-                                                 RetTy, ArgTyPtr, ArgTyPtr, 0);
+                                                 RetTy, ArgTyPtr, ArgTyPtr,
+                                                 (Type *)0);
 
       while (!F->use_empty()) {
         CallInst* CI = cast<CallInst>(F->use_back());
@@ -2074,7 +2075,7 @@
     ObsoleteVarArgs = true;
     const Type* ArgTy = $2->getType();
     Function* NF = CurModule.CurrentModule->
-      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, 0);
+      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, (Type *)0);
 
     //b = vaarg a, t -> 
     //foo = alloca 1 of t
@@ -2093,7 +2094,7 @@
     ObsoleteVarArgs = true;
     const Type* ArgTy = $2->getType();
     Function* NF = CurModule.CurrentModule->
-      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, 0);
+      getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, (Type *)0);
 
     //b = vanext a, t ->
     //foo = alloca 1 of t






More information about the llvm-commits mailing list