When a function takes a variable number of pointer arguments, with a zero
authorJeff Cohen <jeffc@jolt-lang.org>
Sun, 23 Oct 2005 04:37:20 +0000 (04:37 +0000)
committerJeff Cohen <jeffc@jolt-lang.org>
Sun, 23 Oct 2005 04:37:20 +0000 (04:37 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8

27 files changed:
Makefile.rules
examples/Fibonacci/fibonacci.cpp
examples/HowToUseJIT/HowToUseJIT.cpp
examples/ParallelJIT/ParallelJIT.cpp
include/llvm/Module.h
include/llvm/Support/CommandLine.h
include/llvm/Support/DataTypes.h.in
lib/AsmParser/llvmAsmParser.cpp
lib/AsmParser/llvmAsmParser.h
lib/AsmParser/llvmAsmParser.y
lib/Bytecode/Reader/Reader.cpp
lib/Bytecode/Reader/ReaderWrappers.cpp
lib/CodeGen/IntrinsicLowering.cpp
lib/Debugger/UnixLocalInferiorProcess.cpp
lib/Transforms/IPO/LowerSetJmp.cpp
lib/Transforms/IPO/SimplifyLibCalls.cpp
lib/Transforms/Instrumentation/ProfilePaths/EdgeCode.cpp
lib/Transforms/Instrumentation/ProfilePaths/InstLoops.cpp
lib/Transforms/Instrumentation/ProfilePaths/ProfilePaths.cpp
lib/Transforms/Instrumentation/ProfilingUtils.cpp
lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
lib/Transforms/Instrumentation/TraceValues.cpp
lib/Transforms/Scalar/LowerGC.cpp
lib/Transforms/Utils/LowerAllocations.cpp
lib/Transforms/Utils/LowerInvoke.cpp
tools/bugpoint/Miscompilation.cpp
tools/lli/lli.cpp

index 4b759e6..7898899 100644 (file)
@@ -221,7 +221,7 @@ else
   endif
 endif
 
-CXX.Flags += $(CXXFLAGS)
+CXX.Flags += $(CXXFLAGS) -Wformat
 C.Flags   += $(CFLAGS)
 CPP.Flags += $(CPPFLAGS)
 LD.Flags  += $(LDFLAGS)
index af17d09..e9d0136 100644 (file)
@@ -37,7 +37,8 @@ using namespace llvm;
 static Function *CreateFibFunction(Module *M) {
   // Create the fib function and insert it into module M.  This function is said
   // to return an int and take an int parameter.
-  Function *FibF = M->getOrInsertFunction("fib", Type::IntTy, Type::IntTy, 0);
+  Function *FibF = M->getOrInsertFunction("fib", Type::IntTy, Type::IntTy,
+                                          (Type *)0);
 
   // Add a basic block to the function.
   BasicBlock *BB = new BasicBlock("EntryBlock", FibF);
index 192c76d..5ba8a7f 100644 (file)
@@ -51,7 +51,8 @@ int main() {
   // Create the add1 function entry and insert this entry into module M.  The
   // function will have a return type of "int" and take an argument of "int".
   // The '0' terminates the list of argument types.
-  Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy, 0);
+  Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy,
+                                           (Type *)0);
 
   // Add a basic block to the function. As before, it automatically inserts
   // because of the last argument.
@@ -76,7 +77,7 @@ int main() {
 
   // Now we going to create function `foo', which returns an int and takes no
   // arguments.
-  Function *FooF = M->getOrInsertFunction("foo", Type::IntTy, 0);
+  Function *FooF = M->getOrInsertFunction("foo", Type::IntTy, (Type *)0);
 
   // Add a basic block to the FooF function.
   BB = new BasicBlock("EntryBlock", FooF);
index 5c605c0..56ace03 100644 (file)
@@ -33,7 +33,8 @@ static Function* createAdd1(Module* M)
   // Create the add1 function entry and insert this entry into module M.  The
   // function will have a return type of "int" and take an argument of "int".
   // The '0' terminates the list of argument types.
-  Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy, 0);
+  Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy,
+                                           (Type *)0);
 
   // Add a basic block to the function. As before, it automatically inserts
   // because of the last argument.
