From ac2dca9a6f59a2e7fdc4de48c456860b6ecd19a9 Mon Sep 17 00:00:00 2001 From: Jeff Cohen Date: Sun, 21 Jan 2007 19:30:52 +0000 Subject: [PATCH] Fix a bunch of missing semicolon parse errors from bison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33426 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-upgrade/UpgradeParser.cpp.cvs | 2841 ++++++++++------------ tools/llvm-upgrade/UpgradeParser.h.cvs | 29 +- tools/llvm-upgrade/UpgradeParser.y | 8 +- tools/llvm-upgrade/UpgradeParser.y.cvs | 8 +- 4 files changed, 1334 insertions(+), 1552 deletions(-) diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs index 5b57b5d8a2a..b65ac101d2f 100644 --- a/tools/llvm-upgrade/UpgradeParser.cpp.cvs +++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs @@ -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. @@ -34,21 +34,16 @@ 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 @@ -213,7 +208,6 @@ BITCAST = 404 }; #endif -/* Tokens. */ #define VOID 258 #define BOOL 259 #define SBYTE 260 @@ -366,7 +360,7 @@ /* 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 @@ -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 /* 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 /* 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 /* 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 /* 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 /* 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) +# 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 - -/* 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 -#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"); \ - } \ +# define YYDSYMPRINT(Args) \ +do { \ + if (yydebug) \ + yysymprint Args; \ } 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); \ -} 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 */ #if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*-----------------------------. +| Print this symbol on YYOUT. | +`-----------------------------*/ +static void #if defined (__STDC__) || defined (__cplusplus) -static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) +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. | `-----------------------------------------------*/ +static void #if defined (__STDC__) || defined (__cplusplus) -static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +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; } } + -/* 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" 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,22 +4728,36 @@ 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; + 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) { diff --git a/tools/llvm-upgrade/UpgradeParser.h.cvs b/tools/llvm-upgrade/UpgradeParser.h.cvs index aca52db6381..aab02ac8615 100644 --- a/tools/llvm-upgrade/UpgradeParser.h.cvs +++ b/tools/llvm-upgrade/UpgradeParser.h.cvs @@ -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,14 +15,17 @@ 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 @@ -178,7 +181,6 @@ BITCAST = 404 }; #endif -/* Tokens. */ #define VOID 258 #define BOOL 259 #define SBYTE 260 @@ -330,24 +332,23 @@ -#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 */ diff --git a/tools/llvm-upgrade/UpgradeParser.y b/tools/llvm-upgrade/UpgradeParser.y index 5ad118ad5de..da0772c3bff 100644 --- a/tools/llvm-upgrade/UpgradeParser.y +++ b/tools/llvm-upgrade/UpgradeParser.y @@ -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'; diff --git a/tools/llvm-upgrade/UpgradeParser.y.cvs b/tools/llvm-upgrade/UpgradeParser.y.cvs index 5ad118ad5de..da0772c3bff 100644 --- a/tools/llvm-upgrade/UpgradeParser.y.cvs +++ b/tools/llvm-upgrade/UpgradeParser.y.cvs @@ -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';