[llvm-commits] CVS: llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs UpgradeLexer.l.cvs UpgradeParser.cpp.cvs UpgradeParser.y.cvs

Reid Spencer reid at x10sys.com
Wed Feb 7 16:21:56 PST 2007



Changes in directory llvm/tools/llvm-upgrade:

UpgradeLexer.cpp.cvs updated: 1.20 -> 1.21
UpgradeLexer.l.cvs updated: 1.18 -> 1.19
UpgradeParser.cpp.cvs updated: 1.57 -> 1.58
UpgradeParser.y.cvs updated: 1.56 -> 1.57
---
Log message:

Regenerate for recent changes.


---
Diffs of the changes:  (+888 -800)

 UpgradeLexer.cpp.cvs  | 1418 +++++++++++++++++++++++++-------------------------
 UpgradeLexer.l.cvs    |    9 
 UpgradeParser.cpp.cvs |  226 ++++---
 UpgradeParser.y.cvs   |   35 +
 4 files changed, 888 insertions(+), 800 deletions(-)


Index: llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs
diff -u llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.20 llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.21
--- llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.20	Mon Feb  5 14:47:21 2007
+++ llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs	Wed Feb  7 18:21:40 2007
@@ -20,7 +20,7 @@
 /* A lexical scanner generated by flex*/
 
 /* Scanner skeleton version:
- * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs,v 1.20 2007/02/05 20:47:21 reid Exp $
+ * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs,v 1.21 2007/02/08 00:21:40 reid Exp $
  */
 
 #define FLEX_SCANNER
@@ -317,107 +317,108 @@
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 156
-#define YY_END_OF_BUFFER 157
-static yyconst short int yy_acclist[234] =
+#define YY_NUM_RULES 161
+#define YY_END_OF_BUFFER 162
+static yyconst short int yy_acclist[241] =
     {   0,
-      157,  155,  156,  154,  155,  156,  154,  156,  155,  156,
-      155,  156,  155,  156,  155,  156,  155,  156,  155,  156,
-      147,  155,  156,  147,  155,  156,    1,  155,  156,  155,
-      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
-      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
-      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
-      156,  155,  156,  155,  156,  155,  156,  155,  156,  155,
-      156,  146,  144,  143,  143,  150,  148,  152,  147,    1,
-      129,   41,   89,   90,   75,   23,  146,  143,  143,  151,
-      152,   20,  152,  153,   63,   74,   39,   34,   42,   66,
-
-        3,   52,   65,   25,   99,  104,  102,  103,  101,  100,
-      105,  109,   70,  128,   94,   92,   83,   84,   93,   91,
-       64,  107,   98,   96,   97,   95,  108,  106,   76,  145,
-      152,  152,   86,   57,  110,  111,   88,   69,  136,   73,
-       87,  137,   54,   85,   22,  149,   68,  114,   72,   26,
-        4,   61,   67,   53,   71,   56,   11,  113,  152,   36,
-        2,    5,   58,  116,   60,   48,   78,   82,   80,   81,
-       79,   77,   50,  138,  112,   49,   55,   21,  126,  135,
-       45,   59,   30,   24,   44,  118,  117,    7,  131,   33,
-      134,   38,   62,  124,  120,  130,   27,   28,  119,  132,
-
-       51,  127,  125,  123,   43,    6,   29,  115,   37,    8,
-       17,    9,  122,   10,  121,   35,   12,   14,   13,   32,
-       40,   15,   31,  133,  139,  141,  142,   16,   46,  140,
-       18,   47,   19
+      162,  160,  161,  159,  160,  161,  159,  161,  160,  161,
+      160,  161,  160,  161,  160,  161,  160,  161,  160,  161,
+      152,  160,  161,  152,  160,  161,    1,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  151,  149,  148,  148,  155,  153,  157,
+      152,    1,  134,   41,   94,   62,   50,   95,   80,   23,
+      151,  148,  148,  156,  157,   20,  157,  158,   68,   79,
+
+       39,   34,   42,   71,    3,   53,   56,   59,   54,   70,
+       25,  104,  109,  107,  108,  106,  105,  110,  114,   75,
+      133,   99,   97,   88,   89,   98,   96,   69,  112,  103,
+      101,  102,  100,  113,  111,   81,  150,  157,  157,   91,
+       61,  115,  116,   93,   74,  141,   78,   92,  142,   57,
+       90,   22,  154,   73,  119,   77,   26,    4,   66,   72,
+       55,   76,   60,   11,  118,  157,   36,    2,    5,   63,
+      121,   65,   48,   83,   87,   85,   86,   84,   82,   51,
+      143,  117,   49,   58,   21,  131,  140,   45,   64,   30,
+       24,   44,  123,  122,    7,  136,   33,  139,   38,   67,
+
+      129,  125,  135,   27,   28,  124,  137,   52,  132,  130,
+      128,   43,    6,   29,  120,   37,    8,   17,    9,  127,
+       10,  126,   35,   12,   14,   13,   32,   40,   15,   31,
+      138,  144,  146,  147,   16,   46,  145,   18,   47,   19
     } ;
 
-static yyconst short int yy_accept[611] =
+static yyconst short int yy_accept[621] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
        40,   42,   44,   46,   48,   50,   52,   54,   56,   58,
-       60,   62,   64,   66,   68,   70,   72,   72,   73,   73,
-       74,   75,   76,   77,   77,   78,   78,   79,   80,   80,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
+       60,   62,   64,   66,   68,   70,   72,   74,   74,   75,
+       75,   76,   77,   78,   79,   79,   80,   80,   81,   82,
        82,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
-       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
-       85,   85,   85,   85,   85,   85,   85,   85,   86,   86,
-
-       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
-       86,   86,   86,   86,   86,   86,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   88,   89,   91,   92,   93,   94,
-       94,   95,   96,   96,   96,   97,   97,   97,   98,   98,
-       99,   99,   99,   99,   99,  100,  100,  100,  100,  100,
-      100,  100,  101,  101,  101,  102,  102,  102,  102,  102,
-      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
-      102,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  104,  105,  105,  106,  107,  108,  109,  110,  111,
-
-      111,  112,  113,  113,  113,  114,  115,  115,  115,  115,
-      115,  115,  115,  115,  116,  117,  118,  118,  119,  119,
-      119,  119,  120,  121,  121,  121,  122,  122,  122,  122,
-      122,  122,  122,  122,  122,  123,  124,  125,  125,  125,
-      126,  126,  127,  127,  128,  128,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  130,  130,
-      130,  131,  132,  132,  132,  132,  133,  133,  133,  133,
-      134,  134,  134,  135,  136,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  138,  139,  139,  139,  139,  139,  140,  141,  141,
-
-      141,  142,  142,  142,  142,  142,  142,  142,  142,  142,
-      143,  144,  145,  145,  145,  146,  146,  146,  146,  147,
-      147,  148,  148,  148,  148,  148,  148,  148,  149,  149,
-      149,  149,  149,  150,  150,  150,  151,  151,  151,  152,
-      152,  153,  153,  154,  155,  155,  155,  155,  155,  155,
-      155,  156,  156,  156,  156,  156,  157,  157,  158,  158,
-      158,  159,  160,  161,  161,  161,  162,  162,  162,  162,
-      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
-      162,  163,  163,  164,  165,  165,  165,  165,  165,  165,
-      165,  165,  165,  165,  165,  166,  166,  166,  166,  166,
-
-      166,  166,  166,  167,  167,  167,  168,  169,  170,  171,
-      172,  173,  174,  174,  174,  174,  175,  175,  175,  175,
-      176,  177,  177,  178,  179,  179,  179,  179,  179,  179,
-      180,  180,  180,  180,  180,  180,  181,  181,  181,  182,
-      182,  182,  182,  182,  182,  182,  182,  183,  184,  185,
-      185,  185,  186,  187,  188,  188,  188,  189,  189,  189,
-      189,  189,  190,  190,  191,  192,  193,  194,  194,  194,
-      194,  195,  195,  195,  196,  197,  198,  199,  200,  200,
-      200,  201,  202,  203,  204,  204,  204,  204,  204,  204,
-      205,  205,  206,  206,  207,  208,  208,  208,  208,  208,
-
-      208,  209,  209,  209,  209,  209,  209,  209,  209,  209,
-      210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
-      211,  211,  211,  211,  211,  212,  212,  212,  212,  212,
-      213,  214,  215,  215,  216,  216,  216,  216,  216,  217,
-      217,  217,  217,  218,  218,  219,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      221,  221,  221,  221,  221,  221,  221,  221,  222,  222,
-      222,  222,  222,  222,  223,  223,  223,  223,  223,  224,
-      224,  224,  225,  225,  225,  225,  225,  225,  225,  225,
-      225,  225,  225,  225,  225,  225,  226,  226,  227,  228,
+       83,   84,   84,   85,   85,   85,   85,   85,   85,   85,
+       85,   85,   86,   86,   86,   86,   86,   86,   86,   86,
+       86,   86,   87,   87,   87,   88,   88,   88,   88,   88,
+       88,   88,   88,   88,   88,   88,   89,   89,   89,   89,
+
+       89,   89,   89,   89,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   91,   91,   91,   91,   91,   91,   91,   91,
+       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
+       92,   93,   95,   96,   97,   98,   98,   99,   99,  100,
+      100,  100,  101,  101,  101,  102,  102,  103,  103,  103,
+      103,  103,  104,  104,  104,  104,  104,  104,  104,  105,
+      105,  105,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  107,  108,  109,  109,  109,
+      109,  110,  110,  110,  110,  110,  110,  110,  110,  110,
+
+      110,  111,  112,  112,  113,  114,  115,  116,  117,  118,
+      118,  119,  120,  120,  120,  121,  122,  122,  122,  122,
+      122,  122,  122,  122,  123,  124,  125,  125,  126,  126,
+      126,  126,  127,  128,  128,  128,  129,  129,  129,  129,
+      129,  129,  129,  129,  129,  130,  131,  132,  132,  132,
+      133,  133,  134,  134,  135,  135,  136,  136,  136,  136,
+      136,  136,  136,  136,  136,  136,  136,  136,  137,  137,
+      137,  138,  139,  139,  139,  139,  140,  140,  140,  140,
+      141,  141,  141,  142,  143,  144,  144,  144,  144,  144,
+      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
+
+      144,  145,  146,  146,  146,  146,  146,  147,  148,  148,
+      148,  149,  149,  149,  149,  149,  149,  149,  149,  149,
+      150,  151,  152,  152,  152,  153,  153,  153,  153,  154,
+      154,  155,  155,  155,  155,  155,  155,  155,  156,  156,
+      156,  156,  156,  157,  157,  157,  158,  158,  158,  159,
+      159,  160,  160,  161,  162,  162,  162,  162,  162,  162,
+      162,  163,  163,  163,  163,  163,  164,  164,  165,  165,
+      165,  166,  167,  168,  168,  168,  169,  169,  169,  169,
+      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
+      169,  170,  170,  171,  172,  172,  172,  172,  172,  172,
+
+      172,  172,  172,  172,  172,  173,  173,  173,  173,  173,
+      173,  173,  173,  174,  174,  174,  175,  176,  177,  178,
+      179,  180,  181,  181,  181,  181,  182,  182,  182,  182,
+      183,  184,  184,  185,  186,  186,  186,  186,  186,  186,
+      187,  187,  187,  187,  187,  187,  188,  188,  188,  189,
+      189,  189,  189,  189,  189,  189,  189,  190,  191,  192,
+      192,  192,  193,  194,  195,  195,  195,  196,  196,  196,
+      196,  196,  197,  197,  198,  199,  200,  201,  201,  201,
+      201,  202,  202,  202,  203,  204,  205,  206,  207,  207,
+      207,  208,  209,  210,  211,  211,  211,  211,  211,  211,
+
+      212,  212,  213,  213,  214,  215,  215,  215,  215,  215,
+      215,  216,  216,  216,  216,  216,  216,  216,  216,  216,
+      217,  217,  217,  217,  217,  217,  217,  217,  217,  217,
+      218,  218,  218,  218,  218,  219,  219,  219,  219,  219,
+      220,  221,  222,  222,  223,  223,  223,  223,  223,  224,
+      224,  224,  224,  225,  225,  226,  227,  227,  227,  227,
+      227,  227,  227,  227,  227,  227,  227,  227,  227,  227,
+      228,  228,  228,  228,  228,  228,  228,  228,  229,  229,
+      229,  229,  229,  229,  230,  230,  230,  230,  230,  231,
+      231,  231,  232,  232,  232,  232,  232,  232,  232,  232,
 
-      229,  229,  230,  230,  231,  232,  233,  233,  234,  234
+      232,  232,  232,  232,  232,  232,  233,  233,  234,  235,
+      236,  236,  237,  237,  238,  239,  240,  240,  241,  241
     } ;
 
 static yyconst int yy_ec[256] =
@@ -426,16 +427,16 @@
         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    2,    1,    4,    1,    5,    6,    1,    1,    1,