@@ -61,7 +62,8 @@ static Function *CreateFibFunction(Module *M)
 {
   // Create the fib function and insert it into module M.  This function is said
   // to return an int and take an int parameter.
-  Function *FibF = M->getOrInsertFunction("fib", Type::IntTy, Type::IntTy, 0);
+  Function *FibF = M->getOrInsertFunction("fib", Type::IntTy, Type::IntTy,
+                                          (Type *)0);
 
   // Add a basic block to the function.
   BasicBlock *BB = new BasicBlock("EntryBlock", FibF);
index d4932fc..d491c75 100644 (file)
@@ -22,6 +22,7 @@
 #include "llvm/Function.h"
 #include "llvm/GlobalVariable.h"
 #include "llvm/ADT/SetVector.h"
+#include "llvm/Support/DataTypes.h"
 
 namespace llvm {
 
@@ -111,7 +112,8 @@ public:
   /// table.  If it does not exist, add a prototype for the function and return
   /// it.  This version of the method takes a null terminated list of function
   /// arguments, which makes it easier for clients to use.
-  Function *getOrInsertFunction(const std::string &Name, const Type *RetTy,...);
+  Function *getOrInsertFunction(const std::string &Name, const Type *RetTy,...)
+    END_WITH_NULL;
 
   /// getFunction - Look up the specified function in the module symbol table.
   /// If it does not exist, return null.
index 10a2f6c..1d499de 100644 (file)
@@ -21,6 +21,7 @@
 #define LLVM_SUPPORT_COMMANDLINE_H
 
 #include "llvm/Support/type_traits.h"
+#include "llvm/Support/DataTypes.h"
 #include <string>
 #include <vector>
 #include <utility>
@@ -335,7 +336,7 @@ public:
 
 template<class DataType>
 ValuesClass<DataType> values(const char *Arg, DataType Val, const char *Desc,
-                             ...) {
+                             ...) END_WITH_NULL {
     va_list ValueArgs;
     va_start(ValueArgs, Desc);
     ValuesClass<DataType> Vals(Arg, Val, Desc, ValueArgs);
index b99739d..cfec5f3 100644 (file)
@@ -98,4 +98,10 @@ typedef signed int ssize_t;
 # define UINT64_MAX 0xffffffffffffffffULL
 #endif
 
+#if __GNUC__ > 3
+#define END_WITH_NULL __attribute__((sentinel))
+#else
+#define END_WITH_NULL
+#endif
+
 #endif  /* SUPPORT_DATATYPES_H */
index cfae201..92e0a39 100644 (file)
@@ -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
 
 
 /* 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 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
       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 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
       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 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
       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 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
 #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 @@ typedef union YYSTYPE {
   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 @@ typedef union YYSTYPE {
 
 
 /* Line 214 of yacc.c.  */
-#line 1174 "llvmAsmParser.tab.c"
+#line 1175 "llvmAsmParser.tab.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -1218,7 +1219,7 @@ typedef union YYSTYPE {
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
 {
-  short yyss;
+  short int yyss;
   YYSTYPE yyvs;
   };
 
@@ -1228,7 +1229,7 @@ union yyalloc
 /* 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 @@ union yyalloc
 #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 @@ static const unsigned char yytranslate[] =
 #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 @@ static const unsigned short yyprhs[] =
 };
 
 /* 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 @@ static const short yyrhs[] =
 };
 
 /* 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 @@ static const char *const yytname[] =
 # 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 @@ static const unsigned char yydefact[] =
 };
 
 /* 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 @@ static const short yydefgoto[] =
 /* 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 @@ static const short yypact[] =
 };
 
 /* 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 @@ static const short yypgoto[] =
    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 @@ static const short yytable[] =
       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 @@ do {                                                            \
 
 #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 @@ yyparse ()
      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 @@ yyparse ()
   yyssp = yyss;
   yyvsp = yyvs;
 
+
   goto yysetstate;
 
 /*------------------------------------------------------------.
@@ -2425,7 +2427,7 @@ yyparse ()
           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 @@ yyparse ()
        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 @@ yyreduce:
   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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
     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 @@ yyreduce:
 
     }
 
-/* Line 1000 of yacc.c.  */
-#line 4352 "llvmAsmParser.tab.c"
+/* Line 1010 of yacc.c.  */
+#line 4354 "llvmAsmParser.tab.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4573,7 +4575,7 @@ yyreturn:
 }
 
 
-#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 f808477..fbd1b9a 100644 (file)
@@ -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
 
 
 #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 @@ typedef union YYSTYPE {
   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 e8ca9c0..c0b7d63 100644 (file)
@@ -766,7 +766,7 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
       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 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
       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 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
       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 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
     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 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
     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
index ba9c6ca..daf7577 100644 (file)
@@ -680,7 +680,8 @@ void BytecodeReader::ParseInstruction(std::vector<unsigned> &Oprnds,
     break;
   case 32: { //VANext_old
     const Type* ArgTy = getValue(iType, Oprnds[0])->getType();
-    Function* NF = TheModule->getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, 0);
+    Function* NF = TheModule->getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy,
+                                                  (Type *)0);
 
     //b = vanext a, t ->
     //foo = alloca 1 of t
@@ -700,7 +701,8 @@ void BytecodeReader::ParseInstruction(std::vector<unsigned> &Oprnds,
   }
   case 33: { //VAArg_old
     const Type* ArgTy = getValue(iType, Oprnds[0])->getType();
-    Function* NF = TheModule->getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy, 0);
+    Function* NF = TheModule->getOrInsertFunction("llvm.va_copy", ArgTy, ArgTy,
+                                                  (Type *)0);
 
     //b = vaarg a, t ->
     //foo = alloca 1 of t
index 4db954a..1ee2718 100644 (file)
@@ -181,7 +181,7 @@ static ModuleProvider* CheckVarargs(ModuleProvider* MP) {
     const Type* ArgTy = F->getFunctionType()->getReturnType();
     const Type* ArgTyPtr = PointerType::get(ArgTy);
     Function* NF = M->getOrInsertFunction("llvm.va_start",
-                                               RetTy, ArgTyPtr, 0);
+                                          RetTy, ArgTyPtr, (Type *)0);
 
     for(Value::use_iterator I = F->use_begin(), E = F->use_end(); I != E;)
       if (CallInst* CI = dyn_cast<CallInst>(*I++)) {
@@ -204,7 +204,7 @@ static ModuleProvider* CheckVarargs(ModuleProvider* MP) {
     const Type* ArgTy = F->getFunctionType()->getParamType(0);
     const Type* ArgTyPtr = PointerType::get(ArgTy);
     Function* NF = M->getOrInsertFunction("llvm.va_end",
-                                                 RetTy, ArgTyPtr, 0);
+                                          RetTy, ArgTyPtr, (Type *)0);
 
     for(Value::use_iterator I = F->use_begin(), E = F->use_end(); I != E;)
       if (CallInst* CI = dyn_cast<CallInst>(*I++)) {
@@ -230,7 +230,7 @@ static ModuleProvider* CheckVarargs(ModuleProvider* MP) {
     const Type* ArgTy = F->getFunctionType()->getReturnType();
     const Type* ArgTyPtr = PointerType::get(ArgTy);
     Function* NF = M->getOrInsertFunction("llvm.va_copy",
-                                          RetTy, ArgTyPtr, ArgTyPtr, 0);
+                                          RetTy, ArgTyPtr, ArgTyPtr, (Type *)0);
 
     for(Value::use_iterator I = F->use_begin(), E = F->use_end(); I != E;)
       if (CallInst* CI = dyn_cast<CallInst>(*I++)) {
index b2dd57b..a570ef5 100644 (file)
@@ -110,7 +110,8 @@ void DefaultIntrinsicLowering::AddPrototypes(Module &M) {
       case Intrinsic::memset:
         M.getOrInsertFunction("memset", PointerType::get(Type::SByteTy),
                               PointerType::get(Type::SByteTy),
-                              Type::IntTy, (--(--I->arg_end()))->getType(), 0);
+                              Type::IntTy, (--(--I->arg_end()))->getType(),
+                              (Type *)0);
         break;
       case Intrinsic::isunordered:
         EnsureFunctionExists(M, "isunordered", I->arg_begin(), I->arg_end(),
index 1731bea..6758e2d 100644 (file)
@@ -924,7 +924,8 @@ static void runChild(Module *M, const std::vector<std::string> &Arguments,
 
   // If the program didn't explicitly call exit, call exit now, for the program.
   // This ensures that any atexit handlers get called correctly.
-  Function *Exit = M->getOrInsertFunction("exit", Type::VoidTy, Type::IntTy, 0);
+  Function *Exit = M->getOrInsertFunction("exit", Type::VoidTy, Type::IntTy,
+                                          (Type *)0);
 
   std::vector<GenericValue> Args;
   GenericValue ResultGV;
index c040025..9dd9501 100644 (file)
@@ -204,32 +204,33 @@ bool LowerSetJmp::doInitialization(Module& M)
 
   // void __llvm_sjljeh_init_setjmpmap(void**)
   InitSJMap = M.getOrInsertFunction("__llvm_sjljeh_init_setjmpmap",
-                                    Type::VoidTy, SBPPTy, NULL);
+                                    Type::VoidTy, SBPPTy, (Type *)0);
   // void __llvm_sjljeh_destroy_setjmpmap(void**)
   DestroySJMap = M.getOrInsertFunction("__llvm_sjljeh_destroy_setjmpmap",
-                                       Type::VoidTy, SBPPTy, NULL);
+                                       Type::VoidTy, SBPPTy, (Type *)0);
 
   // void __llvm_sjljeh_add_setjmp_to_map(void**, void*, unsigned)
   AddSJToMap = M.getOrInsertFunction("__llvm_sjljeh_add_setjmp_to_map",
                                      Type::VoidTy, SBPPTy, SBPTy,
-                                     Type::UIntTy, NULL);
+                                     Type::UIntTy, (Type *)0);
 
   // void __llvm_sjljeh_throw_longjmp(int*, int)
   ThrowLongJmp = M.getOrInsertFunction("__llvm_sjljeh_throw_longjmp",
-                                       Type::VoidTy, SBPTy, Type::IntTy, NULL);
+                                       Type::VoidTy, SBPTy, Type::IntTy,
+                                       (Type *)0);
 
   // unsigned __llvm_sjljeh_try_catching_longjmp_exception(void **)
   TryCatchLJ =
     M.getOrInsertFunction("__llvm_sjljeh_try_catching_longjmp_exception",
-                          Type::UIntTy, SBPPTy, NULL);
+                          Type::UIntTy, SBPPTy, (Type *)0);
 
   // bool __llvm_sjljeh_is_longjmp_exception()
   IsLJException = M.getOrInsertFunction("__llvm_sjljeh_is_longjmp_exception",
-                                        Type::BoolTy, NULL);
+                                        Type::BoolTy, (Type *)0);
 
   // int __llvm_sjljeh_get_longjmp_value()
   GetLJValue = M.getOrInsertFunction("__llvm_sjljeh_get_longjmp_value",
-                                     Type::IntTy, NULL);
+                                     Type::IntTy, (Type *)0);
   return true;
 }
 
