Fix a bunch of missing semicolon parse errors from bison.
authorJeff Cohen <jeffc@jolt-lang.org>
Sun, 21 Jan 2007 19:30:52 +0000 (19:30 +0000)
committerJeff Cohen <jeffc@jolt-lang.org>
Sun, 21 Jan 2007 19:30:52 +0000 (19:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33426 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-upgrade/UpgradeParser.cpp.cvs
tools/llvm-upgrade/UpgradeParser.h.cvs
tools/llvm-upgrade/UpgradeParser.y
tools/llvm-upgrade/UpgradeParser.y.cvs

index 5b57b5d8a2af3b7018d675a99d982346435c715d..b65ac101d2f8852eee7c63570f6ad9042ade7f20 100644 (file)
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 2.1.  */
+/* A Bison parser, made from /usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y, by GNU bison 1.75.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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
@@ -15,8 +15,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 /* As a special exception, when this file is copied by Bison into a
    Bison output file, you may use that output file without restriction.
    USER NAME SPACE" below.  */
 
 /* Identify Bison output.  */
-#define YYBISON 1
-
-/* Bison version.  */
-#define YYBISON_VERSION "2.1"
-
-/* Skeleton name.  */
-#define YYSKELETON_NAME "yacc.c"
+#define YYBISON        1
 
 /* Pure parsers.  */
-#define YYPURE 0
+#define YYPURE 0
 
 /* Using locations.  */
 #define YYLSP_NEEDED 0
 
-/* Substitute the variable and function names.  */
+/* If NAME_PREFIX is specified substitute the variables and functions
+   names.  */
 #define yyparse Upgradeparse
 #define yylex   Upgradelex
 #define yyerror Upgradeerror
      BITCAST = 404
    };
 #endif
-/* Tokens.  */
 #define VOID 258
 #define BOOL 259
 #define SBYTE 260
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 14 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
 
 #include "UpgradeInternals.h"
 #include <algorithm>
@@ -1335,75 +1329,53 @@ const Type* getType(const std::string& newTy, TypeIDs oldTy) {
 # define YYERROR_VERBOSE 0
 #endif
 
-/* Enabling the token table.  */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 971 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-typedef union YYSTYPE {
+#ifndef YYSTYPE
+#line 971 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+typedef union {
   std::string*    String;
   const Type*     Ty;
   Value*          Val;
   Constant*       Const;
   ValueList*      ValList;
   TypeList*       TypeVec;
-} YYSTYPE;
-/* Line 196 of yacc.c.  */
-#line 1355 "UpgradeParser.tab.c"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
+} yystype;
+/* Line 188 of /usr/local/share/bison/yacc.c.  */
+#line 1344 "UpgradeParser.tab.c"
+# define YYSTYPE yystype
 # define YYSTYPE_IS_TRIVIAL 1
 #endif
 
-
+#ifndef YYLTYPE
+typedef struct yyltype
+{
+  int first_line;
+  int first_column;
+  int last_line;
+  int last_column;
+} yyltype;
+# define YYLTYPE yyltype
+# define YYLTYPE_IS_TRIVIAL 1
+#endif
 
 /* Copy the second part of user declarations.  */
 
 
-/* Line 219 of yacc.c.  */
-#line 1367 "UpgradeParser.tab.c"
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#ifndef YY_
-# if YYENABLE_NLS
-#  if ENABLE_NLS
-#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-#   define YY_(msgid) dgettext ("bison-runtime", msgid)
-#  endif
-# endif
-# ifndef YY_
-#  define YY_(msgid) msgid
-# endif
-#endif
+/* Line 213 of /usr/local/share/bison/yacc.c.  */
+#line 1365 "UpgradeParser.tab.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
 
-# ifdef YYSTACK_USE_ALLOCA
-#  if YYSTACK_USE_ALLOCA
-#   ifdef __GNUC__
-#    define YYSTACK_ALLOC __builtin_alloca
-#   else
+# if YYSTACK_USE_ALLOCA
+#  define YYSTACK_ALLOC alloca
+# else
+#  ifndef YYSTACK_USE_ALLOCA
+#   if defined (alloca) || defined (_ALLOCA_H)
 #    define YYSTACK_ALLOC alloca
-#    if defined (__STDC__) || defined (__cplusplus)
-#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#     define YYINCLUDED_STDLIB_H
+#   else
+#    ifdef __GNUC__
+#     define YYSTACK_ALLOC __builtin_alloca
 #    endif
 #   endif
 #  endif
@@ -1412,76 +1384,50 @@ typedef union YYSTYPE {
 # ifdef YYSTACK_ALLOC
    /* Pacify GCC's `empty if-body' warning. */
 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-#  ifndef YYSTACK_ALLOC_MAXIMUM
-    /* The OS might guarantee only one guard page at the bottom of the stack,
-       and a page size can be as small as 4096 bytes.  So we cannot safely
-       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
-       to allow for a few compiler-allocated temporary stack slots.  */
-#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
-#  endif
 # else
-#  define YYSTACK_ALLOC YYMALLOC
-#  define YYSTACK_FREE YYFREE
-#  ifndef YYSTACK_ALLOC_MAXIMUM
-#   define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
-#  endif
-#  ifdef __cplusplus
-extern "C" {
-#  endif
-#  ifndef YYMALLOC
-#   define YYMALLOC malloc
-#   if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
-       && (defined (__STDC__) || defined (__cplusplus)))
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-#   endif
-#  endif
-#  ifndef YYFREE
-#   define YYFREE free
-#   if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
-       && (defined (__STDC__) || defined (__cplusplus)))
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-#   endif
-#  endif
-#  ifdef __cplusplus
-}
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
 #  endif
+#  define YYSTACK_ALLOC malloc
+#  define YYSTACK_FREE free
 # endif
 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
 
 
 #if (! defined (yyoverflow) \
      && (! defined (__cplusplus) \
-        || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+        || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
 {
-  short int yyss;
+  short yyss;
   YYSTYPE yyvs;
   };
 
 /* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
 
 /* The size of an array large to enough to hold all stacks, each with
    N elements.  */
 # define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short int) + sizeof (YYSTYPE))                    \
-      + YYSTACK_GAP_MAXIMUM)
+     ((N) * (sizeof (short) + sizeof (YYSTYPE))                                \
+      + YYSTACK_GAP_MAX)
 
 /* Copy COUNT objects from FROM to TO.  The source and destination do
    not overlap.  */
 # ifndef YYCOPY
-#  if defined (__GNUC__) && 1 < __GNUC__
+#  if 1 < __GNUC__
 #   define YYCOPY(To, From, Count) \
       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
 #  else
 #   define YYCOPY(To, From, Count)             \
       do                                       \
        {                                       \
-         YYSIZE_T yyi;                         \
+         register YYSIZE_T yyi;                \
          for (yyi = 0; yyi < (Count); yyi++)   \
-           (To)[yyi] = (From)[yyi];            \
+           (To)[yyi] = (From)[yyi];    \
        }                                       \
       while (0)
 #  endif
@@ -1498,7 +1444,7 @@ union yyalloc
        YYSIZE_T yynewbytes;                                            \
        YYCOPY (&yyptr->Stack, Stack, yysize);                          \
        Stack = &yyptr->Stack;                                          \
-       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
        yyptr += yynewbytes / sizeof (*yyptr);                          \
       }                                                                        \
     while (0)
@@ -1508,12 +1454,11 @@ union yyalloc
 #if defined (__STDC__) || defined (__cplusplus)
    typedef signed char yysigned_char;
 #else
-   typedef short int yysigned_char;
+   typedef short yysigned_char;
 #endif
 
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  4
-/* YYLAST -- Last index in YYTABLE.  */
 #define YYLAST   1473
 
 /* YYNTOKENS -- Number of terminals. */
@@ -1529,8 +1474,8 @@ union yyalloc
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   404
 
-#define YYTRANSLATE(YYX)                                               \
-  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+#define YYTRANSLATE(X) \
+  ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
 
 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
 static const unsigned char yytranslate[] =