-        1,    1,    7,    1,    8,    9,    1,   10,   11,   11,
-       11,   11,   11,   12,   11,   13,   11,   14,   15,    1,
-        1,    1,    1,    1,   16,   16,   16,   16,   17,   16,
+        1,    1,    7,    1,    8,    9,    1,   10,   11,   12,
+       13,   14,   15,   16,   15,   17,   15,   18,   19,    1,
+        1,    1,    1,   20,   21,   21,   21,   21,   22,   21,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        1,    1,    1,    1,   18,    1,   19,   20,   21,   22,
+        1,    1,    1,    1,   23,    1,   24,   25,   26,   27,
 
-       23,   24,   25,   26,   27,    5,   28,   29,   30,   31,
-       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
-       42,   43,    1,    1,    1,    1,    1,    1,    1,    1,
+       28,   29,   30,   31,   32,    5,   33,   34,   35,   36,
+       37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
+       47,   48,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -452,463 +453,471 @@
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[44] =
+static yyconst int yy_meta[49] =
     {   0,
-        1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
-        3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
+        1,    1,    2,    1,    3,    1,    4,    5,    3,    6,
+        6,    6,    6,    6,    6,    6,    6,    7,    1,    1,
+        3,    8,    3,    3,    3,    3,    3,    8,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3
+        3,    3,    3,    3,    3,    3,    3,    3
     } ;
 
-static yyconst short int yy_base[615] =
+static yyconst short int yy_base[630] =
     {   0,
-        0,    0, 1308, 1309, 1309, 1309, 1303, 1292,   36,   40,
-       44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
-      108,   91,  105,   96,  119,  117,  144,  128,   68,  170,
-      169,  202,   92,  111,  131,  125, 1301, 1309, 1290, 1309,
-        0,  207,  229,  234,  239,   70,  244,  259,  264,    0,
-      139,  145,  142,   76,  136,  156,  157,   31, 1289,  162,
-      164,  192,   48,  172,  268,  175,  173,  221,  212, 1288,
-      276,  278,  138,  186,   72,  279,  277,  280,  289,  249,
-      282,  290,  216,  281,  291,  189,  294,  284,  295, 1287,
-      297,  306,   73,  305,  316,  317,  246,  311,  318,  322,
-
-      323,  324,  327,  329,  330,  338,  332,  348,  350,  333,
-      337,  334,  362,  336,  364, 1286,  367,  351,  359,  371,
-      374,  379,  375,  381,  405,  386,  389,  403,  396,  378,
-      250,  376,  400, 1285,    0,  436,  440, 1284,  454,  471,
-        0, 1283,  382,  406, 1282,  410,  425, 1281,  415, 1280,
-      422,  430,  440,  456, 1279,  458,  459,  473,  412,  447,
-      460, 1278,  474,  442,  472,  477,  480,  476,  461,  478,
-      416,  488,  490,  491,  494,  495,  496,  492,  499,  506,
-      507,  500,  513,  505,  508,  520,  521,  523,  524,  525,
-     1277, 1276,  526, 1275, 1274, 1273, 1272, 1271, 1270,  527,
-
-     1269, 1268,  529,  533, 1267, 1266,  561,  538,  537,  542,
-      534,  572,  550, 1265, 1264, 1263,  553, 1262,  535,  575,
-      536, 1261, 1260,  576,  577, 1259,  555,  579,  540,  580,
-      586,  582,  585,  588, 1258, 1257, 1256,  593,  596, 1255,
-      590, 1254,  597, 1253,  600, 1252,  601,  602,  604,  605,
-      619,  609,  612,  618,  622,  611,  214, 1251,  628,  629,
-     1309,  635,  643,  651,  657,  662,  651,  663,  664, 1250,
-      665,  666, 1249, 1248, 1247,  667,  669,  672,  673,  675,
-      676,  677,  678,  683,  679,  686,  685,  691,  690,  693,
-     1246, 1245,  687,  697,  701,  702, 1244, 1243,  703,  707,
-
-     1242,  708,  709,  711,  713,  714,  719,  715,  721, 1241,
-     1240, 1239,  722,  724, 1238,  727,  729,  735,    0,  737,
-     1237,  741,  738,  742,  747,  748,  749, 1236,  743,  635,
-      750,  755, 1235,  760,  761, 1234,  763,  764, 1233,  767,
-     1232,  773, 1231, 1230,  775,  776,  778,  777,  781,  780,
-     1229,  783,  784,  789,  791, 1228,  792, 1227,  798,  793,
-     1226,  813, 1225,  794,  795, 1224,  801,  807,  816,  817,
-      822,  813,  796,  819,  825,  826,  828,  829,  830,  832,
-     1223,  833, 1222, 1221,  836,  837,  831,  842,  841,  843,
-      846,  853,  854,  855, 1220,  857,  858,  861,  862,  863,
-
-      866,  865, 1219,  876,  860, 1218, 1217, 1216, 1215, 1214,
-     1213, 1212,  877,  879,  880, 1211,  881,  882,  886, 1210,
-     1209,  884, 1208, 1207,  885,  890,  888,  887,  891, 1206,
-      898,  900,  901,  904,  907, 1205,  909,  911, 1204,  912,
-      916,  716,  917,  914,  915,  919, 1203, 1202, 1201,  935,
-      918, 1200, 1199, 1198,  925,  928, 1197,  938,  942,  943,
-      930, 1196,  945, 1195, 1194, 1193, 1192,  946,  949,  954,
-     1191,  950,  955, 1190, 1189, 1188, 1187, 1186,  956,  958,
-     1185, 1184, 1183, 1182,  957,  960,  968,  961,  962, 1181,
-      963, 1180,  973, 1179, 1178,  964,  975,  977,  978,  980,
-
-     1177,  981,  983,  984,  987,  988,  992,  994,  995, 1176,
-      997,  998, 1005, 1006, 1004, 1008, 1012, 1014,  920, 1175,
-     1015, 1017, 1020, 1021, 1174, 1023, 1024, 1025, 1026, 1171,
-     1162, 1160, 1029, 1159, 1027, 1044, 1032, 1028, 1158, 1045,
-     1049, 1033, 1157, 1050, 1155, 1154, 1053, 1055, 1056, 1057,
-     1059, 1060, 1061, 1063, 1065, 1066, 1067, 1069, 1071, 1152,
-     1074, 1077, 1080, 1082, 1083, 1085, 1087, 1148, 1090, 1091,
-     1096, 1097, 1098, 1147, 1095, 1101, 1102, 1103, 1145, 1107,
-     1108, 1140, 1106, 1109, 1114, 1118, 1122, 1123, 1126, 1129,
-     1128, 1130, 1131, 1132, 1133, 1070, 1134,  643,  552,  548,
-
-     1139,  444, 1144,  360,  285,  252, 1142,  133, 1309, 1177,
-     1179,  143, 1183,   57
+        0,    0, 1336, 1337, 1337, 1337, 1331, 1316,   41,    0,
+       49,   59,   69, 1287,    0,  112,   69,   72,   93,  113,
+       52,  122,   74,  152,  120,   77,  136,  156,  135,   71,
+      187,  186,  224,  118,  115,   56,  153, 1328, 1337, 1313,
+     1337,    0,  256,    0, 1321, 1320,   88,  264, 1282,  283,
+        0, 1323,  140,  157,  158,  121,  164,  183,  198,   32,
+     1308,  190,   95,  175,   54,  165,  217,  162,  117,  182,
+      218, 1307,  220,  272,  185,  100,  204,  219,  235,  241,
+      264,  232,  273,   57, 1306,  284,  285,  296,  297,  299,
+      300,  226,  298,  302,  308, 1305,  303,  309,  307,  316,
+
+      321,  329,  330,  332,  333,  334,  313,  337,  310,  315,
+      342,  343,  350,  353,  346,  352,  358,  363,  357,  365,
+      366, 1304,  373,  377,  381,  385,  383,  384,  389,  390,
+      402,  386,  392,  417,  418,  395,  271,  393,  403, 1303,
+        0,    0,  416, 1302,    0,  447,    0, 1315, 1300,  438,
+      428, 1299,  448,  427, 1298,  419, 1297,  451,  452,  453,
+      406, 1296,  454,  455,  456,  461,  457,  460, 1295,  465,
+      464,  470,  462,  477,  474,  480,  481,  482,  483,  485,
+      488,  486,  490,  491, 1294, 1293, 1292,  492,  493,  495,
+      506,  502,  514,  511,  494,  519,  515,  517,  520,  522,
+
+     1291, 1290,  525, 1289, 1288, 1287, 1286, 1285, 1284,  523,
+     1283, 1282,  531,  529, 1281, 1280,  562,  538,  537,  540,
+      532,  567,  550, 1279, 1278, 1277,  575, 1276,  534,  533,
+      576, 1275, 1274,  535,  578, 1273,  580,  582,  581,  586,
+      584,  589,  587,  588, 1272, 1271, 1270,  591,  590, 1269,
+      592, 1268,  603, 1267,  601, 1266,  607,  608,  612,  605,
+      620,  596,  621,  616,  627,  623,  546, 1265,  628,  630,
+     1337,  630,  646,  652,  654,  656,  632,  648,  637, 1264,
+      639,  652, 1263, 1262, 1261,  651,  649,  653,  660,  661,
+      664,  662,  663,  665,  666,  668,  669,  679,  674,  675,
+
+     1260, 1259,  670,  671,  682,  686, 1258, 1257,  687,  692,
+     1256,  689,  693,  696,  697,  702,  704,  700,  706, 1255,
+     1254, 1253,  708,  709, 1252,  701,  710,  712,    0,  713,
+     1251,  714,  721,  724,  730,  732,  733, 1250,  735,  736,
+      738,  739, 1249,  741,  744, 1248,  753,  746, 1247,  749,
+     1246,  755, 1245, 1244,  758,  760,  764,  766,  761,  768,
+     1243,  770,  771,  773,  774, 1242,  776, 1241,  778,  777,
+     1240,    0, 1239,  781,  779, 1238,  782,  790,  797,  796,
+      806,  794,  807,  795,  799,  808,  809,  810,  811,  813,
+     1237,  817, 1236, 1235,  822,  823,  820,  830,  826,  824,
+
+      828,  831,  833,  835, 1234,  832,  844,  839,  846,  848,
+      851,  843, 1233,  855,  859, 1232, 1231, 1230, 1229, 1228,
+     1227, 1226,  860,  862,  864, 1225,  865,  863,  867, 1224,
+     1223,  866, 1222, 1221,  868,  871,  872,  869,  870, 1220,
+      875,  880,  885,  888,  889, 1219,  890,  895, 1218,  896,
+      897,  898,  900,  901,  902,  903, 1217, 1216, 1215,  911,
+      906, 1214, 1213, 1212,  915,  908, 1211,  918,  926,  929,
+      909, 1210,  931, 1209, 1208, 1207, 1206,  920,  932,  934,
+     1205,  937,  938, 1204, 1203, 1202, 1201, 1200,  940,  943,
+     1199, 1198, 1197, 1192,  941,  944,  946,  945,  948, 1181,
+
+      951, 1178,  953, 1170, 1167,  958,  960,  961,  962,  963,
+     1164,  964,  965,  968,  969,  970,  971,  976,  977, 1158,
+      979,  986,  987,  989,  990,  991,  994,  997,  998, 1146,
+     1003, 1006, 1007, 1004, 1145, 1008, 1009, 1011, 1012, 1144,
+     1142, 1141, 1018, 1140, 1013, 1017, 1020, 1019, 1139, 1029,
+     1033, 1034, 1137, 1016, 1136, 1133, 1038, 1041, 1042, 1043,
+     1045, 1046, 1047, 1050, 1053, 1052, 1054, 1056, 1057, 1131,
+     1058, 1061, 1059, 1064, 1065, 1070, 1069, 1128, 1071, 1077,
+     1081, 1082, 1083,  913, 1084, 1085, 1086, 1089,  784, 1091,
+     1092,  783, 1090, 1095, 1104, 1096, 1105, 1111, 1108, 1112,
+
+     1113, 1115, 1116, 1117, 1119,  737, 1120,  548,  391,  349,
+     1121,  312, 1125,  270,  266,  221, 1126,  184, 1337, 1166,
+     1172, 1178,  192, 1186, 1192,   70, 1200, 1203, 1208
     } ;
 
-static yyconst short int yy_def[615] =
+static yyconst short int yy_def[630] =
     {   0,
-      609,    1,  609,  609,  609,  609,  610,  611,  612,  609,
-      611,  611,  611,  611,  613,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  610,  609,  611,  609,
-      614,  614,  609,  609,  611,  611,  611,  611,  611,  613,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  609,  614,  614,  609,  611,  611,  611,
-       49,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-
-      611,  611,  611,  611,  611,  611,   49,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      609,  609,  609,  609,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  207,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  609,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-      611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
-
-      611,  611,  611,  611,  611,  611,  611,  611,    0,  609,
-      609,  609,  609,  609
+      619,    1,  619,  619,  619,  619,  620,  621,  622,  623,
+      621,  621,   11,   13,  624,  622,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  620,  619,  621,
+      619,  625,  625,  626,  623,   11,  621,   11,   13,   11,
+      624,  627,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  619,
+      625,   43,  628,  621,   48,   11,   50,  627,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,   50,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      619,  628,  629,  629,  146,  146,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  217,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  274,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,    0,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619
     } ;
 