index 58aac20..63ab333 100644 (file)
@@ -311,7 +311,8 @@ public:
     if (!memcpy_func) {
       const Type *SBP = PointerType::get(Type::SByteTy);
       memcpy_func = M->getOrInsertFunction("llvm.memcpy", Type::VoidTy,SBP, SBP,
-                                           Type::UIntTy, Type::UIntTy, 0);
+                                           Type::UIntTy, Type::UIntTy,
+                                           (Type *)0);
     }
     return memcpy_func;
   }
@@ -319,7 +320,7 @@ public:
   Function* get_floorf() {
     if (!floorf_func)
       floorf_func = M->getOrInsertFunction("floorf", Type::FloatTy,
-                                           Type::FloatTy, 0);
+                                           Type::FloatTy, (Type *)0);
     return floorf_func;
   }
   
index 95822df..bf94943 100644 (file)
@@ -40,7 +40,7 @@ static void getTriggerCode(Module *M, BasicBlock *BB, int MethNo, Value *pathNo,
   const Type *PIntTy = PointerType::get(Type::IntTy);
   Function *trigMeth = M->getOrInsertFunction("trigger", Type::VoidTy,
                                               Type::IntTy, Type::IntTy,
-                                              PIntTy, PIntTy, 0);
+                                              PIntTy, PIntTy, (Type *)0);
   assert(trigMeth && "trigger method could not be inserted!");
 
   vector<Value *> trargs;