@@ -1581,7 +1526,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 int yyprhs[] =
+static const unsigned short yyprhs[] =
 {
        0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
       19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
@@ -1617,7 +1562,7 @@ static const unsigned short int yyprhs[] =
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const short int yyrhs[] =
+static const short yyrhs[] =
 {
      198,     0,    -1,    19,    -1,    20,    -1,    17,    -1,    18,
       -1,    79,    -1,    80,    -1,    81,    -1,    82,    -1,    83,
@@ -1716,7 +1661,7 @@ static const short int yyrhs[] =
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
-static const unsigned short int yyrline[] =
+static const unsigned short yyrline[] =
 {
        0,  1036,  1036,  1036,  1037,  1037,  1041,  1041,  1041,  1041,
     1041,  1041,  1041,  1042,  1042,  1042,  1042,  1043,  1043,  1043,
@@ -1724,7 +1669,7 @@ static const unsigned short int yyrline[] =
     1045,  1045,  1045,  1045,  1045,  1045,  1046,  1046,  1046,  1046,
     1046,  1046,  1046,  1046,  1046,  1046,  1047,  1047,  1047,  1047,
     1047,  1047,  1048,  1048,  1048,  1048,  1049,  1049,  1049,  1049,
-    1049,  1049,  1049,  1050,  1050,  1050,  1050,  1050,  1050,  1055,
+    1049,  1049,  1049,  1049,  1050,  1050,  1050,  1050,  1050,  1055,
     1055,  1055,  1055,  1056,  1056,  1056,  1056,  1057,  1057,  1058,
     1058,  1061,  1064,  1069,  1069,  1069,  1069,  1069,  1069,  1070,
     1071,  1074,  1074,  1074,  1074,  1074,  1075,  1076,  1081,  1086,
@@ -1736,73 +1681,74 @@ static const unsigned short int yyrline[] =
     1280,  1286,  1293,  1300,  1308,  1315,  1322,  1329,  1336,  1343,
     1350,  1358,  1372,  1384,  1389,  1395,  1400,  1406,  1411,  1416,
     1424,  1429,  1434,  1444,  1449,  1454,  1454,  1464,  1469,  1472,
-    1477,  1481,  1485,  1487,  1487,  1490,  1500,  1505,  1510,  1520,
-    1530,  1540,  1550,  1555,  1560,  1565,  1567,  1567,  1570,  1575,
-    1582,  1587,  1594,  1601,  1606,  1607,  1615,  1615,  1616,  1616,
-    1618,  1627,  1631,  1635,  1638,  1643,  1646,  1649,  1672,  1673,
-    1676,  1687,  1688,  1690,  1699,  1700,  1701,  1705,  1705,  1719,
-    1720,  1723,  1723,  1723,  1723,  1723,  1723,  1723,  1724,  1725,
-    1730,  1731,  1740,  1740,  1744,  1750,  1761,  1770,  1773,  1781,
-    1785,  1790,  1793,  1799,  1799,  1801,  1806,  1811,  1816,  1824,
-    1834,  1843,  1865,  1870,  1876,  1882,  1890,  1908,  1917,  1927,
-    1931,  1938,  1939,  1943,  1948,  1951,  1962,  1972,  1983,  1993,
-    2003,  2014,  2044,  2053,  2060,  2069,  2076,  2083,  2089,  2140,
-    2145,  2146,  2150,  2151,  2154,  2163,  2173,  2182,  2193,  2200,
-    2211,  2222
+    1477,  1481,  1485,  1488,  1488,  1491,  1501,  1506,  1511,  1521,
+    1531,  1541,  1551,  1556,  1561,  1566,  1568,  1568,  1571,  1576,
+    1583,  1588,  1595,  1602,  1607,  1608,  1616,  1616,  1617,  1617,
+    1619,  1628,  1632,  1636,  1639,  1644,  1647,  1650,  1673,  1674,
+    1678,  1689,  1690,  1692,  1701,  1702,  1703,  1707,  1707,  1721,
+    1722,  1725,  1725,  1725,  1725,  1725,  1725,  1725,  1726,  1727,
+    1732,  1733,  1742,  1742,  1746,  1752,  1763,  1772,  1775,  1783,
+    1787,  1792,  1795,  1801,  1801,  1803,  1808,  1813,  1818,  1826,
+    1836,  1845,  1867,  1872,  1878,  1884,  1892,  1910,  1919,  1929,
+    1933,  1940,  1941,  1945,  1950,  1953,  1964,  1974,  1985,  1995,
+    2005,  2016,  2046,  2055,  2062,  2071,  2078,  2085,  2091,  2142,
+    2147,  2148,  2152,  2153,  2156,  2165,  2175,  2184,  2195,  2202,
+    2213,  2224
 };
 #endif
 
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
 static const char *const yytname[] =
 {
-  "$end", "error", "$undefined", "VOID", "BOOL", "SBYTE", "UBYTE",
-  "SHORT", "USHORT", "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE",
-  "LABEL", "OPAQUE", "ESINT64VAL", "EUINT64VAL", "SINTVAL", "UINTVAL",
-  "FPVAL", "NULL_TOK", "UNDEF", "ZEROINITIALIZER", "TRUETOK", "FALSETOK",
-  "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION",
-  "BEGINTOK", "ENDTOK", "DECLARE", "GLOBAL", "CONSTANT", "SECTION",
-  "VOLATILE", "TO", "DOTDOTDOT", "CONST", "INTERNAL", "LINKONCE", "WEAK",
-  "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "APPENDING", "EXTERNAL",
-  "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN",
-  "UNINITIALIZED", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE",
-  "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
-  "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
-  "RET", "BR", "SWITCH", "INVOKE", "EXCEPT", "UNWIND", "UNREACHABLE",
-  "ADD", "SUB", "MUL", "DIV", "UDIV", "SDIV", "FDIV", "REM", "UREM",
-  "SREM", "FREM", "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT", "SETGT",
-  "SETEQ", "SETNE", "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE",
-  "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", "UNO", "UEQ", "UNE",
-  "ULT", "UGT", "ULE", "UGE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE",
-  "GETELEMENTPTR", "PHI_TOK", "SELECT", "SHL", "SHR", "ASHR", "LSHR",
-  "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "CAST",
-  "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "FPTOUI", "FPTOSI",
-  "UITOFP", "SITOFP", "PTRTOINT", "INTTOPTR", "BITCAST", "'='", "','",
-  "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'",
-  "'*'", "'c'", "$accept", "IntVal", "EInt64Val", "ArithmeticOps",
-  "LogicalOps", "SetCondOps", "IPredicates", "FPredicates", "ShiftOps",
-  "CastOps", "SIntType", "UIntType", "IntType", "FPType", "OptAssign",
-  "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign", "SectionString",
-  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV",
-  "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI",
-  "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
-  "Module", "DefinitionList", "External", "ConstPool", "AsmBlock",
-  "BigOrLittle", "TargetDefinition", "LibrariesDefinition", "LibList",
-  "Name", "OptName", "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH",
-  "BEGIN", "FunctionHeader", "END", "Function", "FnDeclareLinkage",
-  "FunctionProto", "@1", "OptSideEffect", "ConstValueRef",
-  "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList",
-  "BasicBlock", "InstructionList", "Unwind", "BBTerminatorInst",
-  "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE",
-  "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0
+  "$end", "error", "$undefined", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", 
+  "USHORT", "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "LABEL", 
+  "OPAQUE", "ESINT64VAL", "EUINT64VAL", "SINTVAL", "UINTVAL", "FPVAL", 
+  "NULL_TOK", "UNDEF", "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "TYPE", 
+  "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", "BEGINTOK", 
+  "ENDTOK", "DECLARE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO", 
+  "DOTDOTDOT", "CONST", "INTERNAL", "LINKONCE", "WEAK", "DLLIMPORT", 
+  "DLLEXPORT", "EXTERN_WEAK", "APPENDING", "EXTERNAL", "TARGET", "TRIPLE", 
+  "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN", "UNINITIALIZED", 
+  "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT", "CC_TOK", 
+  "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", "COLDCC_TOK", 
+  "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR", 
+  "SWITCH", "INVOKE", "EXCEPT", "UNWIND", "UNREACHABLE", "ADD", "SUB", 
+  "MUL", "DIV", "UDIV", "SDIV", "FDIV", "REM", "UREM", "SREM", "FREM", 
+  "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", 
+  "SETNE", "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "OEQ", 
+  "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", "UNO", "UEQ", "UNE", "ULT", 
+  "UGT", "ULE", "UGE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", 
+  "GETELEMENTPTR", "PHI_TOK", "SELECT", "SHL", "SHR", "ASHR", "LSHR", 
+  "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "CAST", 
+  "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "FPTOUI", "FPTOSI", 
+  "UITOFP", "SITOFP", "PTRTOINT", "INTTOPTR", "BITCAST", "'='", "','", 
+  "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", 
+  "'*'", "'c'", "$accept", "IntVal", "EInt64Val", "ArithmeticOps", 
+  "LogicalOps", "SetCondOps", "IPredicates", "FPredicates", "ShiftOps", 
+  "CastOps", "SIntType", "UIntType", "IntType", "FPType", "OptAssign", 
+  "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign", 
+  "SectionString", "OptSection", "GlobalVarAttributes", 
+  "GlobalVarAttribute", "TypesV", "UpRTypesV", "Types", "PrimType", 
+  "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", "ConstExpr", 
+  "ConstVector", "GlobalType", "Module", "DefinitionList", "External", 
+  "ConstPool", "AsmBlock", "BigOrLittle", "TargetDefinition", 
+  "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal", 
+  "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", 
+  "END", "Function", "FnDeclareLinkage", "FunctionProto", "@1", 
+  "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef", 
+  "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList", 
+  "Unwind", "BBTerminatorInst", "JumpTable", "Inst", "PHIList", 
+  "ValueRefList", "ValueRefListE", "OptTailCall", "InstVal", "IndexList", 
+  "OptVolatile", "MemoryInst", 0
 };
 #endif
 
 # ifdef YYPRINT
 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    token YYLEX-NUM.  */
-static const unsigned short int yytoknum[] =
+static const unsigned short yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
@@ -1899,7 +1845,7 @@ static const unsigned char yyr2[] =
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
-static const unsigned short int yydefact[] =
+static const unsigned short yydefact[] =
 {
      194,     0,    90,   182,     1,   181,   227,    83,    84,    85,
       87,    88,    89,    86,     0,    98,   251,   178,   179,   206,
@@ -1963,7 +1909,7 @@ static const unsigned short int yydefact[] =
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
-static const short int yydefgoto[] =
+static const short yydefgoto[] =
 {
       -1,    83,   336,   266,   267,   268,   290,   307,   269,   270,
      233,   234,   149,   235,    24,    15,    36,   507,   384,   406,
@@ -1978,7 +1924,7 @@ static const short int yydefgoto[] =
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
 #define YYPACT_NINF -537
-static const short int yypact[] =
+static const short yypact[] =
 {
     -537,    75,    61,  1145,  -537,  -537,  -537,  -537,  -537,  -537,
     -537,  -537,  -537,  -537,    18,   180,    55,  -537,  -537,  -537,
@@ -2042,7 +1988,7 @@ static const short int yypact[] =
 };
 
 /* YYPGOTO[NTERM-NUM].  */
-static const short int yypgoto[] =
+static const short yypgoto[] =
 {
     -537,  -537,   226,   361,   362,   365,   209,   214,   368,   370,
      -99,   -98,  -507,  -537,   420,   452,  -134,  -537,  -303,    57,
@@ -2057,9 +2003,9 @@ static const short int yypgoto[] =
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
-   If YYTABLE_NINF, syntax error.  */
+   If YYTABLE_NINF, parse error.  */
 #define YYTABLE_NINF -178
-static const short int yytable[] =
+static const short yytable[] =
 {
       86,   147,   148,   129,   115,   331,   386,    25,    91,   237,
      136,   442,   125,    86,    38,   552,   565,   444,    94,   279,
@@ -2211,7 +2157,7 @@ static const short int yytable[] =
      199,   200,   201,   202
 };
 
-static const short int yycheck[] =
+static const short yycheck[] =
 {
       36,   100,   100,    82,    49,   221,   309,     3,    32,   120,
       98,    10,    18,    49,    29,   522,   552,    10,    33,   153,
@@ -2428,15 +2374,30 @@ static const unsigned char yystos[] =
       15,   228,   223,    15,   223
 };
 
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
 #define yyerrok                (yyerrstatus = 0)
 #define yyclearin      (yychar = YYEMPTY)
-#define YYEMPTY                (-2)
+#define YYEMPTY                -2
 #define YYEOF          0
 
 #define YYACCEPT       goto yyacceptlab
 #define YYABORT                goto yyabortlab
-#define YYERROR                goto yyerrorlab
-
+#define YYERROR                goto yyerrlab1
 
 /* Like YYERROR except do call yyerror.  This remains here temporarily
    to ease the transition to the new meaning of YYERROR, for GCC.
@@ -2452,71 +2413,34 @@ do                                                              \
     {                                                          \
       yychar = (Token);                                                \
       yylval = (Value);                                                \
-      yytoken = YYTRANSLATE (yychar);                          \
+      yychar1 = YYTRANSLATE (yychar);                          \
       YYPOPSTACK;                                              \
       goto yybackup;                                           \
     }                                                          \
   else                                                         \
-    {                                                          \
-      yyerror (YY_("syntax error: cannot back up")); \
+    {                                                          \
+      yyerror ("syntax error: cannot back up");                        \
       YYERROR;                                                 \
     }                                                          \
 while (0)
 
-
 #define YYTERROR       1
 #define YYERRCODE      256
 
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
 
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-   If N is 0, then set CURRENT to the empty location which ends
-   the previous symbol: RHS[0] (always defined).  */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
 #ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)                               \
-    do                                                                 \
-      if (N)                                                           \
-       {                                                               \
-         (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
-         (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
-         (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
-         (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
-       }                                                               \
-      else                                                             \
-       {                                                               \
-         (Current).first_line   = (Current).last_line   =              \
-           YYRHSLOC (Rhs, 0).last_line;                                \
-         (Current).first_column = (Current).last_column =              \
-           YYRHSLOC (Rhs, 0).last_column;                              \
-       }                                                               \
-    while (0)
-#endif
-
-
-/* YY_LOCATION_PRINT -- Print the location on the stream.
-   This macro was not mandated originally: define only if we know
-   we won't break user code: when these are the locations we know.  */
-
-#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
-#  define YY_LOCATION_PRINT(File, Loc)                 \
-     fprintf (File, "%d.%d-%d.%d",                     \
-              (Loc).first_line, (Loc).first_column,    \
-              (Loc).last_line,  (Loc).last_column)
-# else
-#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
+# define YYLLOC_DEFAULT(Current, Rhs, N)           \
+  Current.first_line   = Rhs[1].first_line;      \
+  Current.first_column = Rhs[1].first_column;    \
+  Current.last_line    = Rhs[N].last_line;       \
+  Current.last_column  = Rhs[N].last_column;
 #endif
 
-
 /* YYLEX -- calling `yylex' with the right arguments.  */
 
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
+#define YYLEX  yylex ()
 
 /* Enable debugging if requested.  */
 #if YYDEBUG
@@ -2531,86 +2455,19 @@ do {                                            \
   if (yydebug)                                 \
     YYFPRINTF Args;                            \
 } while (0)
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)         \
-do {                                                           \
-  if (yydebug)                                                 \
-    {                                                          \
-      YYFPRINTF (stderr, "%s ", Title);                                \
-      yysymprint (stderr,                                      \
-                  Type, Value);        \
-      YYFPRINTF (stderr, "\n");                                        \
-    }                                                          \
-} while (0)
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included).                                                   |
-`------------------------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_stack_print (short int *bottom, short int *top)
-#else
-static void
-yy_stack_print (bottom, top)
-    short int *bottom;
-    short int *top;
-#endif
-{
-  YYFPRINTF (stderr, "Stack now");
-  for (/* Nothing. */; bottom <= top; ++bottom)
-    YYFPRINTF (stderr, " %d", *bottom);
-  YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top)                           \
-do {                                                           \
-  if (yydebug)                                                 \
-    yy_stack_print ((Bottom), (Top));                          \
-} while (0)
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced.  |
-`------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_reduce_print (int yyrule)
-#else
-static void
-yy_reduce_print (yyrule)
-    int yyrule;
-#endif
-{
-  int yyi;
-  unsigned long int yylno = yyrline[yyrule];
-  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
-             yyrule - 1, yylno);
-  /* Print the symbols being reduced, and their result.  */
-  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
-    YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-  YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
-}
-
-# define YY_REDUCE_PRINT(Rule)         \
-do {                                   \
-  if (yydebug)                         \
-    yy_reduce_print (Rule);            \
+# define YYDSYMPRINT(Args)                     \
+do {                                           \
+  if (yydebug)                                 \
+    yysymprint Args;                           \
 } while (0)
-
 /* Nonzero means print parse trace.  It is left uninitialized so that
    multiple parsers can coexist.  */
 int yydebug;
 #else /* !YYDEBUG */
 # define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
+# define YYDSYMPRINT(Args)
 #endif /* !YYDEBUG */
 
-
 /* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef        YYINITDEPTH
 # define YYINITDEPTH 200
@@ -2620,9 +2477,13 @@ int yydebug;
    if the built-in stack extension method is used).
 
    Do not make this value too large; the results are undefined if
-   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
    evaluated with infinite-precision integer arithmetic.  */
 
+#if YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
 #ifndef YYMAXDEPTH
 # define YYMAXDEPTH 10000
 #endif
@@ -2644,7 +2505,7 @@ yystrlen (yystr)
      const char *yystr;
 #   endif
 {
-  const char *yys = yystr;
+  register const char *yys = yystr;
 
   while (*yys++ != '\0')
     continue;
@@ -2669,8 +2530,8 @@ yystpcpy (yydest, yysrc)
      const char *yysrc;
 #   endif
 {
-  char *yyd = yydest;
-  const char *yys = yysrc;
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
 
   while ((*yyd++ = *yys++) != '\0')
     continue;
@@ -2680,186 +2541,124 @@ yystpcpy (yydest, yysrc)
 #  endif
 # endif
 
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
-   quotes and backslashes, so that it's suitable for yyerror.  The
-   heuristic is that double-quoting is unnecessary unless the string
-   contains an apostrophe, a comma, or backslash (other than
-   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
-   null, do not copy; instead, return the length of what the result
-   would have been.  */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
-  if (*yystr == '"')
-    {
-      size_t yyn = 0;
-      char const *yyp = yystr;
-
-      for (;;)
-       switch (*++yyp)
-         {
-         case '\'':
-         case ',':
-           goto do_not_strip_quotes;
-
-         case '\\':
-           if (*++yyp != '\\')
-             goto do_not_strip_quotes;
-           /* Fall through.  */
-         default:
-           if (yyres)
-             yyres[yyn] = *yyp;
-           yyn++;
-           break;
-
-         case '"':
-           if (yyres)
-             yyres[yyn] = '\0';
-           return yyn;
-         }
-    do_not_strip_quotes: ;
-    }
-
-  if (! yyres)
-    return yystrlen (yystr);
-
-  return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-#endif /* YYERROR_VERBOSE */
+#endif /* !YYERROR_VERBOSE */
 
 \f
 
 #if YYDEBUG
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*-----------------------------.
+| Print this symbol on YYOUT.  |
+`-----------------------------*/
 
-#if defined (__STDC__) || defined (__cplusplus)
 static void
-yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#if defined (__STDC__) || defined (__cplusplus)
+yysymprint (FILE* yyout, int yytype, YYSTYPE yyvalue)
 #else
-static void
-yysymprint (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
+yysymprint (yyout, yytype, yyvalue)
+    FILE* yyout;
     int yytype;
-    YYSTYPE *yyvaluep;
+    YYSTYPE yyvalue;
 #endif
 {
   /* Pacify ``unused variable'' warnings.  */
-  (void) yyvaluep;
+  (void) yyvalue;
 
   if (yytype < YYNTOKENS)
-    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
-
+    {
+      YYFPRINTF (yyout, "token %s (", yytname[yytype]);
 # ifdef YYPRINT
-  if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+      YYPRINT (yyout, yytoknum[yytype], yyvalue);
 # endif
+    }
+  else
+    YYFPRINTF (yyout, "nterm %s (", yytname[yytype]);
+
   switch (yytype)
     {
       default:
         break;
     }
-  YYFPRINTF (yyoutput, ")");
+  YYFPRINTF (yyout, ")");
 }
+#endif /* YYDEBUG. */
+
 
-#endif /* ! YYDEBUG */
 /*-----------------------------------------------.
 | Release the memory associated to this symbol.  |
 `-----------------------------------------------*/
 
-#if defined (__STDC__) || defined (__cplusplus)
 static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#if defined (__STDC__) || defined (__cplusplus)
+yydestruct (int yytype, YYSTYPE yyvalue)
 #else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
-    const char *yymsg;
+yydestruct (yytype, yyvalue)
     int yytype;
-    YYSTYPE *yyvaluep;
+    YYSTYPE yyvalue;
 #endif
 {
   /* Pacify ``unused variable'' warnings.  */
-  (void) yyvaluep;
-
-  if (!yymsg)
-    yymsg = "Deleting";
-  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+  (void) yyvalue;
 
   switch (yytype)
     {
-
       default:
         break;
     }
 }
+
 \f
 
-/* Prevent warnings from -Wmissing-prototypes.  */
+/* The user can define YYPARSE_PARAM as the name of an argument to be passed
+   into yyparse.  The argument should have type void *.
+   It should actually point to an object.
+   Grammar actions can access the variable by casting it
+   to the proper pointer type.  */
 
 #ifdef YYPARSE_PARAM
 # if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM);
+#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+#  define YYPARSE_PARAM_DECL
 # else
-int yyparse ();
+#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
+#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
 # endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
+#else /* !YYPARSE_PARAM */
+# define YYPARSE_PARAM_ARG
+# define YYPARSE_PARAM_DECL
+#endif /* !YYPARSE_PARAM */
+
+/* Prevent warning if -Wstrict-prototypes.  */
+#ifdef __GNUC__
+# ifdef YYPARSE_PARAM
+int yyparse (void *);
+# else
 int yyparse (void);
-#else
-int yyparse ();
+# endif
 #endif
-#endif /* ! YYPARSE_PARAM */
-
 
 
-/* The look-ahead symbol.  */
+/* The lookahead symbol.  */
 int yychar;
 
-/* The semantic value of the look-ahead symbol.  */
+/* The semantic value of the lookahead symbol.  */
 YYSTYPE yylval;
 
-/* Number of syntax errors so far.  */
+/* Number of parse errors so far.  */
 int yynerrs;
 
 
-
-/*----------.
-| yyparse.  |
-`----------*/
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM)
-# else
-int yyparse (YYPARSE_PARAM)
-  void *YYPARSE_PARAM;
-# endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
-int
-yyparse (void)
-#else
 int
-yyparse ()
-
-#endif
-#endif
+yyparse (YYPARSE_PARAM_ARG)
+     YYPARSE_PARAM_DECL
 {
   
-  int yystate;
-  int yyn;
+  register int yystate;
+  register int yyn;
   int yyresult;
   /* Number of tokens to shift before error messages enabled.  */
   int yyerrstatus;
-  /* Look-ahead token as an internal (translated) token number.  */
-  int yytoken = 0;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yychar1 = 0;
 
   /* Three stacks and their tools:
      `yyss': related to states,
@@ -2870,14 +2669,14 @@ yyparse ()
      to reallocate them elsewhere.  */
 
   /* The state stack.  */
-  short int yyssa[YYINITDEPTH];
-  short int *yyss = yyssa;
-  short int *yyssp;
+  short        yyssa[YYINITDEPTH];
+  short *yyss = yyssa;
+  register short *yyssp;
 
   /* The semantic value stack.  */
   YYSTYPE yyvsa[YYINITDEPTH];
   YYSTYPE *yyvs = yyvsa;
-  YYSTYPE *yyvsp;
+  register YYSTYPE *yyvsp;
 
 
 
@@ -2923,7 +2722,7 @@ yyparse ()
  yysetstate:
   *yyssp = yystate;
 
-  if (yyss + yystacksize - 1 <= yyssp)
+  if (yyssp >= yyss + yystacksize - 1)
     {
       /* Get the current used size of the three stacks, in elements.  */
       YYSIZE_T yysize = yyssp - yyss + 1;
@@ -2934,14 +2733,14 @@ yyparse ()
           these so that the &'s don't force the real ones into
           memory.  */
        YYSTYPE *yyvs1 = yyvs;
-       short int *yyss1 = yyss;
+       short *yyss1 = yyss;
 
 
        /* Each stack pointer address is followed by the size of the
           data in use in that stack, in bytes.  This used to be a
           conditional around just the two extra args, but that might
           be undefined if yyoverflow is a macro.  */
-       yyoverflow (YY_("memory exhausted"),
+       yyoverflow ("parser stack overflow",
                    &yyss1, yysize * sizeof (*yyssp),
                    &yyvs1, yysize * sizeof (*yyvsp),
 
@@ -2952,21 +2751,21 @@ yyparse ()
       }
 #else /* no yyoverflow */
 # ifndef YYSTACK_RELOCATE
-      goto yyexhaustedlab;
+      goto yyoverflowlab;
 # else
       /* Extend the stack our own way.  */
-      if (YYMAXDEPTH <= yystacksize)
-       goto yyexhaustedlab;
+      if (yystacksize >= YYMAXDEPTH)
+       goto yyoverflowlab;
       yystacksize *= 2;
-      if (YYMAXDEPTH < yystacksize)
+      if (yystacksize > YYMAXDEPTH)
        yystacksize = YYMAXDEPTH;
 
       {
-       short int *yyss1 = yyss;
+       short *yyss1 = yyss;
        union yyalloc *yyptr =
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
        if (! yyptr)
-         goto yyexhaustedlab;
+         goto yyoverflowlab;
        YYSTACK_RELOCATE (yyss);
        YYSTACK_RELOCATE (yyvs);
 
@@ -2984,7 +2783,7 @@ yyparse ()
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
                  (unsigned long int) yystacksize));
 
-      if (yyss + yystacksize - 1 <= yyssp)
+      if (yyssp >= yyss + yystacksize - 1)
        YYABORT;
     }
 
@@ -2998,39 +2797,50 @@ yyparse ()
 yybackup:
 
 /* Do appropriate processing given the current state.  */
-/* Read a look-ahead token if we need one and don't already have one.  */
+/* Read a lookahead token if we need one and don't already have one.  */
 /* yyresume: */
 
-  /* First try to decide what to do without reference to look-ahead token.  */
+  /* First try to decide what to do without reference to lookahead token.  */
 
   yyn = yypact[yystate];
   if (yyn == YYPACT_NINF)
     goto yydefault;
 
-  /* Not known => get a look-ahead token if don't already have one.  */
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* yychar is either YYEMPTY or YYEOF
+     or a valid token in external form.  */
 
-  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  if (yychar <= YYEOF)
+  /* Convert token to internal form (in yychar1) for indexing tables with.  */
+
+  if (yychar <= 0)             /* This means end of input.  */
     {
-      yychar = yytoken = YYEOF;
+      yychar1 = 0;
+      yychar = YYEOF;          /* Don't call YYLEX any more.  */
+
       YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yytoken = YYTRANSLATE (yychar);
-      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+      yychar1 = YYTRANSLATE (yychar);
+
+      /* We have to keep this `#if YYDEBUG', since we use variables
+        which are defined only if `YYDEBUG' is set.  */
+      YYDPRINTF ((stderr, "Next token is "));
+      YYDSYMPRINT ((stderr, yychar1, yylval));
+      YYDPRINTF ((stderr, "\n"));
     }
 
-  /* If the proper action on seeing token YYTOKEN is to reduce or to
+  /* If the proper action on seeing token YYCHAR1 is to reduce or to
      detect an error, take that action.  */
-  yyn += yytoken;
-  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+  yyn += yychar1;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1)
     goto yydefault;
   yyn = yytable[yyn];
   if (yyn <= 0)
@@ -3044,8 +2854,9 @@ yybackup:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  /* Shift the look-ahead token.  */
-  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+  /* Shift the lookahead token.  */
+  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
+             yychar, yytname[yychar1]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -3091,1637 +2902,1653 @@ yyreduce:
   yyval = yyvsp[1-yylen];
 
 
-  YY_REDUCE_PRINT (yyn);
+
+#if YYDEBUG
+  /* We have to keep this `#if YYDEBUG', since we use variables which
+     are defined only if `YYDEBUG' is set.  */
+  if (yydebug)
+    {
+      int yyi;
+
+      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
+                yyn - 1, yyrline[yyn]);
+
+      /* Print the symbols being reduced, and their result.  */
+      for (yyi = yyprhs[yyn]; yyrhs[yyi] >= 0; yyi++)
+       YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
+      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+    }
+#endif
   switch (yyn)
     {
         case 81:
-#line 1061 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1061 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = (yyvsp[-1].String);
-  ;}
+    yyval.String = yyvsp[-1].String;
+  }
     break;
 
   case 82:
-#line 1064 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1064 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = new std::string(""); 
-  ;}
+    yyval.String = new std::string(""); 
+  }
     break;
 
   case 90:
-#line 1071 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(""); ;}
+#line 1071 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(""); }
     break;
 
   case 97:
-#line 1076 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1076 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    *(yyvsp[-1].String) += *(yyvsp[0].String)
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-1].String)
-    ;}
+    *yyvsp[-1].String += *yyvsp[0].String
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-1].String
+    }
     break;
 
   case 98:
-#line 1081 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(""); ;}
+#line 1081 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(""); }
     break;
 
   case 99:
-#line 1086 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1086 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 100:
-#line 1087 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); (yyval.String) = (yyvsp[-1].String); ;}
+#line 1087 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { *yyvsp[-1].String += " " + *yyvsp[0].String; delete yyvsp[0].String; yyval.String = yyvsp[-1].String; }
     break;
 
   case 101:
-#line 1090 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1090 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 102:
-#line 1091 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1091 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    (yyvsp[-1].String)->insert(0, ", "); 
-    *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-1].String);
-  ;}
+    yyvsp[-1].String->insert(0, ", "); 
+    *yyvsp[-1].String += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-1].String;
+  }
     break;
 
   case 103:
-#line 1099 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1099 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-1].String);
-  ;}
+    *yyvsp[-1].String += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-1].String;
+  }
     break;
 
   case 104:
-#line 1105 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1105 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 106:
-#line 1109 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1109 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 107:
-#line 1110 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1110 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-      (yyvsp[-1].String)->insert(0, ", ");
-      if (!(yyvsp[0].String)->empty())
-        *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
-      delete (yyvsp[0].String);
-      (yyval.String) = (yyvsp[-1].String);
-    ;}
+      yyvsp[-1].String->insert(0, ", ");
+      if (!yyvsp[0].String->empty())
+        *yyvsp[-1].String += " " + *yyvsp[0].String;
+      delete yyvsp[0].String;
+      yyval.String = yyvsp[-1].String;
+    }
     break;
 
   case 109:
-#line 1120 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1120 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-      *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
-      delete (yyvsp[0].String);
-      (yyval.String) = (yyvsp[-1].String);
-    ;}
+      *yyvsp[-1].String += " " + *yyvsp[0].String;
+      delete yyvsp[0].String;
+      yyval.String = yyvsp[-1].String;
+    }
     break;
 
   case 127:
-#line 1142 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1142 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    (yyval.Ty) = Type::get(*(yyvsp[0].String), OpaqueTy);
-  ;}
+    yyval.Ty = Type::get(*yyvsp[0].String, OpaqueTy);
+  }
     break;
 
   case 128:
-#line 1145 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1145 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    (yyval.Ty) = Type::get(*(yyvsp[0].String), UnresolvedTy);
-  ;}
+    yyval.Ty = Type::get(*yyvsp[0].String, UnresolvedTy);
+  }
     break;
 
   case 129:
-#line 1148 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1148 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    (yyval.Ty) = (yyvsp[0].Ty)
-  ;}
+    yyval.Ty = yyvsp[0].Ty
+  }
     break;
 
   case 130:
-#line 1151 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1151 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                   // Type UpReference
-    (yyvsp[0].String)->insert(0, "\\");
-    (yyval.Ty) = Type::get(*(yyvsp[0].String), UpRefTy);
-  ;}
+    yyvsp[0].String->insert(0, "\\");
+    yyval.Ty = Type::get(*yyvsp[0].String, UpRefTy);
+  }
     break;
 
   case 131:
-#line 1155 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1155 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {           // Function derived type?
-    std::string newTy( (yyvsp[-3].Ty)->getNewTy() + "(");
-    for (unsigned i = 0; i < (yyvsp[-1].TypeVec)->size(); ++i) {
+    std::string newTy( yyvsp[-3].Ty->getNewTy() + "(");
+    for (unsigned i = 0; i < yyvsp[-1].TypeVec->size(); ++i) {
       if (i != 0)
         newTy +=  ", ";
-      if ((*(yyvsp[-1].TypeVec))[i]->isVoid())
+      if ((*yyvsp[-1].TypeVec)[i]->isVoid())
         newTy += "...";
       else
-        newTy += (*(yyvsp[-1].TypeVec))[i]->getNewTy();
+        newTy += (*yyvsp[-1].TypeVec)[i]->getNewTy();
     }
     newTy += ")";
-    (yyval.Ty) = Type::get(newTy, (yyvsp[-3].Ty), (yyvsp[-1].TypeVec));
-  ;}
+    yyval.Ty = Type::get(newTy, yyvsp[-3].Ty, yyvsp[-1].TypeVec);
+  }
     break;
 
   case 132:
-#line 1168 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1168 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {          // Sized array type?
-    uint64_t elems = atoi((yyvsp[-3].String)->c_str());
-    (yyvsp[-3].String)->insert(0,"[ ");
-    *(yyvsp[-3].String) += " x " + (yyvsp[-1].Ty)->getNewTy() + " ]";
-    (yyval.Ty) = Type::get(*(yyvsp[-3].String), ArrayTy, (yyvsp[-1].Ty), elems);
-  ;}
+    uint64_t elems = atoi(yyvsp[-3].String->c_str());
+    yyvsp[-3].String->insert(0,"[ ");
+    *yyvsp[-3].String += " x " + yyvsp[-1].Ty->getNewTy() + " ]";
+    yyval.Ty = Type::get(*yyvsp[-3].String, ArrayTy, yyvsp[-1].Ty, elems);
+  }
     break;
 
   case 133:
-#line 1174 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1174 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {          // Packed array type?
-    uint64_t elems = atoi((yyvsp[-3].String)->c_str());
-    (yyvsp[-3].String)->insert(0,"< ");
-    *(yyvsp[-3].String) += " x " + (yyvsp[-1].Ty)->getNewTy() + " >";
-    (yyval.Ty) = Type::get(*(yyvsp[-3].String), PackedTy, (yyvsp[-1].Ty), elems);
-  ;}
+    uint64_t elems = atoi(yyvsp[-3].String->c_str());
+    yyvsp[-3].String->insert(0,"< ");
+    *yyvsp[-3].String += " x " + yyvsp[-1].Ty->getNewTy() + " >";
+    yyval.Ty = Type::get(*yyvsp[-3].String, PackedTy, yyvsp[-1].Ty, elems);
+  }
     break;
 
   case 134:
-#line 1180 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1180 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                        // Structure type?
     std::string newTy("{");
-    for (unsigned i = 0; i < (yyvsp[-1].TypeVec)->size(); ++i) {
+    for (unsigned i = 0; i < yyvsp[-1].TypeVec->size(); ++i) {
       if (i != 0)
         newTy +=  ", ";
-      newTy += (*(yyvsp[-1].TypeVec))[i]->getNewTy();
+      newTy += (*yyvsp[-1].TypeVec)[i]->getNewTy();
     }
     newTy += "}";
-    (yyval.Ty) = Type::get(newTy, StructTy, (yyvsp[-1].TypeVec));
-  ;}
+    yyval.Ty = Type::get(newTy, StructTy, yyvsp[-1].TypeVec);
+  }
     break;
 
   case 135:
-#line 1190 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1190 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                                  // Empty structure type?
-    (yyval.Ty) = Type::get("{}", StructTy, new TypeList());
-  ;}
+    yyval.Ty = Type::get("{}", StructTy, new TypeList());
+  }
     break;
 
   case 136:
-#line 1193 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1193 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                // Packed Structure type?
     std::string newTy("<{");
-    for (unsigned i = 0; i < (yyvsp[-2].TypeVec)->size(); ++i) {
+    for (unsigned i = 0; i < yyvsp[-2].TypeVec->size(); ++i) {
       if (i != 0)
         newTy +=  ", ";
-      newTy += (*(yyvsp[-2].TypeVec))[i]->getNewTy();
+      newTy += (*yyvsp[-2].TypeVec)[i]->getNewTy();
     }
     newTy += "}>";
-    (yyval.Ty) = Type::get(newTy, PackedStructTy, (yyvsp[-2].TypeVec));
-  ;}
+    yyval.Ty = Type::get(newTy, PackedStructTy, yyvsp[-2].TypeVec);
+  }
     break;
 
   case 137:
-#line 1203 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1203 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                          // Empty packed structure type?
-    (yyval.Ty) = Type::get("<{}>", PackedStructTy, new TypeList());
-  ;}
+    yyval.Ty = Type::get("<{}>", PackedStructTy, new TypeList());
+  }
     break;
 
   case 138:
-#line 1206 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1206 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                             // Pointer type?
-    (yyval.Ty) = (yyvsp[-1].Ty)->getPointerType();
-  ;}
+    yyval.Ty = yyvsp[-1].Ty->getPointerType();
+  }
     break;
 
   case 139:
-#line 1214 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1214 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.TypeVec) = new TypeList();
-    (yyval.TypeVec)->push_back((yyvsp[0].Ty));
-  ;}
+    yyval.TypeVec = new TypeList();
+    yyval.TypeVec->push_back(yyvsp[0].Ty);
+  }
     break;
 
   case 140:
-#line 1218 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1218 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.TypeVec) = (yyvsp[-2].TypeVec);
-    (yyval.TypeVec)->push_back((yyvsp[0].Ty));
-  ;}
+    yyval.TypeVec = yyvsp[-2].TypeVec;
+    yyval.TypeVec->push_back(yyvsp[0].Ty);
+  }
     break;
 
   case 142:
-#line 1226 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1226 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.TypeVec) = (yyvsp[-2].TypeVec);
-    (yyval.TypeVec)->push_back(Type::get("void",VoidTy));
-    delete (yyvsp[0].String);
-  ;}
+    yyval.TypeVec = yyvsp[-2].TypeVec;
+    yyval.TypeVec->push_back(Type::get("void",VoidTy));
+    delete yyvsp[0].String;
+  }
     break;
 
   case 143:
-#line 1231 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1231 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.TypeVec) = new TypeList();
-    (yyval.TypeVec)->push_back(Type::get("void",VoidTy));
-    delete (yyvsp[0].String);
-  ;}
+    yyval.TypeVec = new TypeList();
+    yyval.TypeVec->push_back(Type::get("void",VoidTy));
+    delete yyvsp[0].String;
+  }
     break;
 
   case 144:
-#line 1236 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1236 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.TypeVec) = new TypeList();
-  ;}
+    yyval.TypeVec = new TypeList();
+  }
     break;
 
   case 145:
-#line 1246 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1246 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { // Nonempty unsized arr
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-3].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-3].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " [ " + *(yyvsp[-1].String) + " ]";
-    delete (yyvsp[-1].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-3].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-3].Ty->getNewTy());
+    *yyval.Const->cnst += " [ " + *yyvsp[-1].String + " ]";
+    delete yyvsp[-1].String;
+  }
     break;
 
   case 146:
-#line 1253 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1253 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-2].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-2].Ty)->getNewTy());
-    *(yyval.Const)->cnst += "[ ]";
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-2].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-2].Ty->getNewTy());
+    *yyval.Const->cnst += "[ ]";
+  }
     break;
 
   case 147:
-#line 1259 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1259 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-2].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-2].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " c" + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-2].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-2].Ty->getNewTy());
+    *yyval.Const->cnst += " c" + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 148:
-#line 1266 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1266 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { // Nonempty unsized arr
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-3].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-3].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " < " + *(yyvsp[-1].String) + " >";
-    delete (yyvsp[-1].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-3].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-3].Ty->getNewTy());
+    *yyval.Const->cnst += " < " + *yyvsp[-1].String + " >";
+    delete yyvsp[-1].String;
+  }
     break;
 
   case 149:
-#line 1273 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1273 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-3].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-3].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " { " + *(yyvsp[-1].String) + " }";
-    delete (yyvsp[-1].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-3].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-3].Ty->getNewTy());
+    *yyval.Const->cnst += " { " + *yyvsp[-1].String + " }";
+    delete yyvsp[-1].String;
+  }
     break;
 
   case 150:
-#line 1280 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1280 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-2].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-2].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " {}";
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-2].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-2].Ty->getNewTy());
+    *yyval.Const->cnst += " {}";
+  }
     break;
 
   case 151:
-#line 1286 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1286 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst +=  " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst +=  " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 152:
-#line 1293 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1293 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 153:
-#line 1300 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1300 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    std::string Name = getUniqueName((yyvsp[0].String), (yyvsp[-1].Ty)->resolve(), true);
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + Name;
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    std::string Name = getUniqueName(yyvsp[0].String, yyvsp[-1].Ty->resolve(), true);
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + Name;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 154:
-#line 1308 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1308 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 155:
-#line 1315 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1315 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 156:
-#line 1322 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1322 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {      // integral constants
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 157:
-#line 1329 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1329 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {            // integral constants
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 158:
-#line 1336 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1336 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                      // Boolean constants
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 159:
-#line 1343 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1343 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                     // Boolean constants
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 160:
-#line 1350 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1350 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                   // Float & Double constants
-    (yyval.Const) = new Constant;
-    (yyval.Const)->type = (yyvsp[-1].Ty);
-    (yyval.Const)->cnst = new std::string((yyvsp[-1].Ty)->getNewTy());
-    *(yyval.Const)->cnst += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    yyval.Const = new Constant;
+    yyval.Const->type = yyvsp[-1].Ty;
+    yyval.Const->cnst = new std::string(yyvsp[-1].Ty->getNewTy());
+    *yyval.Const->cnst += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 161:
-#line 1358 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1358 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string source = *(yyvsp[-3].Const)->cnst;
-    const Type* SrcTy = (yyvsp[-3].Const)->type->resolve();
-    const Type* DstTy = (yyvsp[-1].Ty)->resolve(); 
-    if (*(yyvsp[-5].String) == "cast") {
+    std::string source = *yyvsp[-3].Const->cnst;
+    const Type* SrcTy = yyvsp[-3].Const->type->resolve();
+    const Type* DstTy = yyvsp[-1].Ty->resolve(); 
+    if (*yyvsp[-5].String == "cast") {
       // Call getCastUpgrade to upgrade the old cast
-      (yyval.String) = new std::string(getCastUpgrade(source, SrcTy, DstTy, true));
+      yyval.String = new std::string(getCastUpgrade(source, SrcTy, DstTy, true));
     } else {
       // Nothing to upgrade, just create the cast constant expr
-      (yyval.String) = new std::string(*(yyvsp[-5].String));
-      *(yyval.String) += "( " + source + " to " + (yyvsp[-1].Ty)->getNewTy() + ")";
+      yyval.String = new std::string(*yyvsp[-5].String);
+      *yyval.String += "( " + source + " to " + yyvsp[-1].Ty->getNewTy() + ")";
     }
-    delete (yyvsp[-5].String); delete (yyvsp[-3].Const); delete (yyvsp[-2].String);
-  ;}
+    delete yyvsp[-5].String; delete yyvsp[-3].Const; delete yyvsp[-2].String;
+  }
     break;
 
   case 162:
-#line 1372 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1372 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-4].String) += "(" + *(yyvsp[-2].Const)->cnst;
-    for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) {
-      Value* V = (*(yyvsp[-1].ValList))[i];
-      *(yyvsp[-4].String) += ", " + *V->val;
+    *yyvsp[-4].String += "(" + *yyvsp[-2].Const->cnst;
+    for (unsigned i = 0; i < yyvsp[-1].ValList->size(); ++i) {
+      Value* V = (*yyvsp[-1].ValList)[i];
+      *yyvsp[-4].String += ", " + *V->val;
       delete V;
     }
-    *(yyvsp[-4].String) += ")";
-    (yyval.String) = (yyvsp[-4].String);
-    delete (yyvsp[-2].Const);
-    delete (yyvsp[-1].ValList);
-  ;}
+    *yyvsp[-4].String += ")";
+    yyval.String = yyvsp[-4].String;
+    delete yyvsp[-2].Const;
+    delete yyvsp[-1].ValList;
+  }
     break;
 
   case 163:
-#line 1384 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1384 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const)->cnst + "," + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-5].Const); delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-7].String);
-  ;}
+    *yyvsp[-7].String += "(" + *yyvsp[-5].Const->cnst + "," + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-5].Const; delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-7].String;
+  }
     break;
 
   case 164:
-#line 1389 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1389 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    const char* op = getDivRemOpcode(*(yyvsp[-5].String), (yyvsp[-3].Const)->type); 
-    (yyval.String) = new std::string(op);
-    *(yyval.String) += "(" + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-5].String); delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-  ;}
+    const char* op = getDivRemOpcode(*yyvsp[-5].String, yyvsp[-3].Const->type); 
+    yyval.String = new std::string(op);
+    *yyval.String += "(" + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-5].String; delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+  }
     break;
 
   case 165:
-#line 1395 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1395 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-5].String);
-  ;}
+    *yyvsp[-5].String += "(" + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-5].String;
+  }
     break;
 
   case 166:
-#line 1400 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1400 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-5].String) = getCompareOp(*(yyvsp[-5].String), (yyvsp[-3].Const)->type);
-    *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-5].String);
-  ;}
+    *yyvsp[-5].String = getCompareOp(*yyvsp[-5].String, yyvsp[-3].Const->type);
+    *yyvsp[-5].String += "(" + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-5].String;
+  }
     break;
 
   case 167:
-#line 1406 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1406 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-6].String) += " " + *(yyvsp[-5].String) + " (" +  *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-5].String); delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-6].String);
-  ;}
+    *yyvsp[-6].String += " " + *yyvsp[-5].String + " (" +  *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-5].String; delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-6].String;
+  }
     break;
 
   case 168:
-#line 1411 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1411 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-6].String) += " " + *(yyvsp[-5].String) + " (" + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-5].String); delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-6].String);
-  ;}
+    *yyvsp[-6].String += " " + *yyvsp[-5].String + " (" + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-5].String; delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-6].String;
+  }
     break;
 
   case 169:
-#line 1416 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1416 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    const char* shiftop = (yyvsp[-5].String)->c_str();
-    if (*(yyvsp[-5].String) == "shr")
-      shiftop = ((yyvsp[-3].Const)->type->isUnsigned()) ? "lshr" : "ashr";
-    (yyval.String) = new std::string(shiftop);
-    *(yyval.String) += "(" + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-5].String); delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-  ;}
+    const char* shiftop = yyvsp[-5].String->c_str();
+    if (*yyvsp[-5].String == "shr")
+      shiftop = (yyvsp[-3].Const->type->isUnsigned()) ? "lshr" : "ashr";
+    yyval.String = new std::string(shiftop);
+    *yyval.String += "(" + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-5].String; delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+  }
     break;
 
   case 170:
-#line 1424 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1424 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-5].String);
-  ;}
+    *yyvsp[-5].String += "(" + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-5].String;
+  }
     break;
 
   case 171:
-#line 1429 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1429 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const)->cnst + "," + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-5].Const); delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-7].String);
-  ;}
+    *yyvsp[-7].String += "(" + *yyvsp[-5].Const->cnst + "," + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-5].Const; delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-7].String;
+  }
     break;
 
   case 172:
-#line 1434 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1434 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const)->cnst + "," + *(yyvsp[-3].Const)->cnst + "," + *(yyvsp[-1].Const)->cnst + ")";
-    delete (yyvsp[-5].Const); delete (yyvsp[-3].Const); delete (yyvsp[-1].Const);
-    (yyval.String) = (yyvsp[-7].String);
-  ;}
+    *yyvsp[-7].String += "(" + *yyvsp[-5].Const->cnst + "," + *yyvsp[-3].Const->cnst + "," + *yyvsp[-1].Const->cnst + ")";
+    delete yyvsp[-5].Const; delete yyvsp[-3].Const; delete yyvsp[-1].Const;
+    yyval.String = yyvsp[-7].String;
+  }
     break;
 
   case 173:
-#line 1444 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1444 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += ", " + *(yyvsp[0].Const)->cnst;
-    delete (yyvsp[0].Const);
-    (yyval.String) = (yyvsp[-2].String);
-  ;}
+    *yyvsp[-2].String += ", " + *yyvsp[0].Const->cnst;
+    delete yyvsp[0].Const;
+    yyval.String = yyvsp[-2].String;
+  }
     break;
 
   case 174:
-#line 1449 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(*(yyvsp[0].Const)->cnst); delete (yyvsp[0].Const); ;}
+#line 1449 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(*yyvsp[0].Const->cnst); delete yyvsp[0].Const; }
     break;
 
   case 177:
-#line 1464 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1464 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-;}
+}
     break;
 
   case 178:
-#line 1469 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1469 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = 0;
-  ;}
+    yyval.String = 0;
+  }
     break;
 
   case 179:
-#line 1472 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1472 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *O << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[0].String << '\n';
+    delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 180:
-#line 1477 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1477 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *O << "module asm " << ' ' << *(yyvsp[0].String) << '\n';
-    (yyval.String) = 0;
-  ;}
+    *O << "module asm " << ' ' << *yyvsp[0].String << '\n';
+    yyval.String = 0;
+  }
     break;
 
   case 181:
-#line 1481 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1481 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
     *O << "implementation\n";
-    (yyval.String) = 0;
-  ;}
+    yyval.String = 0;
+  }
     break;
 
   case 182:
-#line 1485 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = 0; ;}
+#line 1485 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = 0; }
     break;
 
   case 184:
-#line 1487 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = (yyvsp[0].String); *(yyval.String) = "external"; ;}
+#line 1488 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = yyvsp[0].String; *yyval.String = "external"; }
     break;
 
   case 185:
-#line 1490 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1491 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    Type::EnumeratedTypes.push_back((yyvsp[0].Ty));
-    if (!(yyvsp[-2].String)->empty()) {
-      Type::NamedTypes[*(yyvsp[-2].String)] = (yyvsp[0].Ty);
-      *O << *(yyvsp[-2].String) << " = ";
+    Type::EnumeratedTypes.push_back(yyvsp[0].Ty);
+    if (!yyvsp[-2].String->empty()) {
+      Type::NamedTypes[*yyvsp[-2].String] = yyvsp[0].Ty;
+      *O << *yyvsp[-2].String << " = ";
     }
-    *O << "type " << (yyvsp[0].Ty)->getNewTy() << '\n';
-    delete (yyvsp[-2].String); delete (yyvsp[-1].String);
-    (yyval.String) = 0;
-  ;}
+    *O << "type " << yyvsp[0].Ty->getNewTy() << '\n';
+    delete yyvsp[-2].String; delete yyvsp[-1].String;
+    yyval.String = 0;
+  }
     break;
 
   case 186:
-#line 1500 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1501 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {       // Function prototypes can be in const pool
-    *O << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[0].String << '\n';
+    delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 187:
-#line 1505 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1506 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {  // Asm blocks can be in the const pool
-    *O << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String)
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[-2].String << ' ' << *yyvsp[-1].String << ' ' << *yyvsp[0].String << '\n';
+    delete yyvsp[-2].String; delete yyvsp[-1].String; delete yyvsp[0].String
+    yyval.String = 0;
+  }
     break;
 
   case 188:
-#line 1510 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1511 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-4].String)->empty()) {
-      std::string Name = getGlobalName((yyvsp[-4].String),*(yyvsp[-3].String), (yyvsp[-1].Const)->type->getPointerType(),
-                                       *(yyvsp[-2].String) == "constant");
+    if (!yyvsp[-4].String->empty()) {
+      std::string Name = getGlobalName(yyvsp[-4].String,*yyvsp[-3].String, yyvsp[-1].Const->type->getPointerType(),
+                                       *yyvsp[-2].String == "constant");
       *O << Name << " = ";
     }
-    *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Const)->cnst << ' ' << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[0].String)
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[-3].String << ' ' << *yyvsp[-2].String << ' ' << *yyvsp[-1].Const->cnst << ' ' << *yyvsp[0].String << '\n';
+    delete yyvsp[-4].String; delete yyvsp[-3].String; delete yyvsp[-2].String; delete yyvsp[0].String
+    yyval.String = 0;
+  }
     break;
 
   case 189:
-#line 1520 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1521 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-4].String)->empty()) {
-      std::string Name = getGlobalName((yyvsp[-4].String),*(yyvsp[-3].String),(yyvsp[-1].Ty)->getPointerType(),
-                                       *(yyvsp[-2].String) == "constant");
+    if (!yyvsp[-4].String->empty()) {
+      std::string Name = getGlobalName(yyvsp[-4].String,*yyvsp[-3].String,yyvsp[-1].Ty->getPointerType(),
+                                       *yyvsp[-2].String == "constant");
       *O << Name << " = ";
     }
-    *O <<  *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << (yyvsp[-1].Ty)->getNewTy() << ' ' << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O <<  *yyvsp[-3].String << ' ' << *yyvsp[-2].String << ' ' << yyvsp[-1].Ty->getNewTy() << ' ' << *yyvsp[0].String << '\n';
+    delete yyvsp[-4].String; delete yyvsp[-3].String; delete yyvsp[-2].String; delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 190:
-#line 1530 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1531 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-4].String)->empty()) {
-      std::string Name = getGlobalName((yyvsp[-4].String),*(yyvsp[-3].String),(yyvsp[-1].Ty)->getPointerType(),
-                                       *(yyvsp[-2].String) == "constant");
+    if (!yyvsp[-4].String->empty()) {
+      std::string Name = getGlobalName(yyvsp[-4].String,*yyvsp[-3].String,yyvsp[-1].Ty->getPointerType(),
+                                       *yyvsp[-2].String == "constant");
       *O << Name << " = ";
     }
-    *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << (yyvsp[-1].Ty)->getNewTy() << ' ' << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[-3].String << ' ' << *yyvsp[-2].String << ' ' << yyvsp[-1].Ty->getNewTy() << ' ' << *yyvsp[0].String << '\n';
+    delete yyvsp[-4].String; delete yyvsp[-3].String; delete yyvsp[-2].String; delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 191:
-#line 1540 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1541 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-4].String)->empty()) {
-      std::string Name = getGlobalName((yyvsp[-4].String),*(yyvsp[-3].String),(yyvsp[-1].Ty)->getPointerType(),
-                                       *(yyvsp[-2].String) == "constant");
+    if (!yyvsp[-4].String->empty()) {
+      std::string Name = getGlobalName(yyvsp[-4].String,*yyvsp[-3].String,yyvsp[-1].Ty->getPointerType(),
+                                       *yyvsp[-2].String == "constant");
       *O << Name << " = ";
     }
-    *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << (yyvsp[-1].Ty)->getNewTy() << ' ' << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[-3].String << ' ' << *yyvsp[-2].String << ' ' << yyvsp[-1].Ty->getNewTy() << ' ' << *yyvsp[0].String << '\n';
+    delete yyvsp[-4].String; delete yyvsp[-3].String; delete yyvsp[-2].String; delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 192:
-#line 1550 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1551 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-1].String); delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[-1].String << ' ' << *yyvsp[0].String << '\n';
+    delete yyvsp[-1].String; delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 193:
-#line 1555 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1556 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *O << *(yyvsp[-2].String) << " = " << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-2].String); delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[-2].String << " = " << *yyvsp[0].String << '\n';
+    delete yyvsp[-2].String; delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 194:
-#line 1560 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1561 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    (yyval.String) = 0;
-  ;}
+    yyval.String = 0;
+  }
     break;
 
   case 198:
-#line 1570 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1571 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-2].String);
-  ;}
+    *yyvsp[-2].String += " = " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-2].String;
+  }
     break;
 
   case 199:
-#line 1575 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1576 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
-    if (*(yyvsp[0].String) == "64")
+    *yyvsp[-2].String += " = " + *yyvsp[0].String;
+    if (*yyvsp[0].String == "64")
       SizeOfPointer = 64;
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-2].String);
-  ;}
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-2].String;
+  }
     break;
 
   case 200:
-#line 1582 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1583 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-2].String);
-  ;}
+    *yyvsp[-2].String += " = " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-2].String;
+  }
     break;
 
   case 201:
-#line 1587 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1588 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-2].String);
-  ;}
+    *yyvsp[-2].String += " = " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-2].String;
+  }
     break;
 
   case 202:
-#line 1594 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1595 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyvsp[-1].String)->insert(0, "[ ");
-    *(yyvsp[-1].String) += " ]";
-    (yyval.String) = (yyvsp[-1].String);
-  ;}
+    yyvsp[-1].String->insert(0, "[ ");
+    *yyvsp[-1].String += " ]";
+    yyval.String = yyvsp[-1].String;
+  }
     break;
 
   case 203:
-#line 1601 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1602 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += ", " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-2].String);
-  ;}
+    *yyvsp[-2].String += ", " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-2].String;
+  }
     break;
 
   case 205:
-#line 1607 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1608 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = new std::string();
-  ;}
+    yyval.String = new std::string();
+  }
     break;
 
   case 209:
-#line 1616 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1617 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 210:
-#line 1618 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1619 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-  (yyval.String) = new std::string((yyvsp[-1].Ty)->getNewTy());
-  if (!(yyvsp[0].String)->empty()) {
-    std::string Name = getUniqueName((yyvsp[0].String), (yyvsp[-1].Ty)->resolve());
-    *(yyval.String) += " " + Name;
+  yyval.String = new std::string(yyvsp[-1].Ty->getNewTy());
+  if (!yyvsp[0].String->empty()) {
+    std::string Name = getUniqueName(yyvsp[0].String, yyvsp[-1].Ty->resolve());
+    *yyval.String += " " + Name;
   }
-  delete (yyvsp[0].String);
-;}
+  delete yyvsp[0].String;
+}
     break;
 
   case 211:
-#line 1627 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1628 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += ", " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-  ;}
+    *yyvsp[-2].String += ", " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 212:
-#line 1631 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1632 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = (yyvsp[0].String);
-  ;}
+    yyval.String = yyvsp[0].String;
+  }
     break;
 
   case 213:
-#line 1635 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1636 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = (yyvsp[0].String);
-  ;}
+    yyval.String = yyvsp[0].String;
+  }
     break;
 
   case 214:
-#line 1638 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1639 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += ", ...";
-    (yyval.String) = (yyvsp[-2].String);
-    delete (yyvsp[0].String);
-  ;}
+    *yyvsp[-2].String += ", ...";
+    yyval.String = yyvsp[-2].String;
+    delete yyvsp[0].String;
+  }
     break;
 
   case 215:
-#line 1643 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1644 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = (yyvsp[0].String);
-  ;}
+    yyval.String = yyvsp[0].String;
+  }
     break;
 
   case 216:
-#line 1646 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1647 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 217:
-#line 1649 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1650 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (*(yyvsp[-5].String) == "%llvm.va_start" || *(yyvsp[-5].String) == "%llvm.va_end") {
-      *(yyvsp[-3].String) = "i8*";
-    } else if (*(yyvsp[-5].String) == "%llvm.va_copy") {
-      *(yyvsp[-3].String) = "i8*, i8*";
+    if (*yyvsp[-5].String == "%llvm.va_start" || *yyvsp[-5].String == "%llvm.va_end") {
+      *yyvsp[-3].String = "i8*";
+    } else if (*yyvsp[-5].String == "%llvm.va_copy") {
+      *yyvsp[-3].String = "i8*, i8*";
     }
-    if (!(yyvsp[-7].String)->empty()) {
-      *(yyvsp[-7].String) += " ";
+    if (!yyvsp[-7].String->empty()) {
+      *yyvsp[-7].String += " ";
     }
-    *(yyvsp[-7].String) += (yyvsp[-6].Ty)->getNewTy() + " " + *(yyvsp[-5].String) + "(" + *(yyvsp[-3].String) + ")";
-    if (!(yyvsp[-1].String)->empty()) {
-      *(yyvsp[-7].String) += " " + *(yyvsp[-1].String);
+    *yyvsp[-7].String += yyvsp[-6].Ty->getNewTy() + " " + *yyvsp[-5].String + "(" + *yyvsp[-3].String + ")";
+    if (!yyvsp[-1].String->empty()) {
+      *yyvsp[-7].String += " " + *yyvsp[-1].String;
     }
-    if (!(yyvsp[0].String)->empty()) {
-      *(yyvsp[-7].String) += " " + *(yyvsp[0].String);
+    if (!yyvsp[0].String->empty()) {
+      *yyvsp[-7].String += " " + *yyvsp[0].String;
     }
-    delete (yyvsp[-5].String);
-    delete (yyvsp[-3].String);
-    delete (yyvsp[-1].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-7].String);
-  ;}
+    delete yyvsp[-5].String;
+    delete yyvsp[-3].String;
+    delete yyvsp[-1].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-7].String;
+  }
     break;
 
   case 218:
-#line 1672 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string("{"); delete (yyvsp[0].String); ;}
+#line 1673 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string("{"); delete yyvsp[0].String; }
     break;
 
   case 219:
-#line 1673 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string ("{"); ;}
+#line 1674 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string ("{"); }
     break;
 
   case 220:
-#line 1676 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1678 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
     *O << "define ";
-    if (!(yyvsp[-2].String)->empty()) {
-      *O << *(yyvsp[-2].String) << ' ';
+    if (!yyvsp[-2].String->empty()) {
+      *O << *yyvsp[-2].String << ' ';
     }
-    *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[-1].String << ' ' << *yyvsp[0].String << '\n';
+    delete yyvsp[-2].String; delete yyvsp[-1].String; delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 221:
-#line 1687 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string("}"); delete (yyvsp[0].String); ;}
+#line 1689 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string("}"); delete yyvsp[0].String; }
     break;
 
   case 222:
-#line 1688 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string("}"); ;}
+#line 1690 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string("}"); }
     break;
 
   case 223:
-#line 1690 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1692 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-  if ((yyvsp[-1].String))
-    *O << *(yyvsp[-1].String);
-  *O << *(yyvsp[0].String) << "\n\n";
-  delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String);
-  (yyval.String) = 0;
-;}
+  if (yyvsp[-1].String)
+    *O << *yyvsp[-1].String;
+  *O << *yyvsp[0].String << "\n\n";
+  delete yyvsp[-2].String; delete yyvsp[-1].String; delete yyvsp[0].String;
+  yyval.String = 0;
+}
     break;
 
   case 224:
-#line 1699 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1701 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 227:
-#line 1705 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { isDeclare = true; ;}
+#line 1707 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { isDeclare = true; }
     break;
 
   case 228:
-#line 1705 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1707 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    if (!(yyvsp[-1].String)->empty())
-      *(yyvsp[-3].String) += " " + *(yyvsp[-1].String);
-    *(yyvsp[-3].String) += " " + *(yyvsp[0].String);
-    delete (yyvsp[-1].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-3].String);
+    if (!yyvsp[-1].String->empty())
+      *yyvsp[-3].String += " " + *yyvsp[-1].String;
+    *yyvsp[-3].String += " " + *yyvsp[0].String;
+    delete yyvsp[-1].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-3].String;
     isDeclare = false;
-  ;}
+  }
     break;
 
   case 229:
-#line 1719 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 1721 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 239:
-#line 1725 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1727 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { 
-    (yyvsp[-1].String)->insert(0, "<");
-    *(yyvsp[-1].String) += ">";
-    (yyval.String) = (yyvsp[-1].String);
-  ;}
+    yyvsp[-1].String->insert(0, "<");
+    *yyvsp[-1].String += ">";
+    yyval.String = yyvsp[-1].String;
+  }
     break;
 
   case 241:
-#line 1731 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1733 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-3].String)->empty()) {
-      *(yyvsp[-4].String) += " " + *(yyvsp[-3].String);
+    if (!yyvsp[-3].String->empty()) {
+      *yyvsp[-4].String += " " + *yyvsp[-3].String;
     }
-    *(yyvsp[-4].String) += " " + *(yyvsp[-2].String) + ", " + *(yyvsp[0].String);
-    delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-4].String);
-  ;}
+    *yyvsp[-4].String += " " + *yyvsp[-2].String + ", " + *yyvsp[0].String;
+    delete yyvsp[-3].String; delete yyvsp[-2].String; delete yyvsp[0].String;
+    yyval.String = yyvsp[-4].String;
+  }
     break;
 
   case 244:
-#line 1744 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1746 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Val) = new Value;
-    (yyval.Val)->val = (yyvsp[0].String);
-    (yyval.Val)->constant = false;
-    (yyval.Val)->type = 0;
-  ;}
+    yyval.Val = new Value;
+    yyval.Val->val = yyvsp[0].String;
+    yyval.Val->constant = false;
+    yyval.Val->type = 0;
+  }
     break;
 
   case 245:
-#line 1750 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1752 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.Val) = new Value;
-    (yyval.Val)->val = (yyvsp[0].String);
-    (yyval.Val)->constant = true;
-    (yyval.Val)->type = 0;
-  ;}
+    yyval.Val = new Value;
+    yyval.Val->val = yyvsp[0].String;
+    yyval.Val->constant = true;
+    yyval.Val->type = 0;
+  }
     break;
 
   case 246:
-#line 1761 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1763 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyvsp[-1].Ty) = (yyvsp[-1].Ty)->resolve();
-    std::string Name = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-1].Ty));
-    (yyval.Val) = (yyvsp[0].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = new std::string((yyvsp[-1].Ty)->getNewTy() + " " + Name);
-    (yyval.Val)->type = (yyvsp[-1].Ty);
-  ;}
+    yyvsp[-1].Ty = yyvsp[-1].Ty->resolve();
+    std::string Name = getUniqueName(yyvsp[0].Val->val, yyvsp[-1].Ty);
+    yyval.Val = yyvsp[0].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = new std::string(yyvsp[-1].Ty->getNewTy() + " " + Name);
+    yyval.Val->type = yyvsp[-1].Ty;
+  }
     break;
 
   case 247:
-#line 1770 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1772 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = 0;
-  ;}
+    yyval.String = 0;
+  }
     break;
 
   case 248:
-#line 1773 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1775 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     { // Do not allow functions with 0 basic blocks   
-    (yyval.String) = 0;
-  ;}
+    yyval.String = 0;
+  }
     break;
 
   case 249:
-#line 1781 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1783 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = 0;
-  ;}
+    yyval.String = 0;
+  }
     break;
 
   case 250:
-#line 1785 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1787 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *O << "    " << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << "    " << *yyvsp[0].String << '\n';
+    delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 251:
-#line 1790 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1792 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.String) = 0;
-  ;}
+    yyval.String = 0;
+  }
     break;
 
   case 252:
-#line 1793 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1795 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *O << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << *yyvsp[0].String << '\n';
+    delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 254:
-#line 1799 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = (yyvsp[0].String); *(yyval.String) = "unwind"; ;}
+#line 1801 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = yyvsp[0].String; *yyval.String = "unwind"; }
     break;
 
   case 255:
-#line 1801 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1803 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {              // Return with a result...
-    *O << "    " << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].Val)->val << '\n';
-    delete (yyvsp[-1].String); delete (yyvsp[0].Val);
-    (yyval.String) = 0;
-  ;}
+    *O << "    " << *yyvsp[-1].String << ' ' << *yyvsp[0].Val->val << '\n';
+    delete yyvsp[-1].String; delete yyvsp[0].Val;
+    yyval.String = 0;
+  }
     break;
 
   case 256:
-#line 1806 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1808 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                                       // Return with no result...
-    *O << "    " << *(yyvsp[-1].String) << ' ' << (yyvsp[0].Ty)->getNewTy() << '\n';
-    delete (yyvsp[-1].String);
-    (yyval.String) = 0;
-  ;}
+    *O << "    " << *yyvsp[-1].String << ' ' << yyvsp[0].Ty->getNewTy() << '\n';
+    delete yyvsp[-1].String;
+    yyval.String = 0;
+  }
     break;
 
   case 257:
-#line 1811 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1813 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {                         // Unconditional Branch...
-    *O << "    " << *(yyvsp[-2].String) << ' ' << (yyvsp[-1].Ty)->getNewTy() << ' ' << *(yyvsp[0].Val)->val << '\n';
-    delete (yyvsp[-2].String); delete (yyvsp[0].Val);
-    (yyval.String) = 0;
-  ;}
+    *O << "    " << *yyvsp[-2].String << ' ' << yyvsp[-1].Ty->getNewTy() << ' ' << *yyvsp[0].Val->val << '\n';
+    delete yyvsp[-2].String; delete yyvsp[0].Val;
+    yyval.String = 0;
+  }
     break;
 
   case 258:
-#line 1816 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1818 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {  
-    std::string Name = getUniqueName((yyvsp[-6].Val)->val, (yyvsp[-7].Ty));
-    *O << "    " << *(yyvsp[-8].String) << ' ' << (yyvsp[-7].Ty)->getNewTy() << ' ' << Name << ", " 
-       << (yyvsp[-4].Ty)->getNewTy() << ' ' << *(yyvsp[-3].Val)->val << ", " << (yyvsp[-1].Ty)->getNewTy() << ' ' 
-       << *(yyvsp[0].Val)->val << '\n';
-    delete (yyvsp[-8].String); delete (yyvsp[-6].Val); delete (yyvsp[-3].Val); delete (yyvsp[0].Val);
-    (yyval.String) = 0;
-  ;}
+    std::string Name = getUniqueName(yyvsp[-6].Val->val, yyvsp[-7].Ty);
+    *O << "    " << *yyvsp[-8].String << ' ' << yyvsp[-7].Ty->getNewTy() << ' ' << Name << ", " 
+       << yyvsp[-4].Ty->getNewTy() << ' ' << *yyvsp[-3].Val->val << ", " << yyvsp[-1].Ty->getNewTy() << ' ' 
+       << *yyvsp[0].Val->val << '\n';
+    delete yyvsp[-8].String; delete yyvsp[-6].Val; delete yyvsp[-3].Val; delete yyvsp[0].Val;
+    yyval.String = 0;
+  }
     break;
 
   case 259:
-#line 1824 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1826 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[-6].Val)->val, (yyvsp[-7].Ty));
-    *O << "    " << *(yyvsp[-8].String) << ' ' << (yyvsp[-7].Ty)->getNewTy() << ' ' << Name << ", " 
-       << (yyvsp[-4].Ty)->getNewTy() << ' ' << *(yyvsp[-3].Val)->val << " [" << *(yyvsp[-1].String) << " ]\n";
-    delete (yyvsp[-8].String)
-    delete (yyvsp[-6].Val);
-    delete (yyvsp[-3].Val)
-    delete (yyvsp[-1].String);
-    (yyval.String) = 0;
-  ;}
+    std::string Name = getUniqueName(yyvsp[-6].Val->val, yyvsp[-7].Ty);
+    *O << "    " << *yyvsp[-8].String << ' ' << yyvsp[-7].Ty->getNewTy() << ' ' << Name << ", " 
+       << yyvsp[-4].Ty->getNewTy() << ' ' << *yyvsp[-3].Val->val << " [" << *yyvsp[-1].String << " ]\n";
+    delete yyvsp[-8].String
+    delete yyvsp[-6].Val;
+    delete yyvsp[-3].Val
+    delete yyvsp[-1].String;
+    yyval.String = 0;
+  }
     break;
 
   case 260:
-#line 1834 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1836 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[-5].Val)->val, (yyvsp[-6].Ty));
-    *O << "    " << *(yyvsp[-7].String) << ' ' << (yyvsp[-6].Ty)->getNewTy() << ' ' << Name << ", " 
-       << (yyvsp[-3].Ty)->getNewTy() << ' ' << *(yyvsp[-2].Val)->val << "[]\n";
-    delete (yyvsp[-7].String)
-    delete (yyvsp[-5].Val)
-    delete (yyvsp[-2].Val);
-    (yyval.String) = 0;
-  ;}
+    std::string Name = getUniqueName(yyvsp[-5].Val->val, yyvsp[-6].Ty);
+    *O << "    " << *yyvsp[-7].String << ' ' << yyvsp[-6].Ty->getNewTy() << ' ' << Name << ", " 
+       << yyvsp[-3].Ty->getNewTy() << ' ' << *yyvsp[-2].Val->val << "[]\n";
+    delete yyvsp[-7].String
+    delete yyvsp[-5].Val
+    delete yyvsp[-2].Val;
+    yyval.String = 0;
+  }
     break;
 
   case 261:
-#line 1844 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1846 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    const Type* ResTy = getFunctionReturnType((yyvsp[-10].Ty));
+    const Type* ResTy = getFunctionReturnType(yyvsp[-10].Ty);
     *O << "    ";
-    if (!(yyvsp[-13].String)->empty()) {
-      std::string Name = getUniqueName((yyvsp[-13].String), ResTy);
+    if (!yyvsp[-13].String->empty()) {
+      std::string Name = getUniqueName(yyvsp[-13].String, ResTy);
       *O << Name << " = ";
     }
-    *O << *(yyvsp[-12].String) << ' ' << *(yyvsp[-11].String) << ' ' << (yyvsp[-10].Ty)->getNewTy() << ' ' << *(yyvsp[-9].Val)->val << " (";
-    for (unsigned i = 0; i < (yyvsp[-7].ValList)->size(); ++i) {
-      Value* V = (*(yyvsp[-7].ValList))[i];
+    *O << *yyvsp[-12].String << ' ' << *yyvsp[-11].String << ' ' << yyvsp[-10].Ty->getNewTy() << ' ' << *yyvsp[-9].Val->val << " (";
+    for (unsigned i = 0; i < yyvsp[-7].ValList->size(); ++i) {
+      Value* V = (*yyvsp[-7].ValList)[i];
       *O << *V->val;
-      if (i+1 < (yyvsp[-7].ValList)->size())
+      if (i+1 < yyvsp[-7].ValList->size())
         *O << ", ";
       delete V;
     }
-    *O << ") " << *(yyvsp[-5].String) << ' ' << (yyvsp[-4].Ty)->getNewTy() << ' ' << *(yyvsp[-3].Val)->val << ' ' 
-       << *(yyvsp[-2].String) << ' ' << (yyvsp[-1].Ty)->getNewTy() << ' ' << *(yyvsp[0].Val)->val << '\n';
-    delete (yyvsp[-13].String); delete (yyvsp[-12].String); delete (yyvsp[-11].String); delete (yyvsp[-9].Val); delete (yyvsp[-7].ValList)
-    delete (yyvsp[-5].String); delete (yyvsp[-3].Val); delete (yyvsp[-2].String); delete (yyvsp[0].Val)
-    (yyval.String) = 0;
-  ;}
+    *O << ") " << *yyvsp[-5].String << ' ' << yyvsp[-4].Ty->getNewTy() << ' ' << *yyvsp[-3].Val->val << ' ' 
+       << *yyvsp[-2].String << ' ' << yyvsp[-1].Ty->getNewTy() << ' ' << *yyvsp[0].Val->val << '\n';
+    delete yyvsp[-13].String; delete yyvsp[-12].String; delete yyvsp[-11].String; delete yyvsp[-9].Val; delete yyvsp[-7].ValList
+    delete yyvsp[-5].String; delete yyvsp[-3].Val; delete yyvsp[-2].String; delete yyvsp[0].Val
+    yyval.String = 0;
+  }
     break;
 
   case 262:
-#line 1865 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1867 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *O << "    " << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << "    " << *yyvsp[0].String << '\n';
+    delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 263:
-#line 1870 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1872 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *O << "    " << *(yyvsp[0].String) << '\n';
-    delete (yyvsp[0].String);
-    (yyval.String) = 0;
-  ;}
+    *O << "    " << *yyvsp[0].String << '\n';
+    delete yyvsp[0].String;
+    yyval.String = 0;
+  }
     break;
 
   case 264:
-#line 1876 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1878 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-5].String) += " " + (yyvsp[-4].Ty)->getNewTy() + " " + *(yyvsp[-3].String) + ", " + (yyvsp[-1].Ty)->getNewTy() + " " + 
-           *(yyvsp[0].Val)->val;
-    delete (yyvsp[-3].String); delete (yyvsp[0].Val);
-    (yyval.String) = (yyvsp[-5].String);
-  ;}
+    *yyvsp[-5].String += " " + yyvsp[-4].Ty->getNewTy() + " " + *yyvsp[-3].String + ", " + yyvsp[-1].Ty->getNewTy() + " " + 
+           *yyvsp[0].Val->val;
+    delete yyvsp[-3].String; delete yyvsp[0].Val;
+    yyval.String = yyvsp[-5].String;
+  }
     break;
 
   case 265:
-#line 1882 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1884 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyvsp[-3].String)->insert(0, (yyvsp[-4].Ty)->getNewTy() + " " );
-    *(yyvsp[-3].String) += ", " + (yyvsp[-1].Ty)->getNewTy() + " " + *(yyvsp[0].Val)->val;
-    delete (yyvsp[0].Val);
-    (yyval.String) = (yyvsp[-3].String);
-  ;}
+    yyvsp[-3].String->insert(0, yyvsp[-4].Ty->getNewTy() + " " );
+    *yyvsp[-3].String += ", " + yyvsp[-1].Ty->getNewTy() + " " + *yyvsp[0].Val->val;
+    delete yyvsp[0].Val;
+    yyval.String = yyvsp[-3].String;
+  }
     break;
 
   case 266:
-#line 1890 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1892 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-1].String)->empty()) {
+    if (!yyvsp[-1].String->empty()) {
       // Get a unique name for this value, based on its type.
-      std::string Name = getUniqueName((yyvsp[-1].String), (yyvsp[0].Val)->type);
-      *(yyvsp[-1].String) = Name + " = ";
+      std::string Name = getUniqueName(yyvsp[-1].String, yyvsp[0].Val->type);
+      *yyvsp[-1].String = Name + " = ";
       if (deleteUselessCastFlag && *deleteUselessCastName == Name) {
         // don't actually delete it, just comment it out
-        (yyvsp[-1].String)->insert(0, "; USELSS BITCAST: "); 
+        yyvsp[-1].String->insert(0, "; USELSS BITCAST: "); 
         delete deleteUselessCastName;
       }
     }
-    *(yyvsp[-1].String) += *(yyvsp[0].Val)->val;
-    delete (yyvsp[0].Val);
+    *yyvsp[-1].String += *yyvsp[0].Val->val;
+    delete yyvsp[0].Val;
     deleteUselessCastFlag = false;
-    (yyval.String) = (yyvsp[-1].String)
-  ;}
+    yyval.String = yyvsp[-1].String
+  }
     break;
 
   case 267:
-#line 1908 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1910 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {    // Used for PHI nodes
-    std::string Name = getUniqueName((yyvsp[-3].Val)->val, (yyvsp[-5].Ty));
-    Name.insert(0, (yyvsp[-5].Ty)->getNewTy() + "[");
-    Name += "," + *(yyvsp[-1].Val)->val + "]";
-    (yyval.Val) = new Value;
-    (yyval.Val)->val = new std::string(Name);
-    (yyval.Val)->type = (yyvsp[-5].Ty);
-    delete (yyvsp[-3].Val); delete (yyvsp[-1].Val);
-  ;}
+    std::string Name = getUniqueName(yyvsp[-3].Val->val, yyvsp[-5].Ty);
+    Name.insert(0, yyvsp[-5].Ty->getNewTy() + "[");
+    Name += "," + *yyvsp[-1].Val->val + "]";
+    yyval.Val = new Value;
+    yyval.Val->val = new std::string(Name);
+    yyval.Val->type = yyvsp[-5].Ty;
+    delete yyvsp[-3].Val; delete yyvsp[-1].Val;
+  }
     break;
 
   case 268:
-#line 1917 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1919 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[-3].Val)->val, (yyvsp[-6].Val)->type);
-    *(yyvsp[-6].Val)->val += ", [" + Name + "," + *(yyvsp[-1].Val)->val + "]";
-    delete (yyvsp[-3].Val)
-    delete (yyvsp[-1].Val);
-    (yyval.Val) = (yyvsp[-6].Val);
-  ;}
+    std::string Name = getUniqueName(yyvsp[-3].Val->val, yyvsp[-6].Val->type);
+    *yyvsp[-6].Val->val += ", [" + Name + "," + *yyvsp[-1].Val->val + "]";
+    delete yyvsp[-3].Val
+    delete yyvsp[-1].Val;
+    yyval.Val = yyvsp[-6].Val;
+  }
     break;
 
   case 269:
-#line 1927 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1929 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.ValList) = new ValueList();
-    (yyval.ValList)->push_back((yyvsp[0].Val));
-  ;}
+    yyval.ValList = new ValueList();
+    yyval.ValList->push_back(yyvsp[0].Val);
+  }
     break;
 
   case 270:
-#line 1931 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1933 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    (yyval.ValList) = (yyvsp[-2].ValList);
-    (yyval.ValList)->push_back((yyvsp[0].Val));
-  ;}
+    yyval.ValList = yyvsp[-2].ValList;
+    yyval.ValList->push_back(yyvsp[0].Val);
+  }
     break;
 
   case 271:
-#line 1938 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.ValList) = (yyvsp[0].ValList); ;}
+#line 1940 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.ValList = yyvsp[0].ValList; }
     break;
 
   case 272:
-#line 1939 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.ValList) = new ValueList(); ;}
+#line 1941 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.ValList = new ValueList(); }
     break;
 
   case 273:
-#line 1943 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1945 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
-    delete (yyvsp[0].String);
-    (yyval.String) = (yyvsp[-1].String);
-  ;}
+    *yyvsp[-1].String += " " + *yyvsp[0].String;
+    delete yyvsp[0].String;
+    yyval.String = yyvsp[-1].String;
+  }
     break;
 
   case 275:
-#line 1951 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1953 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    const char* op = getDivRemOpcode(*(yyvsp[-4].String), (yyvsp[-3].Ty)); 
-    std::string Name1 = getUniqueName((yyvsp[-2].Val)->val, (yyvsp[-3].Ty));
-    std::string Name2 = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-3].Ty));
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = new std::string(op);
-    *(yyval.Val)->val += " " + (yyvsp[-3].Ty)->getNewTy() + " " + Name1 + ", " + Name2;
-    (yyval.Val)->type = (yyvsp[-3].Ty);
-    delete (yyvsp[-4].String); delete (yyvsp[0].Val);
-  ;}
+    const char* op = getDivRemOpcode(*yyvsp[-4].String, yyvsp[-3].Ty); 
+    std::string Name1 = getUniqueName(yyvsp[-2].Val->val, yyvsp[-3].Ty);
+    std::string Name2 = getUniqueName(yyvsp[0].Val->val, yyvsp[-3].Ty);
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = new std::string(op);
+    *yyval.Val->val += " " + yyvsp[-3].Ty->getNewTy() + " " + Name1 + ", " + Name2;
+    yyval.Val->type = yyvsp[-3].Ty;
+    delete yyvsp[-4].String; delete yyvsp[0].Val;
+  }
     break;
 
   case 276:
-#line 1962 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1964 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name1 = getUniqueName((yyvsp[-2].Val)->val, (yyvsp[-3].Ty));
-    std::string Name2 = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-3].Ty));
-    *(yyvsp[-4].String) += " " + (yyvsp[-3].Ty)->getNewTy() + " " + Name1 + ", " + Name2;
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-4].String);
-    (yyval.Val)->type = (yyvsp[-3].Ty);
-    delete (yyvsp[0].Val);
-  ;}
+    std::string Name1 = getUniqueName(yyvsp[-2].Val->val, yyvsp[-3].Ty);
+    std::string Name2 = getUniqueName(yyvsp[0].Val->val, yyvsp[-3].Ty);
+    *yyvsp[-4].String += " " + yyvsp[-3].Ty->getNewTy() + " " + Name1 + ", " + Name2;
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-4].String;
+    yyval.Val->type = yyvsp[-3].Ty;
+    delete yyvsp[0].Val;
+  }
     break;
 
   case 277:
-#line 1972 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1974 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name1 = getUniqueName((yyvsp[-2].Val)->val, (yyvsp[-3].Ty));
-    std::string Name2 = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-3].Ty));
-    *(yyvsp[-4].String) = getCompareOp(*(yyvsp[-4].String), (yyvsp[-3].Ty));
-    *(yyvsp[-4].String) += " " + (yyvsp[-3].Ty)->getNewTy() + " " + Name1 + ", " + Name2;
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-4].String);
-    (yyval.Val)->type = Type::get("i1",BoolTy);
-    delete (yyvsp[0].Val);
-  ;}
+    std::string Name1 = getUniqueName(yyvsp[-2].Val->val, yyvsp[-3].Ty);
+    std::string Name2 = getUniqueName(yyvsp[0].Val->val, yyvsp[-3].Ty);
+    *yyvsp[-4].String = getCompareOp(*yyvsp[-4].String, yyvsp[-3].Ty);
+    *yyvsp[-4].String += " " + yyvsp[-3].Ty->getNewTy() + " " + Name1 + ", " + Name2;
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-4].String;
+    yyval.Val->type = Type::get("i1",BoolTy);
+    delete yyvsp[0].Val;
+  }
     break;
 
   case 278:
-#line 1983 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1985 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name1 = getUniqueName((yyvsp[-2].Val)->val, (yyvsp[-3].Ty));
-    std::string Name2 = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-3].Ty));
-    *(yyvsp[-5].String) += " " + *(yyvsp[-4].String) + " " + (yyvsp[-3].Ty)->getNewTy() + " " + Name1 + "," + Name2;
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    (yyval.Val)->type = Type::get("i1",BoolTy);
-    delete (yyvsp[-4].String); delete (yyvsp[0].Val);
-  ;}
+    std::string Name1 = getUniqueName(yyvsp[-2].Val->val, yyvsp[-3].Ty);
+    std::string Name2 = getUniqueName(yyvsp[0].Val->val, yyvsp[-3].Ty);
+    *yyvsp[-5].String += " " + *yyvsp[-4].String + " " + yyvsp[-3].Ty->getNewTy() + " " + Name1 + "," + Name2;
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-5].String;
+    yyval.Val->type = Type::get("i1",BoolTy);
+    delete yyvsp[-4].String; delete yyvsp[0].Val;
+  }
     break;
 
   case 279:
-#line 1993 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 1995 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name1 = getUniqueName((yyvsp[-2].Val)->val, (yyvsp[-3].Ty));
-    std::string Name2 = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-3].Ty));
-    *(yyvsp[-5].String) += " " + *(yyvsp[-4].String) + " " + (yyvsp[-3].Ty)->getNewTy() + " " + Name1 + "," + Name2;
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    (yyval.Val)->type = Type::get("i1",BoolTy);
-    delete (yyvsp[-4].String); delete (yyvsp[0].Val);
-  ;}
+    std::string Name1 = getUniqueName(yyvsp[-2].Val->val, yyvsp[-3].Ty);
+    std::string Name2 = getUniqueName(yyvsp[0].Val->val, yyvsp[-3].Ty);
+    *yyvsp[-5].String += " " + *yyvsp[-4].String + " " + yyvsp[-3].Ty->getNewTy() + " " + Name1 + "," + Name2;
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-5].String;
+    yyval.Val->type = Type::get("i1",BoolTy);
+    delete yyvsp[-4].String; delete yyvsp[0].Val;
+  }
     break;
 
   case 280:
-#line 2003 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2005 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    const char* shiftop = (yyvsp[-3].String)->c_str();
-    if (*(yyvsp[-3].String) == "shr")
-      shiftop = ((yyvsp[-2].Val)->type->isUnsigned()) ? "lshr" : "ashr";
+    const char* shiftop = yyvsp[-3].String->c_str();
+    if (*yyvsp[-3].String == "shr")
+      shiftop = (yyvsp[-2].Val->type->isUnsigned()) ? "lshr" : "ashr";
     std::string *val = new std::string(shiftop);
-    *val += " " + *(yyvsp[-2].Val)->val + ", " + *(yyvsp[0].Val)->val;
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = val;
-    delete (yyvsp[-3].String); delete (yyvsp[0].Val);
-  ;}
+    *val += " " + *yyvsp[-2].Val->val + ", " + *yyvsp[0].Val->val;
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = val;
+    delete yyvsp[-3].String; delete yyvsp[0].Val;
+  }
     break;
 
   case 281:
-#line 2014 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2016 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string source = *(yyvsp[-2].Val)->val;
-    const Type* SrcTy = (yyvsp[-2].Val)->type->resolve();
-    const Type* DstTy = (yyvsp[0].Ty)->resolve();
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = new std::string();
-    (yyval.Val)->type = DstTy;
-    if (*(yyvsp[-3].String) == "cast") {
-      *(yyval.Val)->val += getCastUpgrade(source, SrcTy, DstTy, false);
+    std::string source = *yyvsp[-2].Val->val;
+    const Type* SrcTy = yyvsp[-2].Val->type->resolve();
+    const Type* DstTy = yyvsp[0].Ty->resolve();
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = new std::string();
+    yyval.Val->type = DstTy;
+    if (*yyvsp[-3].String == "cast") {
+      *yyval.Val->val += getCastUpgrade(source, SrcTy, DstTy, false);
     } else {
-      *(yyval.Val)->val += *(yyvsp[-3].String) + " " + source + " to " + DstTy->getNewTy();
+      *yyval.Val->val += *yyvsp[-3].String + " " + source + " to " + DstTy->getNewTy();
     }
     // Check to see if this is a useless cast of a value to the same name
     // and the same type. Such casts will probably cause redefinition errors
     // when assembled and perform no code gen action so just remove them.
-    if (*(yyvsp[-3].String) == "cast" || *(yyvsp[-3].String) == "bitcast")
+    if (*yyvsp[-3].String == "cast" || *yyvsp[-3].String == "bitcast")
       if (SrcTy->isInteger() && DstTy->isInteger() &&
           SrcTy->getBitWidth() == DstTy->getBitWidth()) {
         deleteUselessCastFlag = true; // Flag the "Inst" rule
-        deleteUselessCastName = new std::string(*(yyvsp[-2].Val)->val); // save the name
+        deleteUselessCastName = new std::string(*yyvsp[-2].Val->val); // save the name
         size_t pos = deleteUselessCastName->find_first_of("%\"",0);
         if (pos != std::string::npos) {
           // remove the type portion before val
           deleteUselessCastName->erase(0, pos);
         }
       }
-    delete (yyvsp[-3].String)
-    delete (yyvsp[-1].String);
-  ;}
+    delete yyvsp[-3].String
+    delete yyvsp[-1].String;
+  }
     break;
 
   case 282:
-#line 2044 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2046 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-5].String) += " " + *(yyvsp[-4].Val)->val + ", " + *(yyvsp[-2].Val)->val + ", " + *(yyvsp[0].Val)->val;
-    (yyval.Val) = (yyvsp[-4].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    (yyval.Val)->type = (yyvsp[-2].Val)->type;
-    delete (yyvsp[-2].Val);
-    delete (yyvsp[0].Val);
-  ;}
+    *yyvsp[-5].String += " " + *yyvsp[-4].Val->val + ", " + *yyvsp[-2].Val->val + ", " + *yyvsp[0].Val->val;
+    yyval.Val = yyvsp[-4].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-5].String;
+    yyval.Val->type = yyvsp[-2].Val->type;
+    delete yyvsp[-2].Val;
+    delete yyvsp[0].Val;
+  }
     break;
 
   case 283:
-#line 2053 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2055 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-3].String) += " " + *(yyvsp[-2].Val)->val + ", " + (yyvsp[0].Ty)->getNewTy();
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-3].String);
-    (yyval.Val)->type = (yyvsp[0].Ty);
-  ;}
+    *yyvsp[-3].String += " " + *yyvsp[-2].Val->val + ", " + yyvsp[0].Ty->getNewTy();
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-3].String;
+    yyval.Val->type = yyvsp[0].Ty;
+  }
     break;
 
   case 284:
-#line 2060 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2062 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-3].String) += " " + *(yyvsp[-2].Val)->val + ", " + *(yyvsp[0].Val)->val;
-    (yyval.Val) = (yyvsp[-2].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-3].String);
-    (yyval.Val)->type = (yyval.Val)->type->resolve();
-    (yyval.Val)->type = (yyval.Val)->type->getElementType();
-    delete (yyvsp[0].Val);
-  ;}
+    *yyvsp[-3].String += " " + *yyvsp[-2].Val->val + ", " + *yyvsp[0].Val->val;
+    yyval.Val = yyvsp[-2].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-3].String;
+    yyval.Val->type = yyval.Val->type->resolve();
+    yyval.Val->type = yyval.Val->type->getElementType();
+    delete yyvsp[0].Val;
+  }
     break;
 
   case 285:
-#line 2069 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2071 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-5].String) += " " + *(yyvsp[-4].Val)->val + ", " + *(yyvsp[-2].Val)->val + ", " + *(yyvsp[0].Val)->val;
-    (yyval.Val) = (yyvsp[-4].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    delete (yyvsp[-2].Val); delete (yyvsp[0].Val);
-  ;}
+    *yyvsp[-5].String += " " + *yyvsp[-4].Val->val + ", " + *yyvsp[-2].Val->val + ", " + *yyvsp[0].Val->val;
+    yyval.Val = yyvsp[-4].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-5].String;
+    delete yyvsp[-2].Val; delete yyvsp[0].Val;
+  }
     break;
 
   case 286:
-#line 2076 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2078 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-5].String) += " " + *(yyvsp[-4].Val)->val + ", " + *(yyvsp[-2].Val)->val + ", " + *(yyvsp[0].Val)->val;
-    (yyval.Val) = (yyvsp[-4].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    delete (yyvsp[-2].Val); delete (yyvsp[0].Val);
-  ;}
+    *yyvsp[-5].String += " " + *yyvsp[-4].Val->val + ", " + *yyvsp[-2].Val->val + ", " + *yyvsp[0].Val->val;
+    yyval.Val = yyvsp[-4].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-5].String;
+    delete yyvsp[-2].Val; delete yyvsp[0].Val;
+  }
     break;
 
   case 287:
-#line 2083 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2085 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-1].String) += " " + *(yyvsp[0].Val)->val;
-    (yyval.Val) = (yyvsp[0].Val);
-    delete (yyvsp[0].Val)->val;
-    (yyval.Val)->val = (yyvsp[-1].String);
-  ;}
+    *yyvsp[-1].String += " " + *yyvsp[0].Val->val;
+    yyval.Val = yyvsp[0].Val;
+    delete yyvsp[0].Val->val;
+    yyval.Val->val = yyvsp[-1].String;
+  }
     break;
 
   case 288:
-#line 2089 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2091 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
     // map llvm.isunordered to "fcmp uno" 
-    (yyval.Val) = new Value;
-    if (*(yyvsp[-3].Val)->val == "%llvm.isunordered.f32" ||
-        *(yyvsp[-3].Val)->val == "%llvm.isunordered.f64") {
-      (yyval.Val)->val = new std::string( "fcmp uno " + *(*(yyvsp[-1].ValList))[0]->val + ", ");
-      size_t pos = (*(yyvsp[-1].ValList))[1]->val->find(' ');
+    yyval.Val = new Value;
+    if (*yyvsp[-3].Val->val == "%llvm.isunordered.f32" ||
+        *yyvsp[-3].Val->val == "%llvm.isunordered.f64") {
+      yyval.Val->val = new std::string( "fcmp uno " + *(*yyvsp[-1].ValList)[0]->val + ", ");
+      size_t pos = (*yyvsp[-1].ValList)[1]->val->find(' ');
       assert(pos != std::string::npos && "no space?");
-      *(yyval.Val)->val += (*(yyvsp[-1].ValList))[1]->val->substr(pos+1);
-      (yyval.Val)->type = Type::get("i1", BoolTy);
+      *yyval.Val->val += (*yyvsp[-1].ValList)[1]->val->substr(pos+1);
+      yyval.Val->type = Type::get("i1", BoolTy);
     } else {
       static unsigned upgradeCount = 1;
-      if (*(yyvsp[-3].Val)->val == "%llvm.va_start" || *(yyvsp[-3].Val)->val == "%llvm.va_end") {
-        if (!(yyvsp[-1].ValList)->empty()) {
+      if (*yyvsp[-3].Val->val == "%llvm.va_start" || *yyvsp[-3].Val->val == "%llvm.va_end") {
+        if (!yyvsp[-1].ValList->empty()) {
           std::string name("%va_upgrade");
           name += llvm::utostr(upgradeCount++);
-          (yyvsp[-6].String)->insert(0, name + " = bitcast " + *(*(yyvsp[-1].ValList))[0]->val + " to i8*\n    ");
-          *(*(yyvsp[-1].ValList))[0]->val = "i8* " + name;
-          (*(yyvsp[-1].ValList))[0]->type = Type::get("i8", UByteTy)->getPointerType();
+          yyvsp[-6].String->insert(0, name + " = bitcast " + *(*yyvsp[-1].ValList)[0]->val + " to i8*\n    ");
+          *(*yyvsp[-1].ValList)[0]->val = "i8* " + name;
+          (*yyvsp[-1].ValList)[0]->type = Type::get("i8", UByteTy)->getPointerType();
         }
-      } else if (*(yyvsp[-3].Val)->val == "%llvm.va_copy") {
+      } else if (*yyvsp[-3].Val->val == "%llvm.va_copy") {
         std::string name0("%va_upgrade");
         name0 += llvm::utostr(upgradeCount++);
         std::string name1("%va_upgrade");
         name1 += llvm::utostr(upgradeCount++);
-        (yyvsp[-6].String)->insert(0, name0 + " = bitcast " + *(*(yyvsp[-1].ValList))[0]->val + " to i8*\n    " +
-                      name1 + " = bitcast " + *(*(yyvsp[-1].ValList))[1]->val + " to i8*\n    ");
-        *(*(yyvsp[-1].ValList))[0]->val = "i8* " + name0;
-        (*(yyvsp[-1].ValList))[0]->type = Type::get("i8", UByteTy)->getPointerType();
-        *(*(yyvsp[-1].ValList))[1]->val = "i8* " + name1;
-        (*(yyvsp[-1].ValList))[0]->type = Type::get("i8", UByteTy)->getPointerType();
+        yyvsp[-6].String->insert(0, name0 + " = bitcast " + *(*yyvsp[-1].ValList)[0]->val + " to i8*\n    " +
+                      name1 + " = bitcast " + *(*yyvsp[-1].ValList)[1]->val + " to i8*\n    ");
+        *(*yyvsp[-1].ValList)[0]->val = "i8* " + name0;
+        (*yyvsp[-1].ValList)[0]->type = Type::get("i8", UByteTy)->getPointerType();
+        *(*yyvsp[-1].ValList)[1]->val = "i8* " + name1;
+        (*yyvsp[-1].ValList)[0]->type = Type::get("i8", UByteTy)->getPointerType();
       }
-      if (!(yyvsp[-5].String)->empty())
-        *(yyvsp[-6].String) += " " + *(yyvsp[-5].String);
-      if (!(yyvsp[-6].String)->empty())
-        *(yyvsp[-6].String) += " ";
-      *(yyvsp[-6].String) += (yyvsp[-4].Ty)->getNewTy() + " " + *(yyvsp[-3].Val)->val + "(";
-      for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) {
-        Value* V = (*(yyvsp[-1].ValList))[i];
-        *(yyvsp[-6].String) += *V->val;
-        if (i+1 < (yyvsp[-1].ValList)->size())
-          *(yyvsp[-6].String) += ", ";
+      if (!yyvsp[-5].String->empty())
+        *yyvsp[-6].String += " " + *yyvsp[-5].String;
+      if (!yyvsp[-6].String->empty())
+        *yyvsp[-6].String += " ";
+      *yyvsp[-6].String += yyvsp[-4].Ty->getNewTy() + " " + *yyvsp[-3].Val->val + "(";
+      for (unsigned i = 0; i < yyvsp[-1].ValList->size(); ++i) {
+        Value* V = (*yyvsp[-1].ValList)[i];
+        *yyvsp[-6].String += *V->val;
+        if (i+1 < yyvsp[-1].ValList->size())
+          *yyvsp[-6].String += ", ";
         delete V;
       }
-      *(yyvsp[-6].String) += ")";
-      (yyval.Val) = new Value;
-      (yyval.Val)->val = (yyvsp[-6].String);
-      (yyval.Val)->type = getFunctionReturnType((yyvsp[-4].Ty));
+      *yyvsp[-6].String += ")";
+      yyval.Val = new Value;
+      yyval.Val->val = yyvsp[-6].String;
+      yyval.Val->type = getFunctionReturnType(yyvsp[-4].Ty);
     }
-    delete (yyvsp[-5].String); delete (yyvsp[-3].Val); delete (yyvsp[-1].ValList);
-  ;}
+    delete yyvsp[-5].String; delete yyvsp[-3].Val; delete yyvsp[-1].ValList;
+  }
     break;
 
   case 290:
-#line 2145 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.ValList) = (yyvsp[0].ValList); ;}
+#line 2147 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.ValList = yyvsp[0].ValList; }
     break;
 
   case 291:
-#line 2146 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    {  (yyval.ValList) = new ValueList(); ;}
+#line 2148 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    {  yyval.ValList = new ValueList(); }
     break;
 
   case 293:
-#line 2151 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-    { (yyval.String) = new std::string(); ;}
+#line 2153 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+    { yyval.String = new std::string(); }
     break;
 
   case 294:
-#line 2154 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2156 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += " " + (yyvsp[-1].Ty)->getNewTy();
-    if (!(yyvsp[0].String)->empty())
-      *(yyvsp[-2].String) += " " + *(yyvsp[0].String);
-    (yyval.Val) = new Value;
-    (yyval.Val)->val = (yyvsp[-2].String);
-    (yyval.Val)->type = (yyvsp[-1].Ty)->getPointerType();
-    delete (yyvsp[0].String);
-  ;}
+    *yyvsp[-2].String += " " + yyvsp[-1].Ty->getNewTy();
+    if (!yyvsp[0].String->empty())
+      *yyvsp[-2].String += " " + *yyvsp[0].String;
+    yyval.Val = new Value;
+    yyval.Val->val = yyvsp[-2].String;
+    yyval.Val->type = yyvsp[-1].Ty->getPointerType();
+    delete yyvsp[0].String;
+  }
     break;
 
   case 295:
-#line 2163 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2165 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[-1].Val)->val, (yyvsp[-2].Ty));
-    *(yyvsp[-5].String) += " " + (yyvsp[-4].Ty)->getNewTy() + ", " + (yyvsp[-2].Ty)->getNewTy() + " " + Name;
-    if (!(yyvsp[0].String)->empty())
-      *(yyvsp[-5].String) += " " + *(yyvsp[0].String);
-    (yyval.Val) = new Value;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    (yyval.Val)->type = (yyvsp[-4].Ty)->getPointerType();
-    delete (yyvsp[-1].Val); delete (yyvsp[0].String);
-  ;}
+    std::string Name = getUniqueName(yyvsp[-1].Val->val, yyvsp[-2].Ty);
+    *yyvsp[-5].String += " " + yyvsp[-4].Ty->getNewTy() + ", " + yyvsp[-2].Ty->getNewTy() + " " + Name;
+    if (!yyvsp[0].String->empty())
+      *yyvsp[-5].String += " " + *yyvsp[0].String;
+    yyval.Val = new Value;
+    yyval.Val->val = yyvsp[-5].String;
+    yyval.Val->type = yyvsp[-4].Ty->getPointerType();
+    delete yyvsp[-1].Val; delete yyvsp[0].String;
+  }
     break;
 
   case 296:
-#line 2173 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2175 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-2].String) += " " + (yyvsp[-1].Ty)->getNewTy();
-    if (!(yyvsp[0].String)->empty())
-      *(yyvsp[-2].String) += " " + *(yyvsp[0].String);
-    (yyval.Val) = new Value;
-    (yyval.Val)->val = (yyvsp[-2].String);
-    (yyval.Val)->type = (yyvsp[-1].Ty)->getPointerType();
-    delete (yyvsp[0].String);
-  ;}
+    *yyvsp[-2].String += " " + yyvsp[-1].Ty->getNewTy();
+    if (!yyvsp[0].String->empty())
+      *yyvsp[-2].String += " " + *yyvsp[0].String;
+    yyval.Val = new Value;
+    yyval.Val->val = yyvsp[-2].String;
+    yyval.Val->type = yyvsp[-1].Ty->getPointerType();
+    delete yyvsp[0].String;
+  }
     break;
 
   case 297:
-#line 2182 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2184 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[-1].Val)->val, (yyvsp[-2].Ty));
-    *(yyvsp[-5].String) += " " + (yyvsp[-4].Ty)->getNewTy() + ", " + (yyvsp[-2].Ty)->getNewTy() + " " + Name;
-    if (!(yyvsp[0].String)->empty())
-      *(yyvsp[-5].String) += " " + *(yyvsp[0].String);
-    (yyval.Val) = (yyvsp[-1].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    (yyval.Val)->type = (yyvsp[-4].Ty)->getPointerType();
-    delete (yyvsp[0].String);
-  ;}
+    std::string Name = getUniqueName(yyvsp[-1].Val->val, yyvsp[-2].Ty);
+    *yyvsp[-5].String += " " + yyvsp[-4].Ty->getNewTy() + ", " + yyvsp[-2].Ty->getNewTy() + " " + Name;
+    if (!yyvsp[0].String->empty())
+      *yyvsp[-5].String += " " + *yyvsp[0].String;
+    yyval.Val = yyvsp[-1].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-5].String;
+    yyval.Val->type = yyvsp[-4].Ty->getPointerType();
+    delete yyvsp[0].String;
+  }
     break;
 
   case 298:
-#line 2193 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2195 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    *(yyvsp[-1].String) += " " + *(yyvsp[0].Val)->val;
-    (yyval.Val) = (yyvsp[0].Val);
-    delete (yyvsp[0].Val)->val;
-    (yyval.Val)->val = (yyvsp[-1].String);
-    (yyval.Val)->type = Type::get("void", VoidTy); 
-  ;}
+    *yyvsp[-1].String += " " + *yyvsp[0].Val->val;
+    yyval.Val = yyvsp[0].Val;
+    delete yyvsp[0].Val->val;
+    yyval.Val->val = yyvsp[-1].String;
+    yyval.Val->type = Type::get("void", VoidTy); 
+  }
     break;
 
   case 299:
-#line 2200 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2202 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-1].Ty));
-    if (!(yyvsp[-3].String)->empty())
-      *(yyvsp[-3].String) += " ";
-    *(yyvsp[-3].String) += *(yyvsp[-2].String) + " " + (yyvsp[-1].Ty)->getNewTy() + " " + Name;
-    (yyval.Val) = (yyvsp[0].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-3].String);
-    (yyval.Val)->type = (yyvsp[-1].Ty)->getElementType();
-    delete (yyvsp[-2].String);
-  ;}
+    std::string Name = getUniqueName(yyvsp[0].Val->val, yyvsp[-1].Ty);
+    if (!yyvsp[-3].String->empty())
+      *yyvsp[-3].String += " ";
+    *yyvsp[-3].String += *yyvsp[-2].String + " " + yyvsp[-1].Ty->getNewTy() + " " + Name;
+    yyval.Val = yyvsp[0].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-3].String;
+    yyval.Val->type = yyvsp[-1].Ty->getElementType();
+    delete yyvsp[-2].String;
+  }
     break;
 
   case 300:
-#line 2211 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2213 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[0].Val)->val, (yyvsp[-1].Ty));
-    if (!(yyvsp[-5].String)->empty())
-      *(yyvsp[-5].String) += " ";
-    *(yyvsp[-5].String) += *(yyvsp[-4].String) + " " + *(yyvsp[-3].Val)->val + ", " + (yyvsp[-1].Ty)->getNewTy() + " " + Name;
-    (yyval.Val) = (yyvsp[-3].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-5].String);
-    (yyval.Val)->type = Type::get("void", VoidTy);
-    delete (yyvsp[-4].String); delete (yyvsp[0].Val);
-  ;}
+    std::string Name = getUniqueName(yyvsp[0].Val->val, yyvsp[-1].Ty);
+    if (!yyvsp[-5].String->empty())
+      *yyvsp[-5].String += " ";
+    *yyvsp[-5].String += *yyvsp[-4].String + " " + *yyvsp[-3].Val->val + ", " + yyvsp[-1].Ty->getNewTy() + " " + Name;
+    yyval.Val = yyvsp[-3].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-5].String;
+    yyval.Val->type = Type::get("void", VoidTy);
+    delete yyvsp[-4].String; delete yyvsp[0].Val;
+  }
     break;
 
   case 301:
-#line 2222 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2224 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
     {
-    std::string Name = getUniqueName((yyvsp[-1].Val)->val, (yyvsp[-2].Ty));
+    std::string Name = getUniqueName(yyvsp[-1].Val->val, yyvsp[-2].Ty);
     // Upgrade the indices
-    for (unsigned i = 0; i < (yyvsp[0].ValList)->size(); ++i) {
-      Value* V = (*(yyvsp[0].ValList))[i];
+    for (unsigned i = 0; i < yyvsp[0].ValList->size(); ++i) {
+      Value* V = (*yyvsp[0].ValList)[i];
       if (V->type->isUnsigned() && !V->isConstant() && 
           V->type->getBitWidth() < 64) {
         *O << "    %gep_upgrade" << UniqueNameCounter << " = zext " << *V->val 
@@ -4730,33 +4557,41 @@ yyreduce:
         V->type = Type::get("i64",ULongTy);
       }
     }
-    *(yyvsp[-3].String) += " " + (yyvsp[-2].Ty)->getNewTy() + " " + Name;
-    for (unsigned i = 0; i < (yyvsp[0].ValList)->size(); ++i) {
-      Value* V = (*(yyvsp[0].ValList))[i];
-      *(yyvsp[-3].String) += ", " + *V->val;
+    *yyvsp[-3].String += " " + yyvsp[-2].Ty->getNewTy() + " " + Name;
+    for (unsigned i = 0; i < yyvsp[0].ValList->size(); ++i) {
+      Value* V = (*yyvsp[0].ValList)[i];
+      *yyvsp[-3].String += ", " + *V->val;
     }
-    (yyval.Val) = (yyvsp[-1].Val);
-    delete (yyval.Val)->val;
-    (yyval.Val)->val = (yyvsp[-3].String);
-    (yyval.Val)->type = getGEPIndexedType((yyvsp[-2].Ty),(yyvsp[0].ValList)); 
-    for (unsigned i = 0; i < (yyvsp[0].ValList)->size(); ++i)
-      delete (*(yyvsp[0].ValList))[i];
-    delete (yyvsp[0].ValList);
-  ;}
+    yyval.Val = yyvsp[-1].Val;
+    delete yyval.Val->val;
+    yyval.Val->val = yyvsp[-3].String;
+    yyval.Val->type = getGEPIndexedType(yyvsp[-2].Ty,yyvsp[0].ValList); 
+    for (unsigned i = 0; i < yyvsp[0].ValList->size(); ++i)
+      delete (*yyvsp[0].ValList)[i];
+    delete yyvsp[0].ValList;
+  }
     break;
 
 
-      default: break;
     }
 
-/* Line 1126 of yacc.c.  */
-#line 4754 "UpgradeParser.tab.c"
+/* Line 1016 of /usr/local/share/bison/yacc.c.  */
+#line 4580 "UpgradeParser.tab.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
 
 
-  YY_STACK_PRINT (yyss, yyssp);
+#if YYDEBUG
+  if (yydebug)
+    {
+      short *yyssp1 = yyss - 1;
+      YYFPRINTF (stderr, "state stack now");
+      while (yyssp1 != yyssp)
+       YYFPRINTF (stderr, " %d", *++yyssp1);
+      YYFPRINTF (stderr, "\n");
+    }
+#endif
 
   *++yyvsp = yyval;
 
@@ -4789,153 +4624,90 @@ yyerrlab:
 
       if (YYPACT_NINF < yyn && yyn < YYLAST)
        {
+         YYSIZE_T yysize = 0;
          int yytype = YYTRANSLATE (yychar);
-         YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
-         YYSIZE_T yysize = yysize0;
-         YYSIZE_T yysize1;
-         int yysize_overflow = 0;
-         char *yymsg = 0;
-#        define YYERROR_VERBOSE_ARGS_MAXIMUM 5
-         char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
-         int yyx;
-
-#if 0
-         /* This is so xgettext sees the translatable formats that are
-            constructed on the fly.  */
-         YY_("syntax error, unexpected %s");
-         YY_("syntax error, unexpected %s, expecting %s");
-         YY_("syntax error, unexpected %s, expecting %s or %s");
-         YY_("syntax error, unexpected %s, expecting %s or %s or %s");
-         YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-#endif
-         char *yyfmt;
-         char const *yyf;
-         static char const yyunexpected[] = "syntax error, unexpected %s";
-         static char const yyexpecting[] = ", expecting %s";
-         static char const yyor[] = " or %s";
-         char yyformat[sizeof yyunexpected
-                       + sizeof yyexpecting - 1
-                       + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
-                          * (sizeof yyor - 1))];
-         char const *yyprefix = yyexpecting;
+         char *yymsg;
+         int yyx, yycount;
 
+         yycount = 0;
          /* Start YYX at -YYN if negative to avoid negative indexes in
             YYCHECK.  */
-         int yyxbegin = yyn < 0 ? -yyn : 0;
-
-         /* Stay within bounds of both yycheck and yytname.  */
-         int yychecklim = YYLAST - yyn;
-         int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
-         int yycount = 1;
-
-         yyarg[0] = yytname[yytype];
-         yyfmt = yystpcpy (yyformat, yyunexpected);
-
-         for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+         for (yyx = yyn < 0 ? -yyn : 0;
+              yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
-             {
-               if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
-                 {
-                   yycount = 1;
-                   yysize = yysize0;
-                   yyformat[sizeof yyunexpected - 1] = '\0';
-                   break;
-                 }
-               yyarg[yycount++] = yytname[yyx];
-               yysize1 = yysize + yytnamerr (0, yytname[yyx]);
-               yysize_overflow |= yysize1 < yysize;
-               yysize = yysize1;
-               yyfmt = yystpcpy (yyfmt, yyprefix);
-               yyprefix = yyor;
-             }
-
-         yyf = YY_(yyformat);
-         yysize1 = yysize + yystrlen (yyf);
-         yysize_overflow |= yysize1 < yysize;
-         yysize = yysize1;
-
-         if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)
-           yymsg = (char *) YYSTACK_ALLOC (yysize);
-         if (yymsg)
+             yysize += yystrlen (yytname[yyx]) + 15, yycount++;
+         yysize += yystrlen ("parse error, unexpected ") + 1;
+         yysize += yystrlen (yytname[yytype]);
+         yymsg = (char *) YYSTACK_ALLOC (yysize);
+         if (yymsg != 0)
            {
-             /* Avoid sprintf, as that infringes on the user's name space.
-                Don't have undefined behavior even if the translation
-                produced a string with the wrong number of "%s"s.  */
-             char *yyp = yymsg;
-             int yyi = 0;
-             while ((*yyp = *yyf))
+             char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
+             yyp = yystpcpy (yyp, yytname[yytype]);
+
+             if (yycount < 5)
                {
-                 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
-                   {
-                     yyp += yytnamerr (yyp, yyarg[yyi++]);
-                     yyf += 2;
-                   }
-                 else
-                   {
-                     yyp++;
-                     yyf++;
-                   }
+                 yycount = 0;
+                 for (yyx = yyn < 0 ? -yyn : 0;
+                      yyx < (int) (sizeof (yytname) / sizeof (char *));
+                      yyx++)
+                   if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+                     {
+                       const char *yyq = ! yycount ? ", expecting " : " or ";
+                       yyp = yystpcpy (yyp, yyq);
+                       yyp = yystpcpy (yyp, yytname[yyx]);
+                       yycount++;
+                     }
                }
              yyerror (yymsg);
              YYSTACK_FREE (yymsg);
            }
          else
-           {
-             yyerror (YY_("syntax error"));
-             goto yyexhaustedlab;
-           }
+           yyerror ("parse error; also virtual memory exhausted");
        }
       else
 #endif /* YYERROR_VERBOSE */
-       yyerror (YY_("syntax error"));
+       yyerror ("parse error");
     }
+  goto yyerrlab1;
 
 
-
+/*----------------------------------------------------.
+| yyerrlab1 -- error raised explicitly by an action.  |
+`----------------------------------------------------*/
+yyerrlab1:
   if (yyerrstatus == 3)
     {
-      /* If just tried and failed to reuse look-ahead token after an
+      /* If just tried and failed to reuse lookahead token after an
         error, discard it.  */
 
-      if (yychar <= YYEOF)
+      /* Return failure if at end of input.  */
+      if (yychar == YYEOF)
         {
-         /* Return failure if at end of input.  */
-         if (yychar == YYEOF)
-           YYABORT;
+         /* Pop the error token.  */
+          YYPOPSTACK;
+         /* Pop the rest of the stack.  */
+         while (yyssp > yyss)
+           {
+             YYDPRINTF ((stderr, "Error: popping "));
+             YYDSYMPRINT ((stderr,
+                           yystos[*yyssp],
+                           *yyvsp));
+             YYDPRINTF ((stderr, "\n"));
+             yydestruct (yystos[*yyssp], *yyvsp);
+             YYPOPSTACK;
+           }
+         YYABORT;
         }
-      else
-       {
-         yydestruct ("Error: discarding", yytoken, &yylval);
-         yychar = YYEMPTY;
-       }
+
+      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
+                 yychar, yytname[yychar1]));
+      yydestruct (yychar1, yylval);
+      yychar = YYEMPTY;
     }
 
-  /* Else will try to reuse look-ahead token after shifting the error
+  /* Else will try to reuse lookahead token after shifting the error
      token.  */
-  goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR.  |
-`---------------------------------------------------*/
-yyerrorlab:
-
-  /* Pacify compilers like GCC when the user code never invokes
-     YYERROR and the label yyerrorlab therefore never appears in user
-     code.  */
-  if (0)
-     goto yyerrorlab;
 
-yyvsp -= yylen;
-  yyssp -= yylen;
-  yystate = *yyssp;
-  goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR.  |
-`-------------------------------------------------------------*/
-yyerrlab1:
   yyerrstatus = 3;     /* Each real token shifted decrements this.  */
 
   for (;;)
@@ -4956,21 +4728,35 @@ yyerrlab1:
       if (yyssp == yyss)
        YYABORT;
 
+      YYDPRINTF ((stderr, "Error: popping "));
+      YYDSYMPRINT ((stderr,
+                   yystos[*yyssp], *yyvsp));
+      YYDPRINTF ((stderr, "\n"));
 
-      yydestruct ("Error: popping", yystos[yystate], yyvsp);
-      YYPOPSTACK;
-      yystate = *yyssp;
-      YY_STACK_PRINT (yyss, yyssp);
+      yydestruct (yystos[yystate], *yyvsp);
+      yyvsp--;
+      yystate = *--yyssp;
+
+
+#if YYDEBUG
+      if (yydebug)
+       {
+         short *yyssp1 = yyss - 1;
+         YYFPRINTF (stderr, "Error: state stack now");
+         while (yyssp1 != yyssp)
+           YYFPRINTF (stderr, " %d", *++yyssp1);
+         YYFPRINTF (stderr, "\n");
+       }
+#endif
     }
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  *++yyvsp = yylval;
+  YYDPRINTF ((stderr, "Shifting error token, "));
 
+  *++yyvsp = yylval;
 
-  /* Shift the error token. */
-  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 
   yystate = yyn;
   goto yynewstate;
@@ -4991,25 +4777,16 @@ yyabortlab:
   goto yyreturn;
 
 #ifndef yyoverflow
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here.  |
-`-------------------------------------------------*/
-yyexhaustedlab:
-  yyerror (YY_("memory exhausted"));
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
   yyresult = 2;
   /* Fall through.  */
 #endif
 
 yyreturn:
-  if (yychar != YYEOF && yychar != YYEMPTY)
-     yydestruct ("Cleanup: discarding lookahead",
-                yytoken, &yylval);
-  while (yyssp != yyss)
-    {
-      yydestruct ("Cleanup: popping",
-                 yystos[*yyssp], yyvsp);
-      YYPOPSTACK;
-    }
 #ifndef yyoverflow
   if (yyss != yyssa)
     YYSTACK_FREE (yyss);
@@ -5018,7 +4795,7 @@ yyreturn:
 }
 
 
-#line 2249 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
+#line 2251 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
 
 
 int yyerror(const char *ErrorMsg) {
index aca52db6381d12ea3781ff94bb0dcbe7f0ca20f9..aab02ac8615a4cc8e5a0c7126143c93c060f6d61 100644 (file)
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 2.1.  */
+/* A Bison parser, made from /usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y, by GNU bison 1.75.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 /* As a special exception, when this file is copied by Bison into a
    Bison output file, you may use that output file without restriction.
    This special exception was added by the Free Software Foundation
    in version 1.24 of Bison.  */
 
+#ifndef BISON_UPGRADEPARSER_TAB_H
+# define BISON_UPGRADEPARSER_TAB_H
+
 /* Tokens.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
      BITCAST = 404
    };
 #endif
-/* Tokens.  */
 #define VOID 258
 #define BOOL 259
 #define SBYTE 260
 
 
 
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 971 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y"
-typedef union YYSTYPE {
+#ifndef YYSTYPE
+#line 971 "/usr/home/jeffc/llvm/tools/llvm-upgrade/UpgradeParser.y"
+typedef union {
   std::string*    String;
   const Type*     Ty;
   Value*          Val;
   Constant*       Const;
   ValueList*      ValList;
   TypeList*       TypeVec;
-} YYSTYPE;
-/* Line 1447 of yacc.c.  */
-#line 345 "UpgradeParser.tab.h"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
+} yystype;
+/* Line 1237 of /usr/local/share/bison/yacc.c.  */
+#line 347 "UpgradeParser.tab.h"
+# define YYSTYPE yystype
 #endif
 
 extern YYSTYPE Upgradelval;
 
 
+#endif /* not BISON_UPGRADEPARSER_TAB_H */
 
index 5ad118ad5de5cb337587398466e5c6bdfd97df14..da0772c3bffdb9123afbe1c5f3d3f390e410e636 100644 (file)
@@ -1483,8 +1483,9 @@ DefinitionList : DefinitionList Function {
     $$ = 0;
   }
   | ConstPool { $$ = 0; }
+  ;
 
-External : EXTERNAL | UNINITIALIZED { $$ = $1; *$$ = "external"; }
+External : EXTERNAL | UNINITIALIZED { $$ = $1; *$$ = "external"; } ;
 
 // ConstPool - Constants with optional names assigned to them.
 ConstPool : ConstPool OptAssign TYPE TypesV {
@@ -1564,7 +1565,7 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
 
 AsmBlock : STRINGCONSTANT ;
 
-BigOrLittle : BIG | LITTLE 
+BigOrLittle : BIG | LITTLE ;
 
 TargetDefinition 
   : ENDIAN '=' BigOrLittle {
@@ -1671,6 +1672,7 @@ FunctionHeaderH
 
 BEGIN : BEGINTOK { $$ = new std::string("{"); delete $1; }
   | '{' { $$ = new std::string ("{"); }
+  ;
 
 FunctionHeader 
   : OptLinkage FunctionHeaderH BEGIN {
@@ -1796,7 +1798,7 @@ InstructionList : InstructionList Inst {
     $$ = 0;
   };
 
-Unwind : UNWIND | EXCEPT { $$ = $1; *$$ = "unwind"; }
+Unwind : UNWIND | EXCEPT { $$ = $1; *$$ = "unwind"; } ;
 
 BBTerminatorInst : RET ResolvedVal {              // Return with a result...
     *O << "    " << *$1 << ' ' << *$2->val << '\n';
index 5ad118ad5de5cb337587398466e5c6bdfd97df14..da0772c3bffdb9123afbe1c5f3d3f390e410e636 100644 (file)
@@ -1483,8 +1483,9 @@ DefinitionList : DefinitionList Function {
     $$ = 0;
   }
   | ConstPool { $$ = 0; }
+  ;
 
-External : EXTERNAL | UNINITIALIZED { $$ = $1; *$$ = "external"; }
+External : EXTERNAL | UNINITIALIZED { $$ = $1; *$$ = "external"; } ;
 
 // ConstPool - Constants with optional names assigned to them.
 ConstPool : ConstPool OptAssign TYPE TypesV {
@@ -1564,7 +1565,7 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
 
 AsmBlock : STRINGCONSTANT ;
 
-BigOrLittle : BIG | LITTLE 
+BigOrLittle : BIG | LITTLE ;
 
 TargetDefinition 
   : ENDIAN '=' BigOrLittle {
@@ -1671,6 +1672,7 @@ FunctionHeaderH
 
 BEGIN : BEGINTOK { $$ = new std::string("{"); delete $1; }
   | '{' { $$ = new std::string ("{"); }
+  ;
 
 FunctionHeader 
   : OptLinkage FunctionHeaderH BEGIN {
@@ -1796,7 +1798,7 @@ InstructionList : InstructionList Inst {
     $$ = 0;
   };
 
-Unwind : UNWIND | EXCEPT { $$ = $1; *$$ = "unwind"; }
+Unwind : UNWIND | EXCEPT { $$ = $1; *$$ = "unwind"; } ;
 
 BBTerminatorInst : RET ResolvedVal {              // Return with a result...
     *O << "    " << *$1 << ' ' << *$2->val << '\n';