-static yyconst short int yy_nxt[1353] =
+static yyconst short int yy_nxt[1386] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
-       18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
-       26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
-       35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
-       44,   44,   44,   45,   45,   45,   45,   40,   46,  135,
-       40,   40,  152,   40,   47,   48,   48,   48,   48,   40,
-       47,   48,   48,   48,   48,   40,   40,   69,  138,   40,
-       70,   40,  158,   40,   51,   40,   40,   71,   56,   40,
-      102,   52,   57,   53,   40,   54,   49,   58,   55,   60,
-
-       59,   61,   40,  172,   40,   40,  194,   64,  146,   40,
-      128,   65,   62,   78,   83,   66,   63,   67,   40,   79,
-       68,   40,   84,  129,   40,   80,   72,   85,   73,   74,
-       40,   86,   40,  130,   81,   82,   75,   87,   40,   90,
-       76,   40,   77,  131,   40,   41,   40,  133,   91,   40,
-       88,   40,   40,   99,   92,   40,   89,   40,   40,  100,
-      142,  147,  132,  145,  101,  148,   93,  170,   94,   40,
-       40,  143,   95,  144,   96,   40,   97,   40,   98,  103,
-      149,  150,   40,   40,  155,   40,   40,  115,   40,  104,
-      153,  105,  106,  151,  107,  108,  109,  154,  110,   40,
-
-      116,  163,   40,  117,  111,   40,  112,  113,  159,  114,
-      118,  103,  171,  162,  188,   40,  136,  136,  136,  136,
-      156,  119,  157,  120,  121,   40,  122,   40,  123,   40,
-      124,  359,  125,  165,   40,  183,  126,  127,   43,   43,
-       43,   43,  137,   44,   44,   44,   44,   47,   45,   45,
-       45,   45,   40,  139,  139,  139,  139,   40,  164,   40,
-      140,  257,   40,   40,  200,   40,  140,   47,   48,   48,
-       48,   48,   40,  141,  141,  141,  141,   40,  178,  141,
-      141,   40,  141,  141,  141,  141,  141,  141,  160,   40,
-       40,   40,   40,   40,   40,   40,  166,   40,   40,  175,
-
-      161,  173,   40,   40,   40,  190,  168,   40,   40,  186,
-       40,  184,  167,  169,  179,  174,  176,  185,   40,   40,
-      177,  187,  189,  191,   40,  180,  181,  195,  182,   40,
-       40,   40,  201,  192,  193,   40,   40,   40,  197,  199,
-       40,  196,   40,   40,  202,   40,   40,   40,  203,   40,
-       40,   40,  198,  205,  214,  222,  209,  204,  210,  224,
-      206,   40,  227,   40,   40,  225,  211,  207,  215,  223,
-      208,  220,   40,   40,  212,   40,  216,   40,  213,  217,
-       40,  226,  218,  232,   40,  219,  221,   40,   40,   40,
-      228,   40,   40,  230,   40,   40,  256,  234,  229,   40,
-
-      233,  236,   40,  240,  231,  238,  267,  235,  249,   40,
-      258,  239,  241,   40,  250,  237,   40,  242,   40,   40,
-      251,  252,  254,   40,  255,   40,  243,  244,   40,   40,
-      279,  245,  269,  253,  259,   40,  246,  268,   40,  247,
-      260,  271,  272,   40,  248,  136,  136,  136,  136,  262,
-      262,  262,  262,   40,  292,   40,  263,   40,  273,  270,
-       40,  284,  263,  139,  139,  139,  139,   40,  274,   40,
-      140,   40,   40,   40,   40,  280,  140,  264,  265,  276,
-      266,  266,  266,  266,   40,   40,   40,   40,  281,   40,
-       40,   40,  275,   40,  277,  278,  282,  290,  285,  286,
-
-      283,   40,  287,   40,   40,   40,  293,   40,   40,   40,
-      291,  289,   40,   40,  288,  300,  297,  299,   40,   40,
-       40,   40,  295,  298,  301,  296,   40,  302,  303,  304,
-      294,  306,  308,   40,   40,  307,   40,   40,   40,   40,
-       40,  310,   40,  305,  309,  311,   40,   40,   40,   40,
-       40,   40,  313,   40,  315,   40,  323,  312,  330,  317,
-      316,   40,  314,   40,  337,   40,   40,  332,   40,  318,
-      319,  319,  319,  319,  320,  321,  319,  319,  322,  319,
-      319,  319,  319,  319,  319,   40,  328,  329,   40,   40,
-       40,  335,   40,   40,  324,   40,  325,  331,   40,   40,
-
-      326,   40,  327,   40,  341,  333,   40,  336,  339,   40,
-       40,  334,  338,   40,   40,   40,  340,   40,   40,  347,
-      346,  342,   40,  349,   40,   40,  343,  345,  350,  344,
-      348,   40,   40,  351,  355,   40,  352,  353,  358,  356,
-      357,   40,   40,  354,  262,  262,  262,  262,   40,  264,
-      264,  263,  362,  362,  362,  362,   40,  263,  413,  360,
-      362,  362,  362,  362,   40,  361,  266,  266,  266,  266,
-       40,  266,  266,  266,  266,   40,   40,   40,   40,   40,
-       40,  363,   40,  364,  367,   40,   40,  368,   40,   40,
-       40,   40,   40,  372,  365,  366,   40,  377,   40,   40,
-
-       40,  371,  373,   40,   40,  369,   40,  375,  370,  380,
-       40,  376,  381,  382,   40,   40,   40,  374,  378,  379,
-       40,   40,   40,  383,   40,  389,   40,   40,   40,   40,
-      390,  388,   40,  384,   40,   40,  385,   40,  386,  387,
-       40,  394,   40,  391,  393,  392,  396,  395,   40,  397,
-       40,   40,  399,  398,   40,   40,   40,  493,  405,  403,
-       40,   40,   40,   40,  400,  401,  402,  404,   40,  407,
-      409,  411,  414,   40,   40,  406,   40,   40,  415,  412,
-       40,  417,  416,  408,  410,  418,   40,  420,   40,   40,
-       40,   40,  419,   40,   40,  421,   40,   40,  422,  426,
-
-      423,  424,   40,  425,   40,   40,   40,   40,   40,   40,
-      427,   40,  436,  430,   40,  444,  437,  428,  429,  435,
-       40,  433,  362,  362,  362,  362,   40,  439,  432,   40,
-       40,  431,   40,  434,  440,   40,  438,  441,   40,   40,
-      442,   40,   40,   40,   40,   40,   40,  443,  447,   40,
-       40,  445,  451,  452,   40,   40,   40,  446,  448,   40,
-      450,  455,  453,  454,  456,  449,   40,   40,   40,  457,
-       40,   40,  458,   40,   40,   40,   40,  462,   40,   40,
-      464,  465,  459,  460,  466,  467,  461,  463,  468,   40,
-       40,  469,   40,   40,   40,   40,  471,   40,   40,   40,
-
-       40,   40,  473,   40,   40,  472,  475,  470,  477,  481,
-      480,   40,  474,   40,   40,  483,  478,   40,  476,  486,
-       40,  479,   40,  482,   40,   40,  485,   40,   40,   40,
-       40,   40,   40,   40,  484,  489,  492,  488,   40,  494,
-      487,   40,  491,   40,  543,  501,  496,  490,   40,  495,
-      497,   40,  498,  499,  500,   40,   40,  502,   40,   40,
-      503,  505,   40,   40,  504,  507,  506,   40,   40,   40,
-       40,   40,  511,   40,   40,   40,   40,   40,  512,  509,
-      508,   40,  513,  514,  510,  515,   40,  518,   40,  517,
-       40,   40,  519,   40,   40,  516,   40,   40,  522,  520,
-
-       40,   40,  526,  527,  521,   40,  525,   40,   40,  523,
-       40,   40,  529,  528,  532,  530,  524,   40,   40,   40,
-      536,   40,  531,  537,  538,   40,  539,   40,   40,  533,
-       40,  534,  541,   40,   40,  535,   40,   40,   40,   40,
-       40,   40,   40,  547,  540,   40,   40,  556,  551,  553,
-      542,  548,  544,  545,  549,  552,  546,   40,   40,  559,
-      555,  550,   40,   40,  554,  557,   40,  558,   40,   40,
-       40,  561,   40,   40,   40,  564,   40,  562,   40,   40,
-       40,  567,   40,   40,   40,  571,  560,   40,  565,  573,
-       40,  569,  563,   40,  570,   40,   40,  572,   40,  568,
-
-       40,  574,  566,   40,   40,  578,  575,  579,   40,   40,
-       40,   40,  576,  582,   40,   40,   40,  586,  577,   40,
-       40,   40,   40,  580,  583,  584,  585,   40,  588,  593,
-      591,   40,  581,  589,  592,   40,   40,  587,  590,   40,
-      594,   40,   40,   40,   40,   40,   40,   40,  595,  600,
-      601,  602,   40,   40,  597,   40,  596,   40,   40,  606,
-       40,   40,  598,  599,  605,   40,  607,   40,   40,  604,
-       40,   40,   40,   40,  603,   40,  608,   37,   37,   37,
-       37,   39,   39,   50,   40,   50,   50,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  261,   40,
-
-       40,   40,   40,   40,  134,   40,   38,  609,    3,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609
+       14,   14,   14,   14,   14,   14,   14,    4,   15,   16,
+        8,    8,    8,   17,   18,   19,   20,   21,   22,   23,
+        8,   24,    8,   25,   26,   27,   28,   29,    8,   30,
+       31,   32,   33,   34,   35,   36,    8,   37,   43,   41,
+       44,   44,   44,   44,   44,   44,   44,   44,   46,   46,
+       46,   46,   46,   46,   46,   46,   41,   47,  159,   41,
+      187,   41,  137,   41,   41,   44,   41,   48,   49,   49,
+       49,   49,   49,   49,   49,   49,   41,   71,   41,   41,
+       72,   41,  138,  165,   41,   53,  144,   73,  108,   58,
+
+       93,   80,   54,   59,   55,   41,   56,   81,   60,   57,
+       41,   61,   41,   94,   50,   52,   62,   41,   63,   95,
+      162,  619,  619,  619,  619,  619,  619,  619,  619,   64,
+       41,  178,   41,   65,   41,   41,   66,   41,   41,   41,
+       67,  134,  136,   89,   68,   74,   69,   75,   76,   70,
+      170,   90,   41,   41,  135,   77,   91,   41,  153,   78,
+       92,   79,   82,   96,   83,  105,  149,   84,   85,   41,
+       41,  106,   97,   41,   41,   41,  107,   86,   98,   41,
+      139,   41,   41,   99,  152,  100,   87,   88,  150,  101,
+      151,  102,   41,  103,  154,  104,  109,   45,  155,   41,
+
+       41,   41,   41,   41,   41,  169,  166,   41,  163,  121,
+      164,  110,  156,  111,  112,   41,  113,  114,  115,  177,
+      116,   41,  122,  160,  171,  123,  117,  157,  118,  119,
+      161,  120,  124,  109,   41,   41,   41,   41,   41,  158,
+      179,   41,  167,   41,  172,  173,  180,  185,  125,   41,
+      126,  127,   41,  128,  168,  129,  198,  130,   41,  131,
+      181,  174,  182,  132,  133,  142,  142,  142,  142,  142,
+      142,  142,  142,  145,  145,  145,  145,  145,  145,  145,
+      145,   41,  183,   41,  186,  146,  267,   41,   41,   41,
+       41,  146,  147,  147,  147,  147,  147,  147,  147,  147,
+
+      184,   41,   41,  147,  147,  175,  147,  147,  147,  147,
+      147,  147,  176,   41,   41,   41,   41,   41,  188,   41,
+       41,  193,  189,  196,   41,   41,   41,   41,  200,   41,
+       41,  199,   41,   41,  194,  197,  190,  191,   41,  192,
+      195,  201,  203,  205,  202,  204,   41,   41,  207,   41,
+       41,   41,  214,  210,   41,  217,  209,  206,  211,   41,
+       41,  218,  208,   41,  212,  213,   41,   41,  220,   41,
+       41,  215,  230,  219,   41,   41,  221,  224,  216,  232,
+       41,  236,   41,   41,  222,  234,  226,  231,  223,  227,
+       41,  225,  228,  233,   41,  229,  237,  238,   41,  235,
+
+       41,   41,   41,   41,  240,  239,   41,   41,   41,   41,
+       41,  246,   41,  259,  242,  241,  244,  250,  266,   41,
+       41,  245,  260,   41,  248,  247,  251,  243,  253,  254,
+      249,  252,  268,  255,   41,   41,   41,  273,  256,  261,
+      262,  257,  269,  273,   41,   41,  258,  285,  270,  264,
+      281,  265,  263,  274,  275,   41,  276,  276,  276,  276,
+      276,  276,  276,  276,  278,   41,  280,  277,   41,   41,
+       41,   41,   41,   41,   41,  279,  282,   41,   41,   41,
+      286,   41,   41,  288,  289,  283,  284,   41,  294,  296,
+      290,   41,  292,  291,   41,  287,  293,   41,   41,   41,
+
+       41,  295,   41,   41,  297,   41,  303,   41,   41,   41,
+       41,   41,   41,  307,  299,  310,  298,  309,  301,   41,
+      308,  300,  313,   41,  305,  302,  312,  306,   41,  311,
+      304,   41,   41,  314,   41,  319,   41,   41,  316,   41,
+       41,  317,   41,  318,  321,  320,   41,  315,   41,   41,
+       41,   41,   41,  323,   41,   41,  322,   41,  325,  333,
+      341,  326,  340,   41,  324,   41,  327,   41,  369,  343,
+      328,  329,  329,  329,  329,  329,  329,  329,  329,  330,
+      331,  332,  329,  329,   41,  329,  329,  329,  329,  329,
+      329,  338,   41,   41,  334,   41,  335,   41,   41,   41,
+
+      336,   41,  337,   41,   41,   41,   41,   41,   41,   41,
+      347,  349,  342,   41,  339,  346,  351,  344,   41,  350,
+       41,  345,   41,  348,   41,   41,  355,  356,  352,   41,
+      357,  353,  354,   41,  359,  364,  358,   41,   41,  360,
+       41,  362,  366,  363,   41,   41,  361,   41,  365,   41,
+      367,  273,  274,  274,   41,  368,   41,  273,  619,  619,
+      619,   40,  619,   40,  370,   41,   41,  373,   41,   41,
+       41,  371,  375,  374,  376,  377,  378,   41,   41,   41,
+       41,   41,   41,   41,  382,   41,   41,   41,   41,  387,
+      379,   41,   41,  381,  380,  383,   41,  385,  386,   41,
+
+      392,  391,  390,   41,   41,  388,   41,  384,  389,   41,
+       41,  393,  394,   41,   41,  399,  400,   41,   41,   41,
+      398,   41,  395,   41,  396,   41,   41,   41,  397,   41,
+       41,   41,  401,  403,  404,  402,  406,  405,   41,  407,
+      413,   41,  409,  410,  408,  414,  415,   41,  412,   41,
+       41,  411,   41,   41,   41,   41,   41,  417,   41,  419,
+      421,   41,  416,   41,  423,  424,   41,  425,  426,  427,
+       41,  418,   41,  420,  430,   41,  422,   41,   41,  429,
+      428,   41,  431,   41,  436,   41,  432,   41,   41,  433,
+       41,   41,  434,   41,   41,   41,   41,  435,   41,   41,
+
+       41,   41,  440,  437,  446,  447,  443,   41,  445,  438,
+      439,   41,   41,   41,   41,  449,   41,  442,  444,  441,
+      450,  451,  448,   41,   41,   41,   41,   41,   41,  452,
+       41,  454,  455,  453,   41,  457,  456,   41,  461,   41,
+       41,   41,  462,   41,  458,   41,  460,   41,   41,   41,
+       41,  459,   41,  463,  464,  465,   41,  466,  468,  467,
+       41,   41,  472,   41,  475,   41,  470,  473,   41,  469,
+      471,  474,   41,  476,  479,  477,   41,   41,  478,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+      483,  480,   41,  482,  487,  485,  490,   41,  491,  493,
+
+      481,  484,   41,  488,  486,   41,   41,   41,  496,  489,
+      492,  495,   41,   41,   41,   41,  494,   41,   41,   41,
+       41,  499,  502,   41,  498,   41,   41,  504,   41,  497,
+       41,  501,   41,  508,  509,   41,  500,   41,  506,  507,
+      511,  505,  512,   41,  503,  513,   41,  510,   41,   41,
+      516,   41,  515,  514,   41,   41,  517,   41,   41,  518,
+       41,   41,   41,   41,  521,   41,  522,  519,   41,  520,
+       41,  523,  527,  524,  525,   41,  528,   41,   41,   41,
+       41,   41,   41,  529,  526,   41,   41,   41,   41,  531,
+      536,  537,  530,   41,   41,  535,   41,  532,  542,  533,
+
+      538,  539,  540,   41,   41,  534,   41,   41,   41,  541,
+      547,   41,  548,  546,   41,   41,  543,  549,  544,  551,
+       41,   41,  545,   41,   41,   41,   41,  553,   41,   41,
+       41,  557,  550,   41,   41,   41,   41,   41,  552,  561,
+      563,  558,  564,  566,  559,  554,   41,  555,  556,  562,
+       41,   41,  560,  565,  567,   41,  568,  570,   41,   41,
+       41,  571,   41,   41,   41,  569,  574,   41,  572,   41,
+       41,   41,  577,   41,   41,   41,   41,  581,   41,  575,
+      583,   41,   41,  573,  579,  580,   41,   41,   41,  582,
+      584,  578,  588,  576,   41,  585,  586,  589,   41,   41,
+
+       41,   41,   41,   41,  592,  587,   41,   41,   41,   41,
+      590,  596,   41,   41,  593,  594,  595,  598,  591,  601,
+      603,   41,   41,  602,  599,   41,  597,  600,   41,   41,
+       41,  605,   41,   41,   41,  604,   41,   41,   41,  610,
+      611,  612,   41,   41,  606,   41,  616,  607,   41,  608,
+       41,  609,  617,   41,   41,  615,   41,   41,   41,   41,
+      614,   41,   41,   41,  613,  618,   38,   38,   38,   38,
+       38,   38,   38,   38,   40,   41,   40,   40,   40,   40,
+       42,   41,   42,   42,   41,   42,   51,   41,   51,   51,
+       51,   51,   51,   51,  141,   41,  141,  141,   41,  141,
+
+      148,  148,  148,  148,  148,  148,  148,  148,  272,   41,
+      272,  372,  372,  372,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   39,   41,
+      271,   41,   41,   41,   41,   41,   39,   40,   48,  143,
+       41,  140,   40,   41,   39,  619,    3,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619
     } ;
 