index 860b57f..020388f 100644 (file)
@@ -156,7 +156,8 @@ void InstLoops::findAndInstrumentBackEdges(Function &F){
 }
 
 bool InstLoops::doInitialization (Module &M) {
-  inCountMth = M.getOrInsertFunction("llvm_first_trigger", Type::VoidTy, 0);
+  inCountMth = M.getOrInsertFunction("llvm_first_trigger", Type::VoidTy,
+                                     (Type *)0);
   return true;  // Module was modified.
 }
 
index d0d0f55..ce9e328 100644 (file)
@@ -189,7 +189,8 @@ bool ProfilePaths::runOnFunction(Function &F){
     // IN THEIR INITIALIZE METHOD!!
     Function *initialize =
       F.getParent()->getOrInsertFunction("reoptimizerInitialize", Type::VoidTy,
-                                         PointerType::get(Type::IntTy), 0);
+                                         PointerType::get(Type::IntTy),
+                                         (Type *)0);
 
     std::vector<Value *> trargs;
     trargs.push_back(threshold);
index 4093759..82e7ae7 100644 (file)
@@ -26,7 +26,8 @@ void llvm::InsertProfilingInitCall(Function *MainFn, const char *FnName,
   const PointerType *UIntPtr = PointerType::get(Type::UIntTy);
   Module &M = *MainFn->getParent();
   Function *InitFn = M.getOrInsertFunction(FnName, Type::IntTy, Type::IntTy,
-                                           ArgVTy, UIntPtr, Type::UIntTy, 0);
+                                           ArgVTy, UIntPtr, Type::UIntTy,
+                                           (Type *)0);
 
   // This could force argc and argv into programs that wouldn't otherwise have
   // them, but instead we just pass null values in.