-static yyconst short int yy_chk[1353] =
+static yyconst short int yy_chk[1386] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    9,   58,    9,    9,    9,    9,   10,
-       10,   10,   10,   11,   11,   11,   11,   11,   12,  614,
-       20,   63,   58,   12,   13,   13,   13,   13,   13,   13,
-       14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
-       20,   29,   63,   46,   16,   75,   93,   20,   17,   54,
-       29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
-
-       17,   18,   19,   75,   22,   33,   93,   19,   54,   24,
-       33,   19,   18,   22,   24,   19,   18,   19,   23,   22,
-       19,   21,   24,   33,   34,   23,   21,   24,   21,   21,
-       26,   24,   25,   34,   23,   23,   21,   25,   36,   26,
-       21,   28,   21,   35,   35,  612,  608,   36,   26,   55,
-       25,   73,   51,   28,   26,   53,   25,   27,   52,   28,
-       51,   55,   35,   53,   28,   55,   27,   73,   27,   56,
-       57,   52,   27,   52,   27,   60,   27,   61,   27,   30,
-       56,   57,   31,   30,   61,   64,   67,   31,   66,   30,
-       60,   30,   30,   57,   30,   30,   30,   60,   30,   74,
-
-       31,   67,   86,   31,   30,   62,   30,   30,   64,   30,
-       31,   32,   74,   66,   86,   32,   42,   42,   42,   42,
-       62,   32,   62,   32,   32,   69,   32,  257,   32,   83,
-       32,  257,   32,   69,   68,   83,   32,   32,   43,   43,
-       43,   43,   44,   44,   44,   44,   44,   45,   45,   45,
-       45,   45,   45,   47,   47,   47,   47,   47,   68,   97,
-       47,  131,   80,  131,   97,  606,   47,   48,   48,   48,
-       48,   48,   48,   49,   49,   49,   49,   49,   80,   49,
-       49,   65,   49,   49,   49,   49,   49,   49,   65,   71,
-       77,   72,   76,   78,   84,   81,   71,   88,  605,   77,
-
-       65,   76,   79,   82,   85,   88,   72,   87,   89,   85,
-       91,   84,   71,   72,   81,   76,   78,   84,   94,   92,
-       79,   85,   87,   89,   98,   82,   82,   94,   82,   95,
-       96,   99,   98,   91,   92,  100,  101,  102,   95,   96,
-      103,   94,  104,  105,   99,  107,  110,  112,  100,  114,
-      111,  106,   95,  102,  107,  110,  105,  101,  106,  111,
-      102,  108,  114,  109,  118,  112,  106,  103,  107,  110,
-      104,  109,  119,  604,  106,  113,  108,  115,  106,  108,
-      117,  113,  108,  118,  120,  108,  109,  121,  123,  132,
-      115,  130,  122,  117,  124,  143,  130,  120,  115,  126,
-
-      119,  122,  127,  124,  117,  123,  143,  121,  126,  129,
-      132,  123,  124,  133,  127,  122,  128,  124,  125,  144,
-      128,  128,  129,  146,  129,  159,  125,  125,  149,  171,
-      159,  125,  146,  128,  133,  151,  125,  144,  147,  125,
-      133,  149,  151,  152,  125,  136,  136,  136,  136,  137,
-      137,  137,  137,  153,  171,  164,  137,  602,  152,  147,
-      160,  164,  137,  139,  139,  139,  139,  139,  153,  154,
-      139,  156,  157,  161,  169,  160,  139,  140,  140,  156,
-      140,  140,  140,  140,  140,  165,  158,  163,  161,  168,
-      166,  170,  154,  167,  157,  158,  163,  169,  165,  166,
-
-      163,  172,  167,  173,  174,  178,  172,  175,  176,  177,
-      170,  168,  179,  182,  167,  177,  175,  176,  184,  180,
-      181,  185,  174,  175,  178,  174,  183,  179,  180,  181,
-      173,  182,  184,  186,  187,  183,  188,  189,  190,  193,
-      200,  186,  203,  181,  185,  187,  204,  211,  219,  221,
-      209,  208,  189,  229,  193,  210,  211,  188,  219,  203,
-      200,  600,  190,  213,  229,  599,  217,  221,  227,  204,
-      207,  207,  207,  207,  208,  209,  207,  207,  210,  207,
-      207,  207,  207,  207,  207,  212,  213,  217,  220,  224,
-      225,  227,  228,  230,  212,  232,  212,  220,  233,  231,
-
-      212,  234,  212,  241,  232,  224,  238,  228,  231,  239,
-      243,  225,  230,  245,  247,  248,  231,  249,  250,  243,
-      241,  233,  252,  247,  256,  253,  234,  239,  248,  238,
-      245,  254,  251,  249,  253,  255,  250,  251,  256,  254,
-      255,  259,  260,  252,  262,  262,  262,  262,  330,  263,
-      263,  262,  263,  263,  263,  263,  598,  262,  330,  259,
-      264,  264,  264,  264,  267,  260,  265,  265,  265,  265,
-      265,  266,  266,  266,  266,  266,  268,  269,  271,  272,
-      276,  267,  277,  268,  272,  278,  279,  276,  280,  281,
-      282,  283,  285,  280,  269,  271,  284,  285,  287,  286,
-
-      293,  279,  281,  289,  288,  277,  290,  283,  278,  288,
-      294,  284,  289,  290,  295,  296,  299,  282,  286,  287,
-      300,  302,  303,  293,  304,  300,  305,  306,  308,  442,
-      302,  299,  307,  294,  309,  313,  295,  314,  295,  296,
-      316,  306,  317,  303,  305,  304,  308,  307,  318,  309,
-      320,  323,  314,  313,  322,  324,  329,  442,  323,  320,
-      325,  326,  327,  331,  316,  317,  318,  322,  332,  325,
-      326,  327,  331,  334,  335,  324,  337,  338,  332,  329,
-      340,  335,  334,  325,  326,  337,  342,  340,  345,  346,
-      348,  347,  338,  350,  349,  342,  352,  353,  345,  349,
-
-      346,  347,  354,  348,  355,  357,  360,  364,  365,  373,
-      350,  359,  364,  354,  367,  373,  365,  352,  353,  360,
-      368,  359,  362,  362,  362,  362,  372,  368,  357,  369,
-      370,  355,  374,  359,  369,  371,  367,  370,  375,  376,
-      371,  377,  378,  379,  387,  380,  382,  372,  376,  385,
-      386,  374,  380,  382,  389,  388,  390,  375,  377,  391,
-      379,  387,  385,  386,  388,  378,  392,  393,  394,  389,
-      396,  397,  390,  405,  398,  399,  400,  394,  402,  401,
-      397,  398,  391,  392,  399,  400,  393,  396,  401,  404,
-      413,  402,  414,  415,  417,  418,  405,  422,  425,  419,
-
-      428,  427,  414,  426,  429,  413,  417,  404,  419,  427,
-      426,  431,  415,  432,  433,  429,  422,  434,  418,  433,
-      435,  425,  437,  428,  438,  440,  432,  444,  445,  441,
-      443,  451,  446,  519,  431,  437,  441,  435,  455,  443,
-      434,  456,  440,  461,  519,  455,  445,  438,  450,  444,
-      446,  458,  450,  450,  451,  459,  460,  456,  463,  468,
-      458,  460,  469,  472,  459,  463,  461,  470,  473,  479,
-      485,  480,  472,  486,  488,  489,  491,  496,  473,  469,
-      468,  487,  479,  480,  470,  485,  493,  488,  497,  487,
-      498,  499,  489,  500,  502,  486,  503,  504,  496,  491,
-
-      505,  506,  500,  502,  493,  507,  499,  508,  509,  497,
-      511,  512,  504,  503,  507,  505,  498,  515,  513,  514,
-      512,  516,  506,  513,  514,  517,  515,  518,  521,  508,
-      522,  509,  517,  523,  524,  511,  526,  527,  528,  529,
-      535,  538,  533,  524,  516,  537,  542,  538,  529,  535,
-      518,  526,  521,  522,  527,  533,  523,  536,  540,  542,
-      537,  528,  541,  544,  536,  540,  547,  541,  548,  549,
-      550,  547,  551,  552,  553,  550,  554,  548,  555,  556,
-      557,  553,  558,  596,  559,  557,  544,  561,  551,  559,
-      562,  555,  549,  563,  556,  564,  565,  558,  566,  554,
-
-      567,  561,  552,  569,  570,  565,  562,  566,  575,  571,
-      572,  573,  563,  570,  576,  577,  578,  575,  564,  583,
-      580,  581,  584,  567,  571,  572,  573,  585,  577,  584,
-      581,  586,  569,  578,  583,  587,  588,  576,  580,  589,
-      585,  591,  590,  592,  593,  594,  595,  597,  586,  591,
-      592,  593,  601,  582,  588,  607,  587,  603,  579,  601,
-      574,  568,  589,  590,  597,  560,  603,  546,  545,  595,
-      543,  539,  534,  532,  594,  531,  607,  610,  610,  610,
-      610,  611,  611,  613,  530,  613,  613,  525,  520,  510,
-      501,  495,  494,  492,  490,  484,  483,  482,  481,  478,
-
-      477,  476,  475,  474,  471,  467,  466,  465,  464,  462,
-      457,  454,  453,  452,  449,  448,  447,  439,  436,  430,
-      424,  423,  421,  420,  416,  412,  411,  410,  409,  408,
-      407,  406,  403,  395,  384,  383,  381,  366,  363,  361,
-      358,  356,  351,  344,  343,  341,  339,  336,  333,  328,
-      321,  315,  312,  311,  310,  301,  298,  297,  292,  291,
-      275,  274,  273,  270,  258,  246,  244,  242,  240,  237,
-      236,  235,  226,  223,  222,  218,  216,  215,  214,  206,
-      205,  202,  201,  199,  198,  197,  196,  195,  194,  192,
-      191,  162,  155,  150,  148,  145,  142,  138,  134,  116,
-
-       90,   70,   59,   39,   37,    8,    7,    3,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609,  609,  609,  609,  609,  609,  609,  609,  609,
-      609,  609
+        1,    1,    1,    1,    1,    1,    1,    1,    9,   60,
+        9,    9,    9,    9,    9,    9,    9,    9,   11,   11,
+       11,   11,   11,   11,   11,   11,   11,   12,   60,   21,
+       84,   65,   36,   36,   84,  626,   12,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   17,   21,   30,   18,
+       21,   23,   36,   65,   26,   17,   47,   21,   30,   18,
+
+       26,   23,   17,   18,   17,   47,   17,   23,   18,   17,
+       19,   18,   63,   26,   13,   16,   19,   76,   19,   26,
+       63,   16,   16,   16,   16,   16,   16,   16,   16,   19,
+       20,   76,   35,   19,   69,   34,   20,   25,   56,   22,
+       20,   34,   35,   25,   20,   22,   20,   22,   22,   20,
+       69,   25,   29,   27,   34,   22,   25,   53,   56,   22,
+       25,   22,   24,   27,   24,   29,   53,   24,   24,   24,
+       37,   29,   27,   28,   54,   55,   29,   24,   27,   68,
+       37,   57,   66,   28,   55,   28,   24,   24,   54,   28,
+       54,   28,   64,   28,   57,   28,   31,  623,   57,   70,
+
+       58,  618,   75,   32,   31,   68,   66,   62,   64,   32,
+       64,   31,   58,   31,   31,   59,   31,   31,   31,   75,
+       31,   77,   32,   62,   70,   32,   31,   59,   31,   31,
+       62,   31,   32,   33,   67,   71,   78,   73,  616,   59,
+       77,   33,   67,   92,   71,   73,   78,   82,   33,   82,
+       33,   33,   79,   33,   67,   33,   92,   33,   80,   33,
+       78,   73,   79,   33,   33,   43,   43,   43,   43,   43,
+       43,   43,   43,   48,   48,   48,   48,   48,   48,   48,
+       48,   81,   80,  615,   83,   48,  137,  614,  137,   74,
+       83,   48,   50,   50,   50,   50,   50,   50,   50,   50,
+
+       81,   86,   87,   50,   50,   74,   50,   50,   50,   50,
+       50,   50,   74,   88,   89,   93,   90,   91,   86,   94,
+       97,   89,   87,   91,   99,   95,   98,  109,   94,  612,
+      107,   93,  110,  100,   90,   91,   88,   88,  101,   88,
+       90,   95,   98,  100,   97,   99,  102,  103,  101,  104,
+      105,  106,  107,  103,  108,  109,  102,  100,  104,  111,
+      112,  110,  101,  115,  105,  106,  610,  113,  112,  116,
+      114,  108,  115,  111,  119,  117,  112,  113,  108,  116,
+      118,  119,  120,  121,  112,  117,  114,  115,  112,  114,
+      123,  113,  114,  116,  124,  114,  120,  121,  125,  118,
+
+      127,  128,  126,  132,  123,  121,  129,  130,  609,  133,
+      138,  128,  136,  132,  124,  123,  126,  130,  136,  131,
+      139,  127,  133,  161,  129,  128,  130,  125,  131,  131,
+      129,  130,  138,  131,  134,  135,  156,  143,  131,  134,
+      134,  131,  139,  143,  154,  151,  131,  161,  139,  135,
+      156,  135,  134,  146,  146,  150,  146,  146,  146,  146,
+      146,  146,  146,  146,  151,  153,  154,  150,  158,  159,
+      160,  163,  164,  165,  167,  153,  158,  168,  166,  173,
+      163,  171,  170,  165,  166,  159,  160,  172,  171,  173,
+      167,  175,  170,  168,  174,  164,  170,  176,  177,  178,
+
+      179,  172,  180,  182,  174,  181,  179,  183,  184,  188,
+      189,  195,  190,  182,  175,  184,  174,  183,  177,  192,
+      182,  176,  190,  191,  181,  178,  189,  181,  194,  188,
+      180,  193,  197,  191,  198,  195,  196,  199,  192,  200,
+      210,  193,  203,  194,  197,  196,  214,  191,  213,  221,
+      230,  229,  234,  199,  219,  218,  198,  220,  203,  221,
+      230,  210,  229,  267,  200,  608,  213,  223,  267,  234,
+      214,  217,  217,  217,  217,  217,  217,  217,  217,  218,
+      219,  220,  217,  217,  222,  217,  217,  217,  217,  217,
+      217,  223,  227,  231,  222,  235,  222,  237,  239,  238,
+
+      222,  241,  222,  240,  243,  244,  242,  249,  248,  251,
+      239,  241,  231,  262,  227,  238,  242,  235,  255,  241,
+      253,  237,  260,  240,  257,  258,  249,  251,  243,  259,
+      253,  244,  248,  264,  257,  262,  255,  261,  263,  258,
+      266,  260,  264,  261,  265,  269,  259,  270,  263,  277,
+      265,  272,  273,  273,  279,  266,  281,  272,  274,  274,
+      275,  275,  276,  276,  269,  278,  287,  277,  286,  282,
+      288,  270,  279,  278,  281,  282,  286,  289,  290,  292,
+      293,  291,  294,  295,  290,  296,  297,  303,  304,  295,
+      287,  299,  300,  289,  288,  291,  298,  293,  294,  305,
+
+      300,  299,  298,  306,  309,  296,  312,  292,  297,  310,
+      313,  303,  304,  314,  315,  310,  312,  318,  326,  316,
+      309,  317,  305,  319,  305,  323,  324,  327,  306,  328,
+      330,  332,  313,  315,  316,  314,  318,  317,  333,  319,
+      330,  334,  324,  326,  323,  332,  333,  335,  328,  336,
+      337,  327,  339,  340,  606,  341,  342,  335,  344,  336,
+      337,  345,  334,  348,  340,  341,  350,  342,  344,  345,
+      347,  335,  352,  336,  350,  355,  339,  356,  359,  348,
+      347,  357,  352,  358,  359,  360,  355,  362,  363,  356,
+      364,  365,  357,  367,  370,  369,  375,  358,  374,  377,
+
+      592,  589,  364,  360,  374,  375,  369,  378,  370,  362,
+      363,  382,  384,  380,  379,  378,  385,  367,  369,  365,
+      379,  380,  377,  381,  383,  386,  387,  388,  389,  381,
+      390,  383,  384,  382,  392,  386,  385,  397,  390,  395,
+      396,  400,  392,  399,  387,  401,  389,  398,  402,  406,
+      403,  388,  404,  395,  396,  397,  408,  398,  400,  399,
+      412,  407,  404,  409,  408,  410,  402,  406,  411,  401,
+      403,  407,  414,  409,  412,  410,  415,  423,  411,  424,
+      428,  425,  427,  432,  429,  435,  438,  439,  436,  437,
+      424,  414,  441,  423,  429,  427,  436,  442,  437,  439,
+
+      415,  425,  443,  432,  428,  444,  445,  447,  443,  435,
+      438,  442,  448,  450,  451,  452,  441,  453,  454,  455,
+      456,  447,  451,  461,  445,  466,  471,  453,  460,  444,
+      584,  450,  465,  460,  460,  468,  448,  478,  455,  456,
+      465,  454,  466,  469,  452,  468,  470,  461,  473,  479,
+      471,  480,  470,  469,  482,  483,  473,  489,  495,  478,
+      490,  496,  498,  497,  482,  499,  483,  479,  501,  480,
+      503,  489,  497,  490,  495,  506,  498,  507,  508,  509,
+      510,  512,  513,  499,  496,  514,  515,  516,  517,  503,
+      510,  512,  501,  518,  519,  509,  521,  506,  517,  507,
+
+      513,  514,  515,  522,  523,  508,  524,  525,  526,  516,
+      523,  527,  524,  522,  528,  529,  518,  525,  519,  527,
+      531,  534,  521,  532,  533,  536,  537,  529,  538,  539,
+      545,  534,  526,  554,  546,  543,  548,  547,  528,  539,
+      545,  536,  546,  548,  537,  531,  550,  532,  533,  543,
+      551,  552,  538,  547,  550,  557,  551,  554,  558,  559,
+      560,  557,  561,  562,  563,  552,  560,  564,  558,  566,
+      565,  567,  563,  568,  569,  571,  573,  567,  572,  561,
+      569,  574,  575,  559,  565,  566,  577,  576,  579,  568,
+      571,  564,  575,  562,  580,  572,  573,  576,  581,  582,
+
+      583,  585,  586,  587,  580,  574,  588,  593,  590,  591,
+      577,  585,  594,  596,  581,  582,  583,  587,  579,  591,
+      594,  595,  597,  593,  588,  599,  586,  590,  598,  600,
+      601,  596,  602,  603,  604,  595,  605,  607,  611,  601,
+      602,  603,  613,  617,  597,  578,  611,  598,  570,  599,
+      556,  600,  613,  555,  553,  607,  549,  544,  542,  541,
+      605,  540,  535,  530,  604,  617,  620,  620,  620,  620,
+      620,  620,  620,  620,  621,  520,  621,  621,  621,  621,
+      622,  511,  622,  622,  505,  622,  624,  504,  624,  624,
+      624,  624,  624,  624,  625,  502,  625,  625,  500,  625,
+
+      627,  627,  627,  627,  627,  627,  627,  627,  628,  494,
+      628,  629,  629,  629,  493,  492,  491,  488,  487,  486,
+      485,  484,  481,  477,  476,  475,  474,  472,  467,  464,
+      463,  462,  459,  458,  457,  449,  446,  440,  434,  433,
+      431,  430,  426,  422,  421,  420,  419,  418,  417,  416,
+      413,  405,  394,  393,  391,  376,  373,  371,  368,  366,
+      361,  354,  353,  351,  349,  346,  343,  338,  331,  325,
+      322,  321,  320,  311,  308,  307,  302,  301,  285,  284,
+      283,  280,  268,  256,  254,  252,  250,  247,  246,  245,
+      236,  233,  232,  228,  226,  225,  224,  216,  215,  212,
+
+      211,  209,  208,  207,  206,  205,  204,  202,  201,  187,
+      186,  185,  169,  162,  157,  155,  152,  149,  148,  144,
+      140,  122,   96,   85,   72,   61,   52,   49,   46,   45,
+       40,   38,   14,    8,    7,    3,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -1076,7 +1085,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1080 "UpgradeLexer.cpp"
+#line 1089 "UpgradeLexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1230,7 +1239,7 @@
 #line 189 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 
 