index 9018ee6..2d2a259 100644 (file)
@@ -46,7 +46,7 @@ static void InsertInstrumentationCall (BasicBlock *BB,
                    << "\", \"" << FnName << "\", " << BBNumber << ")\n");
   Module &M = *BB->getParent ()->getParent ();
   Function *InstrFn = M.getOrInsertFunction (FnName, Type::VoidTy,
-                                             Type::UIntTy, 0);
+                                             Type::UIntTy, (Type *)0);
   std::vector<Value*> Args (1);
   Args[0] = ConstantUInt::get (Type::UIntTy, BBNumber);
 
index 9838ea1..eba596b 100644 (file)
@@ -130,17 +130,18 @@ void ExternalFuncs::doInitialization(Module &M) {
 
   // uint (sbyte*)
   HashPtrFunc = M.getOrInsertFunction("HashPointerToSeqNum", Type::UIntTy, SBP,
-                                      0);
+                                      (Type *)0);
 
   // void (sbyte*)
   ReleasePtrFunc = M.getOrInsertFunction("ReleasePointerSeqNum",
-                                         Type::VoidTy, SBP, 0);
+                                         Type::VoidTy, SBP, (Type *)0);
   RecordPtrFunc  = M.getOrInsertFunction("RecordPointer",
-                                         Type::VoidTy, SBP, 0);
+                                         Type::VoidTy, SBP, (Type *)0);
 
-  PushOnEntryFunc = M.getOrInsertFunction("PushPointerSet", Type::VoidTy, 0);
+  PushOnEntryFunc = M.getOrInsertFunction("PushPointerSet", Type::VoidTy,
+                                          (Type *)0);
   ReleaseOnReturnFunc = M.getOrInsertFunction("ReleasePointersPopSet",
-                                              Type::VoidTy, 0);
+                                              Type::VoidTy, (Type *)0);
 }
 
 