-#line 1234 "UpgradeLexer.cpp"
+#line 1243 "UpgradeLexer.cpp"
 
 	if ( yy_init )
 		{
@@ -1278,14 +1287,14 @@
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 610 )
+				if ( yy_current_state >= 620 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			*yy_state_ptr++ = yy_current_state;
 			++yy_cp;
 			}
-		while ( yy_current_state != 609 );
+		while ( yy_current_state != 619 );
 
 yy_find_action:
 		yy_current_state = *--yy_state_ptr;
@@ -1569,480 +1578,505 @@
 case 50:
 YY_RULE_SETUP
 #line 243 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(SHORT,  Type::Int16Ty, Signed);  }
+{ RET_TY(UBYTE,  Type::Int8Ty,  Unsigned); }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
 #line 244 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(USHORT, Type::Int16Ty, Unsigned); }
+{ RET_TY(SHORT,  Type::Int16Ty, Signed);  }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
 #line 245 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(INT,    Type::Int32Ty, Signed);  }
+{ RET_TY(USHORT, Type::Int16Ty, Unsigned); }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
 #line 246 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(UINT,   Type::Int32Ty, Unsigned); }
+{ RET_TY(USHORT, Type::Int16Ty, Unsigned); }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
 #line 247 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(LONG,   Type::Int64Ty, Signed);  }
+{ RET_TY(INT,    Type::Int32Ty, Signed);  }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
 #line 248 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(ULONG,  Type::Int64Ty, Unsigned); }
+{ RET_TY(UINT,   Type::Int32Ty, Unsigned); }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
 #line 249 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(VOID,   Type::VoidTy,  Signless  ); }
+{ RET_TY(UINT,   Type::Int32Ty, Unsigned); }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
 #line 250 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(BOOL,   Type::Int1Ty,  Unsigned  ); }
+{ RET_TY(LONG,   Type::Int64Ty, Signed);  }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
 #line 251 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(FLOAT,  Type::FloatTy, Signless ); }
+{ RET_TY(ULONG,  Type::Int64Ty, Unsigned); }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
 #line 252 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(DOUBLE, Type::DoubleTy,Signless); }
+{ RET_TY(ULONG,  Type::Int64Ty, Unsigned); }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
 #line 253 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(LABEL,  Type::LabelTy, Signless ); }
+{ RET_TY(VOID,   Type::VoidTy,  Signless  ); }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
 #line 254 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return TYPE;   }
+{ RET_TY(BOOL,   Type::Int1Ty,  Unsigned  ); }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
 #line 255 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return OPAQUE; }
+{ RET_TY(BOOL,   Type::Int1Ty,  Unsigned  ); }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 257 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, AddOp, ADD); }
+#line 256 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(FLOAT,  Type::FloatTy, Signless ); }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 258 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SubOp, SUB); }
+#line 257 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(DOUBLE, Type::DoubleTy,Signless); }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 259 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, MulOp, MUL); }
+#line 258 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(LABEL,  Type::LabelTy, Signless ); }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 260 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, DivOp,  DIV); }
+#line 259 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TYPE;   }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 261 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, UDivOp, UDIV); }
+#line 260 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OPAQUE; }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
 #line 262 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SDivOp, SDIV); }
+{ RET_TOK(BinaryOpVal, AddOp, ADD); }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
 #line 263 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, FDivOp, FDIV); }
+{ RET_TOK(BinaryOpVal, SubOp, SUB); }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
 #line 264 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, RemOp,  REM); }
+{ RET_TOK(BinaryOpVal, MulOp, MUL); }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
 #line 265 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, URemOp, UREM); }
+{ RET_TOK(BinaryOpVal, DivOp,  DIV); }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
 #line 266 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SRemOp, SREM); }
+{ RET_TOK(BinaryOpVal, UDivOp, UDIV); }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
 #line 267 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, FRemOp, FREM); }
+{ RET_TOK(BinaryOpVal, SDivOp, SDIV); }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
 #line 268 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, AndOp, AND); }
+{ RET_TOK(BinaryOpVal, FDivOp, FDIV); }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
 #line 269 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, OrOp , OR ); }
+{ RET_TOK(BinaryOpVal, RemOp,  REM); }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
 #line 270 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, XorOp, XOR); }
+{ RET_TOK(BinaryOpVal, URemOp, UREM); }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
 #line 271 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
+{ RET_TOK(BinaryOpVal, SRemOp, SREM); }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
 #line 272 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
+{ RET_TOK(BinaryOpVal, FRemOp, FREM); }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
 #line 273 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
+{ RET_TOK(BinaryOpVal, AndOp, AND); }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
 #line 274 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
+{ RET_TOK(BinaryOpVal, OrOp , OR ); }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
 #line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
+{ RET_TOK(BinaryOpVal, XorOp, XOR); }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
 #line 276 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
 #line 277 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, ShlOp, SHL); }
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
 #line 278 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, ShrOp, SHR); }
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
 #line 279 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, LShrOp, LSHR); }
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
 #line 280 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(BinaryOpVal, AShrOp, ASHR); }
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 282 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, ICmpOp, ICMP); }
+#line 281 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 283 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, FCmpOp, FCMP); }
+#line 282 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, ShlOp, SHL); }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 285 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return EQ; }
+#line 283 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, ShrOp, SHR); }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 286 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return NE; }
+#line 284 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, LShrOp, LSHR); }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 287 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return SLT; }
+#line 285 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, AShrOp, ASHR); }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 288 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return SGT; }
+#line 287 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ICmpOp, ICMP); }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 289 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return SLE; }
+#line 288 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, FCmpOp, FCMP); }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
 #line 290 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return SGE; }
+{ return EQ; }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
 #line 291 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return ULT; }
+{ return NE; }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
 #line 292 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return UGT; }
+{ return SLT; }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
 #line 293 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return ULE; }
+{ return SGT; }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
 #line 294 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return UGE; }
+{ return SLE; }
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
 #line 295 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return OEQ; }
+{ return SGE; }
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
 #line 296 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return ONE; }
+{ return ULT; }
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
 #line 297 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return OLT; }
+{ return UGT; }
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
 #line 298 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return OGT; }
+{ return ULE; }
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
 #line 299 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return OLE; }
+{ return UGE; }
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
 #line 300 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return OGE; }
+{ return OEQ; }
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
 #line 301 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return ORD; }
+{ return ONE; }
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
 #line 302 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return UNO; }
+{ return OLT; }
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
 #line 303 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return UEQ; }
+{ return OGT; }
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
 #line 304 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return UNE; }
+{ return OLE; }
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 306 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, PHIOp, PHI_TOK); }
+#line 305 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OGE; }
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 307 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, CallOp, CALL); }
+#line 306 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ORD; }
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 308 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, CastOp, CAST);  }
+#line 307 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNO; }
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 309 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, TruncOp, TRUNC); }
+#line 308 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UEQ; }
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 310 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, ZExtOp , ZEXT); }
+#line 309 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNE; }
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
 #line 311 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, SExtOp, SEXT); }
+{ RET_TOK(OtherOpVal, PHIOp, PHI_TOK); }
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
 #line 312 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, FPTruncOp, FPTRUNC); }
+{ RET_TOK(OtherOpVal, CallOp, CALL); }
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
 #line 313 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, FPExtOp, FPEXT); }
+{ RET_TOK(CastOpVal, CastOp, CAST);  }
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
 #line 314 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, FPToUIOp, FPTOUI); }
+{ RET_TOK(CastOpVal, TruncOp, TRUNC); }
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
 #line 315 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, FPToSIOp, FPTOSI); }
+{ RET_TOK(CastOpVal, ZExtOp , ZEXT); }
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
 #line 316 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, UIToFPOp, UITOFP); }
+{ RET_TOK(CastOpVal, SExtOp, SEXT); }
 	YY_BREAK
 case 120:
 YY_RULE_SETUP
 #line 317 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, SIToFPOp, SITOFP); }
+{ RET_TOK(CastOpVal, FPTruncOp, FPTRUNC); }
 	YY_BREAK
 case 121:
 YY_RULE_SETUP
 #line 318 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, PtrToIntOp, PTRTOINT); }
+{ RET_TOK(CastOpVal, FPExtOp, FPEXT); }
 	YY_BREAK
 case 122:
 YY_RULE_SETUP
 #line 319 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, IntToPtrOp, INTTOPTR); }
+{ RET_TOK(CastOpVal, FPToUIOp, FPTOUI); }
 	YY_BREAK
 case 123:
 YY_RULE_SETUP
 #line 320 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(CastOpVal, BitCastOp, BITCAST); }
+{ RET_TOK(CastOpVal, FPToSIOp, FPTOSI); }
 	YY_BREAK
 case 124:
 YY_RULE_SETUP
 #line 321 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, SelectOp, SELECT); }
+{ RET_TOK(CastOpVal, UIToFPOp, UITOFP); }
 	YY_BREAK
 case 125:
 YY_RULE_SETUP
 #line 322 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return VANEXT_old; }
+{ RET_TOK(CastOpVal, SIToFPOp, SITOFP); }
 	YY_BREAK
 case 126:
 YY_RULE_SETUP
 #line 323 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return VAARG_old; }
+{ RET_TOK(CastOpVal, PtrToIntOp, PTRTOINT); }
 	YY_BREAK
 case 127:
 YY_RULE_SETUP
 #line 324 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+{ RET_TOK(CastOpVal, IntToPtrOp, INTTOPTR); }
 	YY_BREAK
 case 128:
 YY_RULE_SETUP
 #line 325 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(TermOpVal, RetOp, RET); }
+{ RET_TOK(CastOpVal, BitCastOp, BITCAST); }
 	YY_BREAK
 case 129:
 YY_RULE_SETUP
 #line 326 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(TermOpVal, BrOp, BR); }
+{ RET_TOK(OtherOpVal, SelectOp, SELECT); }
 	YY_BREAK
 case 130:
 YY_RULE_SETUP
 #line 327 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(TermOpVal, SwitchOp, SWITCH); }
+{ return VANEXT_old; }
 	YY_BREAK
 case 131:
 YY_RULE_SETUP
 #line 328 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(TermOpVal, InvokeOp, INVOKE); }
+{ return VAARG_old; }
 	YY_BREAK
 case 132:
 YY_RULE_SETUP
 #line 329 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ return UNWIND; }
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
 case 133:
 YY_RULE_SETUP
 #line 330 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(TermOpVal, UnreachableOp, UNREACHABLE); }
+{ RET_TOK(TermOpVal, RetOp, RET); }
 	YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 332 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(MemOpVal, MallocOp, MALLOC); }
+#line 331 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, BrOp, BR); }
 	YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 333 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(MemOpVal, AllocaOp, ALLOCA); }
+#line 332 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, SwitchOp, SWITCH); }
 	YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 334 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(MemOpVal, FreeOp, FREE); }
+#line 333 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, InvokeOp, INVOKE); }
 	YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 335 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(MemOpVal, LoadOp, LOAD); }
+#line 334 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNWIND; }
 	YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 336 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(MemOpVal, StoreOp, STORE); }
+#line 335 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, UnreachableOp, UNREACHABLE); }
 	YY_BREAK
 case 139:
 YY_RULE_SETUP
 #line 337 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(MemOpVal, GetElementPtrOp, GETELEMENTPTR); }
+{ RET_TOK(MemOpVal, MallocOp, MALLOC); }
 	YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, ExtractElementOp, EXTRACTELEMENT); }
+#line 338 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, AllocaOp, ALLOCA); }
 	YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 340 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, InsertElementOp, INSERTELEMENT); }
+#line 339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, FreeOp, FREE); }
 	YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 341 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(OtherOpVal, ShuffleVectorOp, SHUFFLEVECTOR); }
+#line 340 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, LoadOp, LOAD); }
 	YY_BREAK
 case 143:
 YY_RULE_SETUP
+#line 341 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, StoreOp, STORE); }
+	YY_BREAK
+case 144:
+YY_RULE_SETUP
+#line 342 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, GetElementPtrOp, GETELEMENTPTR); }
+	YY_BREAK
+case 145:
+YY_RULE_SETUP
 #line 344 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ExtractElementOp, EXTRACTELEMENT); }