index 345fafb..e346c23 100644 (file)
@@ -109,10 +109,11 @@ bool LowerGC::doInitialization(Module &M) {
   // If the program is using read/write barriers, find the implementations of
   // them from the GC runtime library.
   if (GCReadInt)        // Make:  sbyte* %llvm_gc_read(sbyte**)
-    GCRead = M.getOrInsertFunction("llvm_gc_read", VoidPtr, VoidPtr, VoidPtrPtr, 0);
+    GCRead = M.getOrInsertFunction("llvm_gc_read", VoidPtr, VoidPtr, VoidPtrPtr,
+                                   (Type *)0);
   if (GCWriteInt)       // Make:  void %llvm_gc_write(sbyte*, sbyte**)
     GCWrite = M.getOrInsertFunction("llvm_gc_write", Type::VoidTy,
-                                    VoidPtr, VoidPtr, VoidPtrPtr, 0);
+                                    VoidPtr, VoidPtr, VoidPtrPtr, (Type *)0);
 
   // If the program has GC roots, get or create the global root list.
   if (GCRootInt) {
index 1502fab..f1721b3 100644 (file)
@@ -83,7 +83,7 @@ bool LowerAllocations::doInitialization(Module &M) {
     MallocFunc = M.getOrInsertFunction("malloc", FT);
   }
   if (FreeFunc == 0)
-    FreeFunc = M.getOrInsertFunction("free"  , Type::VoidTy, SBPTy, 0);
+    FreeFunc = M.getOrInsertFunction("free"  , Type::VoidTy, SBPTy, (Type *)0);
 
   return true;
 }
index 4496b3d..7039a4b 100644 (file)
@@ -124,14 +124,14 @@ bool LowerInvoke::doInitialization(Module &M) {
                                       Constant::getNullValue(PtrJBList),
                                       "llvm.sjljeh.jblist", &M);
     SetJmpFn = M.getOrInsertFunction("llvm.setjmp", Type::IntTy,
-                                     PointerType::get(JmpBufTy), NULL);
+                                     PointerType::get(JmpBufTy), (Type *)0);
     LongJmpFn = M.getOrInsertFunction("llvm.longjmp", Type::VoidTy,
                                       PointerType::get(JmpBufTy),
-                                      Type::IntTy, NULL);
+                                      Type::IntTy, (Type *)0);
   }
 
   // We need the 'write' and 'abort' functions for both models.
-  AbortFn = M.getOrInsertFunction("abort", Type::VoidTy, NULL);
+  AbortFn = M.getOrInsertFunction("abort", Type::VoidTy, (Type *)0);
 
   // Unfortunately, 'write' can end up being prototyped in several different
   // ways.  If the user defines a three (or more) operand function named 'write'
@@ -148,7 +148,7 @@ bool LowerInvoke::doInitialization(Module &M) {
       WriteFn = 0;
   } else {
     WriteFn = M.getOrInsertFunction("write", Type::VoidTy, Type::IntTy,
-                                    VoidPtrTy, Type::IntTy, NULL);
+                                    VoidPtrTy, Type::IntTy, (Type *)0);
   }
   return true;
 }
index 39f83d0..b3e6161 100644 (file)
@@ -666,7 +666,7 @@ static void CleanupAndPrepareModules(BugDriver &BD, Module *&Test,
   Function *resolverFunc =
     Safe->getOrInsertFunction("getPointerToNamedFunction",
                               PointerType::get(Type::SByteTy),
-                              PointerType::get(Type::SByteTy), 0);
+                              PointerType::get(Type::SByteTy), (Type *)0);
 
   // Use the function we just added to get addresses of functions we need.
   for (Module::iterator F = Safe->begin(), E = Safe->end(); F != E; ++F) {
index bd22b29..c1b7478 100644 (file)
@@ -96,7 +96,8 @@ int main(int argc, char **argv, char * const *envp) {
     // If the program didn't explicitly call exit, call exit now, for the program.
     // This ensures that any atexit handlers get called correctly.
     Function *Exit = MP->getModule()->getOrInsertFunction("exit", Type::VoidTy,
-                                                          Type::IntTy, 0);
+                                                          Type::IntTy,
+                                                          (Type *)0);
 
     std::vector<GenericValue> Args;
     GenericValue ResultGV;