+	YY_BREAK
+case 146:
+YY_RULE_SETUP
+#line 345 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, InsertElementOp, INSERTELEMENT); }
+	YY_BREAK
+case 147:
+YY_RULE_SETUP
+#line 346 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVectorOp, SHUFFLEVECTOR); }
+	YY_BREAK
+case 148:
+YY_RULE_SETUP
+#line 349 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   UnEscapeLexed(yytext+1);
                   Upgradelval.StrVal = strdup(yytext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 144:
+case 149:
 YY_RULE_SETUP
-#line 349 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 354 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   yytext[strlen(yytext)-1] = 0;  // nuke colon
                   UnEscapeLexed(yytext);
@@ -2050,9 +2084,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 145:
+case 150:
 YY_RULE_SETUP
-#line 355 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 360 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(yytext+1);
@@ -2060,9 +2094,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 146:
+case 151:
 YY_RULE_SETUP
-#line 362 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 367 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 { // Note that we cannot unescape a string constant here!  The
                    // string constant might contain a \00 which would not be
                    // understood by the string stuff.  It is valid to make a
@@ -2073,14 +2107,14 @@
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 147:
+case 152:
 YY_RULE_SETUP
-#line 373 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 378 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 { Upgradelval.UInt64Val = atoull(yytext); return EUINT64VAL; }
 	YY_BREAK
-case 148:
+case 153:
 YY_RULE_SETUP
-#line 374 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 379 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   // +1:  we have bigger negative range
@@ -2090,17 +2124,17 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 149:
+case 154:
 YY_RULE_SETUP
-#line 382 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 387 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                    Upgradelval.UInt64Val = HexIntToVal(yytext+3);
                    return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 150:
+case 155:
 YY_RULE_SETUP
-#line 387 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 392 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   if ((unsigned)Val != Val)
@@ -2109,9 +2143,9 @@
                   return UINTVAL;
                 }
 	YY_BREAK
-case 151:
+case 156:
 YY_RULE_SETUP
-#line 394 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 399 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   uint64_t Val = atoull(yytext+2);
                   // +1:  we have bigger negative range
@@ -2121,18 +2155,18 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 152:
+case 157:
 YY_RULE_SETUP
-#line 403 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 408 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 { Upgradelval.FPVal = atof(yytext); return FPVAL; }
 	YY_BREAK
-case 153:
+case 158:
 YY_RULE_SETUP
-#line 404 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 409 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 { Upgradelval.FPVal = HexToFP(yytext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 406 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 411 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -2141,22 +2175,22 @@
                   return EOF;
                 }
 	YY_BREAK
-case 154:
+case 159:
 YY_RULE_SETUP
-#line 414 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 419 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 155:
+case 160:
 YY_RULE_SETUP
-#line 415 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 420 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 { return yytext[0]; }
 	YY_BREAK
-case 156:
+case 161:
 YY_RULE_SETUP
-#line 417 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 422 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 2160 "UpgradeLexer.cpp"
+#line 2194 "UpgradeLexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2443,7 +2477,7 @@
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 610 )
+			if ( yy_current_state >= 620 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2473,11 +2507,11 @@
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 610 )
+		if ( yy_current_state >= 620 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 609);
+	yy_is_jam = (yy_current_state == 619);
 	if ( ! yy_is_jam )
 		*yy_state_ptr++ = yy_current_state;
 
@@ -3034,5 +3068,5 @@
 	return 0;
 	}
 #endif
-#line 417 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
+#line 422 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l"
 


Index: llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs
diff -u llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs:1.18 llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs:1.19
--- llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs:1.18	Thu Feb  1 20:16:22 2007
+++ llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs	Wed Feb  7 18:21:40 2007
@@ -152,14 +152,14 @@
 Comment    ;.*
 
 /* Variable(Value) identifiers start with a % sign */
-VarID       %[-a-zA-Z$._][-a-zA-Z$._0-9]*
+VarID       [%@][-a-zA-Z$._][-a-zA-Z$._0-9]*
 
 /* Label identifiers end with a colon */
 Label       [-a-zA-Z$._0-9]+:
 QuoteLabel \"[^\"]+\":
 
 /* Quoted names can contain any character except " and \ */
-StringConstant \"[^\"]*\"
+StringConstant @?\"[^\"]*\"
 
 
 /* [PN]Integer: match positive and negative literal integer values that
@@ -240,14 +240,19 @@
 
 sbyte           { RET_TY(SBYTE,  Type::Int8Ty,  Signed);  }
 ubyte           { RET_TY(UBYTE,  Type::Int8Ty,  Unsigned); }
+i8              { RET_TY(UBYTE,  Type::Int8Ty,  Unsigned); }
 short           { RET_TY(SHORT,  Type::Int16Ty, Signed);  }
 ushort          { RET_TY(USHORT, Type::Int16Ty, Unsigned); }
+i16             { RET_TY(USHORT, Type::Int16Ty, Unsigned); }
 int             { RET_TY(INT,    Type::Int32Ty, Signed);  }
 uint            { RET_TY(UINT,   Type::Int32Ty, Unsigned); }
+i32             { RET_TY(UINT,   Type::Int32Ty, Unsigned); }
 long            { RET_TY(LONG,   Type::Int64Ty, Signed);  }
 ulong           { RET_TY(ULONG,  Type::Int64Ty, Unsigned); }
+i64             { RET_TY(ULONG,  Type::Int64Ty, Unsigned); }
 void            { RET_TY(VOID,   Type::VoidTy,  Signless  ); }
 bool            { RET_TY(BOOL,   Type::Int1Ty,  Unsigned  ); }
+i1              { RET_TY(BOOL,   Type::Int1Ty,  Unsigned  ); }
 float           { RET_TY(FLOAT,  Type::FloatTy, Signless ); }
 double          { RET_TY(DOUBLE, Type::DoubleTy,Signless); }
 label           { RET_TY(LABEL,  Type::LabelTy, Signless ); }


Index: llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs
diff -u llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.57 llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.58
--- llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.57	Mon Feb  5 15:19:13 2007
+++ llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs	Wed Feb  7 18:21:40 2007
@@ -2241,16 +2241,16 @@
     2358,  2359,  2360,  2361,  2362,  2378,  2398,  2400,  2402,  2402,
     2409,  2409,  2416,  2416,  2423,  2423,  2431,  2433,  2435,  2440,
     2454,  2455,  2459,  2462,  2470,  2474,  2481,  2485,  2489,  2493,
-    2501,  2501,  2505,  2506,  2510,  2518,  2523,  2531,  2532,  2539,
-    2546,  2550,  2686,  2686,  2690,  2700,  2700,  2704,  2708,  2710,
-    2711,  2715,  2715,  2727,  2728,  2733,  2734,  2735,  2736,  2737,
-    2738,  2739,  2740,  2741,  2762,  2765,  2780,  2781,  2786,  2786,
-    2794,  2803,  2806,  2815,  2825,  2830,  2839,  2850,  2850,  2853,
-    2856,  2859,  2863,  2869,  2884,  2890,  2946,  2949,  2955,  2965,
-    2978,  3007,  3015,  3023,  3027,  3034,  3035,  3039,  3042,  3048,
-    3065,  3081,  3095,  3107,  3119,  3130,  3148,  3157,  3166,  3173,
-    3194,  3218,  3224,  3230,  3236,  3252,  3330,  3338,  3339,  3343,
-    3344,  3348,  3354,  3360,  3366,  3372,  3379,  3391,  3405
+    2501,  2501,  2506,  2507,  2511,  2519,  2524,  2532,  2533,  2540,
+    2547,  2551,  2711,  2711,  2715,  2725,  2725,  2729,  2733,  2735,
+    2736,  2740,  2740,  2752,  2753,  2758,  2759,  2760,  2761,  2762,
+    2763,  2764,  2765,  2766,  2787,  2790,  2805,  2806,  2811,  2811,
+    2819,  2828,  2831,  2840,  2850,  2855,  2864,  2875,  2875,  2878,
+    2881,  2884,  2888,  2894,  2909,  2915,  2971,  2974,  2980,  2990,
+    3003,  3032,  3040,  3048,  3052,  3059,  3060,  3064,  3067,  3073,
+    3090,  3106,  3120,  3132,  3144,  3155,  3173,  3182,  3191,  3198,
+    3219,  3243,  3249,  3255,  3261,  3277,  3355,  3363,  3364,  3368,
+    3369,  3373,  3379,  3385,  3391,  3397,  3404,  3416,  3430
 };
 #endif
 
@@ -4980,12 +4980,12 @@
     break;
 
   case 213:
-#line 2506 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2507 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
   case 214:
-#line 2510 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2511 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     if ((yyvsp[-1].TypeVal).T->get() == Type::VoidTy)
       error("void typed arguments are invalid");
@@ -4994,7 +4994,7 @@
     break;
 
   case 215:
-#line 2518 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2519 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -5003,7 +5003,7 @@
     break;
 
   case 216:
-#line 2523 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2524 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeInfo,char*> >();
     (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -5012,12 +5012,12 @@
     break;
 
   case 217:
-#line 2531 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2532 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ArgList) = (yyvsp[0].ArgList); ;}
     break;
 
   case 218:
-#line 2532 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2533 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     PATypeInfo VoidTI;
@@ -5028,7 +5028,7 @@
     break;
 
   case 219:
-#line 2539 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2540 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeInfo,char*> >();
     PATypeInfo VoidTI;
@@ -5039,12 +5039,12 @@
     break;
 
   case 220:
-#line 2546 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2547 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ArgList) = 0; ;}
     break;
 
   case 221:
-#line 2550 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2551 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     UnEscapeLexed((yyvsp[-5].StrVal));
     std::string FunctionName((yyvsp[-5].StrVal));
@@ -5123,10 +5123,34 @@
         InsertValue(Fn, CurModule.Values);
         RenameMapKey Key = std::make_pair(FunctionName,PFT);
         CurModule.RenameMap[Key] = NewName;
+      } else if (Fn->hasInternalLinkage()) {
+        // The function we are creating conflicts in name with another function 
+        // that has internal linkage. We'll rename that one quietly to get rid
+        // of the conflict.
+        Fn->setName(makeNameUnique(Fn->getName()));
+        RenameMapKey Key = std::make_pair(FunctionName,PFT);
+        CurModule.RenameMap[Key] = Fn->getName();
+
+        Fn = new Function(FT, GlobalValue::ExternalLinkage, FunctionName,
+                          CurModule.CurrentModule);
+
+        InsertValue(Fn, CurModule.Values);
+      } else if (CurFun.Linkage == GlobalValue::InternalLinkage) {
+        // The function we are creating has internal linkage and conflicts with
+        // another function of the same name. We'll just rename this one 
+        // quietly because its internal linkage can't conflict with anything 
+        // else.  
+        std::string NewName = makeNameUnique(FunctionName);
+        Fn = new Function(FT, GlobalValue::ExternalLinkage, NewName,
+                          CurModule.CurrentModule);
+        InsertValue(Fn, CurModule.Values);
+        RenameMapKey Key = std::make_pair(FunctionName,PFT);
+        CurModule.RenameMap[Key] = NewName;
       } else {
-        // The types are the same. Either the existing or the current function
-        // needs to be a forward declaration. If not, they're attempting to
-        // redefine a function.
+        // The types are the same and they are both external linkage. Either 
+        // the existing or the current function needs to be a forward 
+        // declaration. If not, they're attempting to redefine two external 
+        // functions. This wasn't allowed in llvm 1.9 and it isn't allowed now.
         if (!CurFun.isDeclare && !Fn->isDeclaration())
           error("Redefinition of function '" + FunctionName + "'");
       
@@ -5181,7 +5205,7 @@
     break;
 
   case 224:
-#line 2690 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -5192,29 +5216,29 @@
     break;
 
   case 227:
-#line 2704 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2729 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   ;}
     break;
 
   case 229:
-#line 2710 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2735 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 230:
-#line 2711 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2736 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 231:
-#line 2715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
   case 232:
-#line 2715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.FunctionVal) = CurFun.CurrentFunction;
     CurFun.FunctionDone();
@@ -5223,57 +5247,57 @@
     break;
 
   case 233:
-#line 2727 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2752 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
   case 234:
-#line 2728 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2753 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
   case 235:
-#line 2733 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2758 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {    (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val)); ;}
     break;
 
   case 236:
-#line 2734 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2759 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val)); ;}
     break;
 
   case 237:
-#line 2735 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2760 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal)); ;}
     break;
 
   case 238:
-#line 2736 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2761 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValIDVal) = ValID::create(ConstantInt::get(Type::Int1Ty, true)); ;}
     break;
 
   case 239:
-#line 2737 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2762 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValIDVal) = ValID::create(ConstantInt::get(Type::Int1Ty, false)); ;}
     break;
 
   case 240:
-#line 2738 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2763 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValIDVal) = ValID::createNull(); ;}
     break;
 
   case 241:
-#line 2739 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2764 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValIDVal) = ValID::createUndef(); ;}
     break;
 
   case 242:
-#line 2740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2765 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValIDVal) = ValID::createZeroInit(); ;}
     break;
 
   case 243:
-#line 2741 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2766 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[-1].ConstVector))[0].C->getType();
     int NumElements = (yyvsp[-1].ConstVector)->size(); 
@@ -5298,14 +5322,14 @@
     break;
 
   case 244:
-#line 2762 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2787 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal).C);
   ;}
     break;
 
   case 245:
-#line 2765 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2790 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -5318,17 +5342,17 @@
     break;
 
   case 246:
-#line 2780 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2805 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {  (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal)); ;}
     break;
 
   case 247:
-#line 2781 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2806 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {  (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal)); ;}
     break;
 
   case 250:
-#line 2794 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2819 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { 
     const Type *Ty = (yyvsp[-1].TypeVal).T->get();
     (yyval.ValueVal).S = (yyvsp[-1].TypeVal).S;
@@ -5338,21 +5362,21 @@
     break;
 
   case 251:
-#line 2803 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2828 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   ;}
     break;
 
   case 252:
-#line 2806 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2831 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   ;}
     break;
 
   case 253:
-#line 2815 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2840 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     InsertValue((yyvsp[0].TermInstVal));
@@ -5363,7 +5387,7 @@
     break;
 
   case 254:
-#line 2825 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2850 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     if ((yyvsp[0].InstVal).I)
       (yyvsp[-1].BasicBlockVal)->getInstList().push_back((yyvsp[0].InstVal).I);
@@ -5372,7 +5396,7 @@
     break;
 
   case 255:
-#line 2830 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2855 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     // Make sure to move the basic block to the correct location in the
@@ -5385,7 +5409,7 @@
     break;
 
   case 256:
-#line 2839 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2864 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
     // Make sure to move the basic block to the correct location in the
@@ -5398,21 +5422,21 @@
     break;
 
   case 259:
-#line 2853 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2878 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal).V);
   ;}
     break;
 
   case 260:
-#line 2856 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2881 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
   ;}
     break;
 
   case 261:
-#line 2859 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2884 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {                         // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     (yyval.TermInstVal) = new BranchInst(tmpBB);
@@ -5420,7 +5444,7 @@
     break;
 
   case 262:
-#line 2863 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2888 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {  
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
     BasicBlock* tmpBBB = getBBVal((yyvsp[0].ValIDVal));
@@ -5430,7 +5454,7 @@
     break;
 
   case 263:
-#line 2869 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2894 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType).T, (yyvsp[-6].ValIDVal));
     BasicBlock* tmpBB = getBBVal((yyvsp[-3].ValIDVal));
@@ -5449,7 +5473,7 @@
     break;
 
   case 264:
-#line 2884 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2909 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType).T, (yyvsp[-5].ValIDVal));
     BasicBlock* tmpBB = getBBVal((yyvsp[-2].ValIDVal));
@@ -5459,7 +5483,7 @@
     break;
 
   case 265:
-#line 2891 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2916 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -5518,21 +5542,21 @@
     break;
 
   case 266:
-#line 2946 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2971 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
   ;}
     break;
 
   case 267:
-#line 2949 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2974 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
   ;}
     break;
 
   case 268:
-#line 2955 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2980 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getExistingValue((yyvsp[-4].PrimType).T, (yyvsp[-3].ValIDVal)));
@@ -5546,7 +5570,7 @@
     break;
 
   case 269:
-#line 2965 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 2990 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getExistingValue((yyvsp[-4].PrimType).T, (yyvsp[-3].ValIDVal)));
@@ -5560,7 +5584,7 @@
     break;
 
   case 270:
-#line 2978 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3003 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     bool omit = false;
     if ((yyvsp[-1].StrVal))
@@ -5592,7 +5616,7 @@
     break;
 
   case 271:
-#line 3007 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3032 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {    // Used for PHI nodes
     (yyval.PHIList).P = new std::list<std::pair<Value*, BasicBlock*> >();
     (yyval.PHIList).S = (yyvsp[-5].TypeVal).S;
@@ -5604,7 +5628,7 @@
     break;
 
   case 272:
-#line 3015 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3040 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.PHIList) = (yyvsp[-6].PHIList);
     Value* tmpVal = getVal((yyvsp[-6].PHIList).P->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -5614,7 +5638,7 @@
     break;
 
   case 273:
-#line 3023 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3048 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {    // Used for call statements, and memory insts...
     (yyval.ValueList) = new std::vector<ValueInfo>();
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5622,7 +5646,7 @@
     break;
 
   case 274:
-#line 3027 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3052 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5630,26 +5654,26 @@
     break;
 
   case 276:
-#line 3035 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3060 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValueList) = 0; ;}
     break;
 
   case 277:
-#line 3039 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3064 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.BoolVal) = true;
   ;}
     break;
 
   case 278:
-#line 3042 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3067 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.BoolVal) = false;
   ;}
     break;
 
   case 279:
-#line 3048 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3073 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type* Ty = (yyvsp[-3].TypeVal).T->get();
     if (!Ty->isInteger() && !Ty->isFloatingPoint() && !isa<PackedType>(Ty))
@@ -5670,7 +5694,7 @@
     break;
 
   case 280:
-#line 3065 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3090 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[-3].TypeVal).T->get();
     if (!Ty->isInteger()) {
@@ -5690,7 +5714,7 @@
     break;
 
   case 281:
-#line 3081 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3106 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type* Ty = (yyvsp[-3].TypeVal).T->get();
     if(isa<PackedType>(Ty))
@@ -5708,7 +5732,7 @@
     break;
 
   case 282:
-#line 3095 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3120 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[-3].TypeVal).T->get();
     if (isa<PackedType>(Ty)) 
@@ -5724,7 +5748,7 @@
     break;
 
   case 283:
-#line 3107 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3132 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[-3].TypeVal).T->get();
     if (isa<PackedType>(Ty))
@@ -5740,7 +5764,7 @@
     break;
 
   case 284:
-#line 3119 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3144 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     warning("Use of obsolete 'not' instruction: Replacing with 'xor");
     const Type *Ty = (yyvsp[0].ValueVal).V->getType();
@@ -5755,7 +5779,7 @@
     break;
 
   case 285:
-#line 3130 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3155 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     if (!(yyvsp[0].ValueVal).V->getType()->isInteger() ||
         cast<IntegerType>((yyvsp[0].ValueVal).V->getType())->getBitWidth() != 8)
@@ -5777,7 +5801,7 @@
     break;
 
   case 286:
-#line 3148 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3173 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *DstTy = (yyvsp[0].TypeVal).T->get();
     if (!DstTy->isFirstClassType())
@@ -5790,7 +5814,7 @@
     break;
 
   case 287:
-#line 3157 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3182 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     if (!(yyvsp[-4].ValueVal).V->getType()->isInteger() ||
         cast<IntegerType>((yyvsp[-4].ValueVal).V->getType())->getBitWidth() != 1)
@@ -5803,7 +5827,7 @@
     break;
 
   case 288:
-#line 3166 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3191 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[0].TypeVal).T->get();
     NewVarArgs = true;
@@ -5814,7 +5838,7 @@
     break;
 
   case 289:
-#line 3173 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3198 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type* ArgTy = (yyvsp[-2].ValueVal).V->getType();
     const Type* DstTy = (yyvsp[0].TypeVal).T->get();
@@ -5839,7 +5863,7 @@
     break;
 
   case 290:
-#line 3194 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3219 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type* ArgTy = (yyvsp[-2].ValueVal).V->getType();
     const Type* DstTy = (yyvsp[0].TypeVal).T->get();
@@ -5867,7 +5891,7 @@
     break;
 
   case 291:
-#line 3218 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3243 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V))
       error("Invalid extractelement operands");
@@ -5877,7 +5901,7 @@
     break;
 
   case 292:
-#line 3224 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3249 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal).V, (yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V))
       error("Invalid insertelement operands");
@@ -5887,7 +5911,7 @@
     break;
 
   case 293:
-#line 3230 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3255 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal).V, (yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V))
       error("Invalid shufflevector operands");
@@ -5897,7 +5921,7 @@
     break;
 
   case 294:
-#line 3236 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3261 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList).P->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5917,7 +5941,7 @@
     break;
 
   case 295:
-#line 3252 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3277 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
 
     // Handle the short call syntax
@@ -5999,34 +6023,34 @@
     break;
 
   case 296:
-#line 3330 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3355 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
   ;}
     break;
 
   case 297:
-#line 3338 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3363 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValueList) = (yyvsp[0].ValueList); ;}
     break;
 
   case 298:
-#line 3339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3364 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValueList) = new std::vector<ValueInfo>(); ;}
     break;
 
   case 299:
-#line 3343 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3368 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
   case 300:
-#line 3344 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3369 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
   case 301:
-#line 3348 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3373 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[-1].TypeVal).T->get();
     (yyval.InstVal).S = (yyvsp[-1].TypeVal).S;
@@ -6036,7 +6060,7 @@
     break;
 
   case 302:
-#line 3354 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3379 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[-4].TypeVal).T->get();
     (yyval.InstVal).S = (yyvsp[-4].TypeVal).S;
@@ -6046,7 +6070,7 @@
     break;
 
   case 303:
-#line 3360 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3385 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[-1].TypeVal).T->get();
     (yyval.InstVal).S = (yyvsp[-1].TypeVal).S;
@@ -6056,7 +6080,7 @@
     break;
 
   case 304:
-#line 3366 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3391 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *Ty = (yyvsp[-4].TypeVal).T->get();
     (yyval.InstVal).S = (yyvsp[-4].TypeVal).S;
@@ -6066,7 +6090,7 @@
     break;
 
   case 305:
-#line 3372 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3397 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type *PTy = (yyvsp[0].ValueVal).V->getType();
     if (!isa<PointerType>(PTy))
@@ -6077,7 +6101,7 @@
     break;
 
   case 306:
-#line 3379 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3404 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type* Ty = (yyvsp[-1].TypeVal).T->get();
     (yyval.InstVal).S = (yyvsp[-1].TypeVal).S;
@@ -6093,7 +6117,7 @@
     break;
 
   case 307:
-#line 3391 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3416 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal).T->get());
     if (!PTy)
@@ -6111,7 +6135,7 @@
     break;
 
   case 308:
-#line 3405 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3430 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     const Type* Ty = (yyvsp[-2].TypeVal).T->get();
     if (!isa<PointerType>(Ty))
@@ -6133,7 +6157,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 6137 "UpgradeParser.tab.c"
+#line 6161 "UpgradeParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -6401,7 +6425,7 @@
 }
 
 
-#line 3421 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 3446 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
 
 
 int yyerror(const char *ErrorMsg) {


Index: llvm/tools/llvm-upgrade/UpgradeParser.y.cvs
diff -u llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.56 llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.57
--- llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.56	Mon Feb  5 15:19:13 2007
+++ llvm/tools/llvm-upgrade/UpgradeParser.y.cvs	Wed Feb  7 18:21:40 2007
@@ -1655,13 +1655,13 @@
   };
 
 OptLinkage 
-  : INTERNAL    { $$ = GlobalValue::InternalLinkage; } 
+  : INTERNAL    { $$ = GlobalValue::InternalLinkage; }
   | LINKONCE    { $$ = GlobalValue::LinkOnceLinkage; } 
   | WEAK        { $$ = GlobalValue::WeakLinkage; } 
   | APPENDING   { $$ = GlobalValue::AppendingLinkage; } 
   | DLLIMPORT   { $$ = GlobalValue::DLLImportLinkage; } 
   | DLLEXPORT   { $$ = GlobalValue::DLLExportLinkage; } 
-  | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } 
+  | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; }
   | /*empty*/   { $$ = GlobalValue::ExternalLinkage; }
   ;
 
@@ -2499,6 +2499,7 @@
 
 Name 
   : VAR_ID | STRINGCONSTANT
+  //| '@' STRINGCONSTANT { $$ = $2; }
   ;
 
 OptName 
@@ -2625,10 +2626,34 @@
         InsertValue(Fn, CurModule.Values);
         RenameMapKey Key = std::make_pair(FunctionName,PFT);
         CurModule.RenameMap[Key] = NewName;
+      } else if (Fn->hasInternalLinkage()) {
+        // The function we are creating conflicts in name with another function 
+        // that has internal linkage. We'll rename that one quietly to get rid
+        // of the conflict.
+        Fn->setName(makeNameUnique(Fn->getName()));
+        RenameMapKey Key = std::make_pair(FunctionName,PFT);
+        CurModule.RenameMap[Key] = Fn->getName();
+
+        Fn = new Function(FT, GlobalValue::ExternalLinkage, FunctionName,
+                          CurModule.CurrentModule);
+
+        InsertValue(Fn, CurModule.Values);
+      } else if (CurFun.Linkage == GlobalValue::InternalLinkage) {
+        // The function we are creating has internal linkage and conflicts with
+        // another function of the same name. We'll just rename this one 
+        // quietly because its internal linkage can't conflict with anything 
+        // else.  
+        std::string NewName = makeNameUnique(FunctionName);
+        Fn = new Function(FT, GlobalValue::ExternalLinkage, NewName,
+                          CurModule.CurrentModule);
+        InsertValue(Fn, CurModule.Values);
+        RenameMapKey Key = std::make_pair(FunctionName,PFT);
+        CurModule.RenameMap[Key] = NewName;
       } else {
-        // The types are the same. Either the existing or the current function
-        // needs to be a forward declaration. If not, they're attempting to
-        // redefine a function.
+        // The types are the same and they are both external linkage. Either 
+        // the existing or the current function needs to be a forward 
+        // declaration. If not, they're attempting to redefine two external 
+        // functions. This wasn't allowed in llvm 1.9 and it isn't allowed now.
         if (!CurFun.isDeclare && !Fn->isDeclaration())
           error("Redefinition of function '" + FunctionName + "'");
       






More information about the llvm-commits mailing list