Forráskód Böngészése

LexerParser: Regenerate parsers with bison 3.3

Run `Utilities/Scripts/regenerate-parsers.bash`.
Brad King 6 éve
szülő
commit
8f0b3f92d5

+ 155 - 147
Source/LexerParser/cmCommandArgumentParser.cxx

@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.3.2.  */
 
 
 /* Bison implementation for Yacc-like parsers in C
 /* Bison implementation for Yacc-like parsers in C
 
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
 
    This program is free software: you can redistribute it and/or modify
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    it under the terms of the GNU General Public License as published by
@@ -40,11 +41,14 @@
    define necessary library symbols; they are noted "INFRINGES ON
    define necessary library symbols; they are noted "INFRINGES ON
    USER NAME SPACE" below.  */
    USER NAME SPACE" below.  */
 
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 /* Identify Bison output.  */
 /* Identify Bison output.  */
 #define YYBISON 1
 #define YYBISON 1
 
 
 /* Bison version.  */
 /* Bison version.  */
-#define YYBISON_VERSION "3.0.4"
+#define YYBISON_VERSION "3.3.2"
 
 
 /* Skeleton name.  */
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
 #define YYSKELETON_NAME "yacc.c"
@@ -67,8 +71,8 @@
 #define yynerrs         cmCommandArgument_yynerrs
 #define yynerrs         cmCommandArgument_yynerrs
 
 
 
 
-/* Copy the first part of user declarations.  */
-#line 1 "cmCommandArgumentParser.y" /* yacc.c:339  */
+/* First part of user prologue.  */
+#line 1 "cmCommandArgumentParser.y" /* yacc.c:337  */
 
 
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
    file Copyright.txt or https://cmake.org/licensing for details.  */
@@ -130,13 +134,16 @@ static void cmCommandArgument_yyerror(yyscan_t yyscanner, const char* message);
 # pragma GCC diagnostic ignored "-Wconversion"
 # pragma GCC diagnostic ignored "-Wconversion"
 #endif
 #endif
 
 
-#line 134 "cmCommandArgumentParser.cxx" /* yacc.c:339  */
-
+#line 138 "cmCommandArgumentParser.cxx" /* yacc.c:337  */
 # ifndef YY_NULLPTR
 # ifndef YY_NULLPTR
-#  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULLPTR nullptr
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
 #  else
 #  else
-#   define YY_NULLPTR 0
+#   define YY_NULLPTR ((void*)0)
 #  endif
 #  endif
 # endif
 # endif
 
 
@@ -201,9 +208,7 @@ int cmCommandArgument_yyparse (yyscan_t yyscanner);
 
 
 #endif /* !YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED  */
 #endif /* !YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED  */
 
 
-/* Copy the second part of user declarations.  */
 
 
-#line 207 "cmCommandArgumentParser.cxx" /* yacc.c:358  */
 
 
 #ifdef short
 #ifdef short
 # undef short
 # undef short
@@ -224,13 +229,13 @@ typedef signed char yytype_int8;
 #ifdef YYTYPE_UINT16
 #ifdef YYTYPE_UINT16
 typedef YYTYPE_UINT16 yytype_uint16;
 typedef YYTYPE_UINT16 yytype_uint16;
 #else
 #else
-typedef unsigned short int yytype_uint16;
+typedef unsigned short yytype_uint16;
 #endif
 #endif
 
 
 #ifdef YYTYPE_INT16
 #ifdef YYTYPE_INT16
 typedef YYTYPE_INT16 yytype_int16;
 typedef YYTYPE_INT16 yytype_int16;
 #else
 #else
-typedef short int yytype_int16;
+typedef short yytype_int16;
 #endif
 #endif
 
 
 #ifndef YYSIZE_T
 #ifndef YYSIZE_T
@@ -242,7 +247,7 @@ typedef short int yytype_int16;
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  define YYSIZE_T size_t
 #  define YYSIZE_T size_t
 # else
 # else
-#  define YYSIZE_T unsigned int
+#  define YYSIZE_T unsigned
 # endif
 # endif
 #endif
 #endif
 
 
@@ -278,15 +283,6 @@ typedef short int yytype_int16;
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 #endif
 #endif
 
 
-#if !defined _Noreturn \
-     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
 /* Suppress unused-variable warnings by "using" E.  */
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
 #if ! defined lint || defined __GNUC__
 # define YYUSE(E) ((void) (E))
 # define YYUSE(E) ((void) (E))
@@ -294,7 +290,7 @@ typedef short int yytype_int16;
 # define YYUSE(E) /* empty */
 # define YYUSE(E) /* empty */
 #endif
 #endif
 
 
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic push") \
@@ -456,16 +452,16 @@ union yyalloc
 /* YYNSTATES -- Number of states.  */
 /* YYNSTATES -- Number of states.  */
 #define YYNSTATES  33
 #define YYNSTATES  33
 
 
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
-   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   269
 #define YYMAXUTOK   269
 
 
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
 #define YYTRANSLATE(YYX)                                                \
 #define YYTRANSLATE(YYX)                                                \
-  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+  ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
 
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
-   as returned by yylex, without out-of-bounds checking.  */
+   as returned by yylex.  */
 static const yytype_uint8 yytranslate[] =
 static const yytype_uint8 yytranslate[] =
 {
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -513,7 +509,7 @@ static const yytype_uint8 yyrline[] =
 static const char *const yytname[] =
 static const char *const yytname[] =
 {
 {
   "$end", "error", "$undefined", "cal_ENVCURLY", "cal_NCURLY",
   "$end", "error", "$undefined", "cal_ENVCURLY", "cal_NCURLY",
-  "cal_DCURLY", "\"$\"", "\"{\"", "\"}\"", "cal_NAME", R"("\\")",
+  "cal_DCURLY", "\"$\"", "\"{\"", "\"}\"", "cal_NAME", "\"\\\\\"",
   "cal_SYMBOL", "\"@\"", "cal_ERROR", "cal_ATNAME", "$accept", "Start",
   "cal_SYMBOL", "\"@\"", "cal_ERROR", "cal_ATNAME", "$accept", "Start",
   "GoalWithOptionalBackSlash", "Goal", "String", "OuterText", "Variable",
   "GoalWithOptionalBackSlash", "Goal", "String", "OuterText", "Variable",
   "EnvVarName", "MultipleIds", "ID", YY_NULLPTR
   "EnvVarName", "MultipleIds", "ID", YY_NULLPTR
@@ -633,22 +629,22 @@ static const yytype_uint8 yyr2[] =
 
 
 #define YYRECOVERING()  (!!yyerrstatus)
 #define YYRECOVERING()  (!!yyerrstatus)
 
 
-#define YYBACKUP(Token, Value)                                  \
-do                                                              \
-  if (yychar == YYEMPTY)                                        \
-    {                                                           \
-      yychar = (Token);                                         \
-      yylval = (Value);                                         \
-      YYPOPSTACK (yylen);                                       \
-      yystate = *yyssp;                                         \
-      goto yybackup;                                            \
-    }                                                           \
-  else                                                          \
-    {                                                           \
-      yyerror (yyscanner, YY_("syntax error: cannot back up")); \
-      YYERROR;                                                  \
-    }                                                           \
-while (0)
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (yyscanner, YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
 
 
 /* Error token number */
 /* Error token number */
 #define YYTERROR        1
 #define YYTERROR        1
@@ -688,38 +684,38 @@ do {                                                                      \
 } while (0)
 } while (0)
 
 
 
 
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT.  |
-`----------------------------------------*/
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
 
 
 static void
 static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
+yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
 {
 {
-  FILE *yyo = yyoutput;
-  YYUSE (yyo);
+  FILE *yyoutput = yyo;
+  YYUSE (yyoutput);
   YYUSE (yyscanner);
   YYUSE (yyscanner);
   if (!yyvaluep)
   if (!yyvaluep)
     return;
     return;
 # ifdef YYPRINT
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
   if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
 # endif
 # endif
   YYUSE (yytype);
   YYUSE (yytype);
 }
 }
 
 
 
 
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
 
 
 static void
 static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
+yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
 {
 {
-  YYFPRINTF (yyoutput, "%s %s (",
+  YYFPRINTF (yyo, "%s %s (",
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
 
-  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yyscanner);
-  YYFPRINTF (yyoutput, ")");
+  yy_symbol_value_print (yyo, yytype, yyvaluep, yyscanner);
+  YYFPRINTF (yyo, ")");
 }
 }
 
 
 /*------------------------------------------------------------------.
 /*------------------------------------------------------------------.
@@ -753,7 +749,7 @@ do {                                                            \
 static void
 static void
 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
 {
 {
-  unsigned long int yylno = yyrline[yyrule];
+  unsigned long yylno = yyrline[yyrule];
   int yynrhs = yyr2[yyrule];
   int yynrhs = yyr2[yyrule];
   int yyi;
   int yyi;
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
@@ -764,7 +760,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yysca
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       yy_symbol_print (stderr,
       yy_symbol_print (stderr,
                        yystos[yyssp[yyi + 1 - yynrhs]],
                        yystos[yyssp[yyi + 1 - yynrhs]],
-                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                       &yyvsp[(yyi + 1) - (yynrhs)]
                                               , yyscanner);
                                               , yyscanner);
       YYFPRINTF (stderr, "\n");
       YYFPRINTF (stderr, "\n");
     }
     }
@@ -868,7 +864,10 @@ yytnamerr (char *yyres, const char *yystr)
           case '\\':
           case '\\':
             if (*++yyp != '\\')
             if (*++yyp != '\\')
               goto do_not_strip_quotes;
               goto do_not_strip_quotes;
-            /* Fall through.  */
+            else
+              goto append;
+
+          append:
           default:
           default:
             if (yyres)
             if (yyres)
               yyres[yyn] = *yyp;
               yyres[yyn] = *yyp;
@@ -886,7 +885,7 @@ yytnamerr (char *yyres, const char *yystr)
   if (! yyres)
   if (! yyres)
     return yystrlen (yystr);
     return yystrlen (yystr);
 
 
-  return yystpcpy (yyres, yystr) - yyres;
+  return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
 }
 }
 # endif
 # endif
 
 
@@ -964,10 +963,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yyarg[yycount++] = yytname[yyx];
                 yyarg[yycount++] = yytname[yyx];
                 {
                 {
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
-                  if (! (yysize <= yysize1
-                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+                    yysize = yysize1;
+                  else
                     return 2;
                     return 2;
-                  yysize = yysize1;
                 }
                 }
               }
               }
         }
         }
@@ -979,6 +978,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
       case N:                               \
       case N:                               \
         yyformat = S;                       \
         yyformat = S;                       \
       break
       break
+    default: /* Avoid compiler warnings. */
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -990,9 +990,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 
 
   {
   {
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
-    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+      yysize = yysize1;
+    else
       return 2;
       return 2;
-    yysize = yysize1;
   }
   }
 
 
   if (*yymsg_alloc < yysize)
   if (*yymsg_alloc < yysize)
@@ -1123,23 +1124,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
   yychar = YYEMPTY; /* Cause a token to be read.  */
   yychar = YYEMPTY; /* Cause a token to be read.  */
   goto yysetstate;
   goto yysetstate;
 
 
+
 /*------------------------------------------------------------.
 /*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
+| yynewstate -- push a new state, which is found in yystate.  |
 `------------------------------------------------------------*/
 `------------------------------------------------------------*/
- yynewstate:
+yynewstate:
   /* In all cases, when you get here, the value and location stacks
   /* In all cases, when you get here, the value and location stacks
      have just been pushed.  So pushing a state here evens the stacks.  */
      have just been pushed.  So pushing a state here evens the stacks.  */
   yyssp++;
   yyssp++;
 
 
- yysetstate:
-  *yyssp = yystate;
+
+/*--------------------------------------------------------------------.
+| yynewstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  *yyssp = (yytype_int16) yystate;
 
 
   if (yyss + yystacksize - 1 <= yyssp)
   if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    goto yyexhaustedlab;
+#else
     {
     {
       /* Get the current used size of the three stacks, in elements.  */
       /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
+      YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
 
 
-#ifdef yyoverflow
+# if defined yyoverflow
       {
       {
         /* Give user a chance to reallocate the stack.  Use copies of
         /* Give user a chance to reallocate the stack.  Use copies of
            these so that the &'s don't force the real ones into
            these so that the &'s don't force the real ones into
@@ -1155,14 +1164,10 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                     &yyss1, yysize * sizeof (*yyssp),
                     &yyss1, yysize * sizeof (*yyssp),
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yystacksize);
                     &yystacksize);
-
         yyss = yyss1;
         yyss = yyss1;
         yyvs = yyvs1;
         yyvs = yyvs1;
       }
       }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
       /* Extend the stack our own way.  */
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
       if (YYMAXDEPTH <= yystacksize)
         goto yyexhaustedlab;
         goto yyexhaustedlab;
@@ -1178,22 +1183,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
           goto yyexhaustedlab;
           goto yyexhaustedlab;
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-#  undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
         if (yyss1 != yyssa)
         if (yyss1 != yyssa)
           YYSTACK_FREE (yyss1);
           YYSTACK_FREE (yyss1);
       }
       }
 # endif
 # endif
-#endif /* no yyoverflow */
 
 
       yyssp = yyss + yysize - 1;
       yyssp = yyss + yysize - 1;
       yyvsp = yyvs + yysize - 1;
       yyvsp = yyvs + yysize - 1;
 
 
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                  (unsigned long int) yystacksize));
+                  (unsigned long) yystacksize));
 
 
       if (yyss + yystacksize - 1 <= yyssp)
       if (yyss + yystacksize - 1 <= yyssp)
         YYABORT;
         YYABORT;
     }
     }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
 
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
 
@@ -1202,11 +1207,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
 
   goto yybackup;
   goto yybackup;
 
 
+
 /*-----------.
 /*-----------.
 | yybackup.  |
 | yybackup.  |
 `-----------*/
 `-----------*/
 yybackup:
 yybackup:
-
   /* Do appropriate processing given the current state.  Read a
   /* Do appropriate processing given the current state.  Read a
      lookahead token if we need one and don't already have one.  */
      lookahead token if we need one and don't already have one.  */
 
 
@@ -1279,7 +1284,7 @@ yydefault:
 
 
 
 
 /*-----------------------------.
 /*-----------------------------.
-| yyreduce -- Do a reduction.  |
+| yyreduce -- do a reduction.  |
 `-----------------------------*/
 `-----------------------------*/
 yyreduce:
 yyreduce:
   /* yyn is the number of a rule to reduce with.  */
   /* yyn is the number of a rule to reduce with.  */
@@ -1300,192 +1305,192 @@ yyreduce:
   switch (yyn)
   switch (yyn)
     {
     {
         case 2:
         case 2:
-#line 99 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 99 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = 0;
     (yyval.str) = 0;
     yyGetParser->SetResult((yyvsp[0].str));
     yyGetParser->SetResult((yyvsp[0].str));
   }
   }
-#line 1309 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1314 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 3:
   case 3:
-#line 105 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 105 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1317 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1322 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 4:
   case 4:
-#line 108 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 108 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
   }
-#line 1325 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1330 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 5:
   case 5:
-#line 113 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 113 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = 0;
     (yyval.str) = 0;
   }
   }
-#line 1333 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1338 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 6:
   case 6:
-#line 116 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 116 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
   }
-#line 1341 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1346 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 7:
   case 7:
-#line 121 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 121 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1349 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1354 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 8:
   case 8:
-#line 124 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 124 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1357 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1362 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 9:
   case 9:
-#line 129 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 129 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1365 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1370 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 10:
   case 10:
-#line 132 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 132 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1373 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1378 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 11:
   case 11:
-#line 135 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 135 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1381 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1386 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 12:
   case 12:
-#line 138 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 138 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1389 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1394 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 13:
   case 13:
-#line 141 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 141 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1397 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1402 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 14:
   case 14:
-#line 144 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 144 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1405 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1410 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 15:
   case 15:
-#line 149 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 149 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
   }
   }
-#line 1413 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1418 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 16:
   case 16:
-#line 152 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 152 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
     (yyval.str) = yyGetParser->ExpandSpecialVariable((yyvsp[-2].str), (yyvsp[-1].str));
   }
   }
-#line 1421 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1426 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 17:
   case 17:
-#line 155 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 155 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = yyGetParser->ExpandVariable((yyvsp[-1].str));
     (yyval.str) = yyGetParser->ExpandVariable((yyvsp[-1].str));
   }
   }
-#line 1429 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1434 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 18:
   case 18:
-#line 158 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 158 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = yyGetParser->ExpandVariableForAt((yyvsp[0].str));
     (yyval.str) = yyGetParser->ExpandVariableForAt((yyvsp[0].str));
   }
   }
-#line 1437 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1442 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 19:
   case 19:
-#line 163 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 163 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1445 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1450 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 20:
   case 20:
-#line 166 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 166 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[-1].str);
     (yyval.str) = (yyvsp[-1].str);
   }
   }
-#line 1453 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1458 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 21:
   case 21:
-#line 171 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 171 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = 0;
     (yyval.str) = 0;
   }
   }
-#line 1461 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1466 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 22:
   case 22:
-#line 174 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 174 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
     (yyval.str) = yyGetParser->CombineUnions((yyvsp[-1].str), (yyvsp[0].str));
   }
   }
-#line 1469 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1474 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 23:
   case 23:
-#line 179 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 179 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1477 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1482 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 24:
   case 24:
-#line 182 "cmCommandArgumentParser.y" /* yacc.c:1646  */
+#line 182 "cmCommandArgumentParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.str) = (yyvsp[0].str);
     (yyval.str) = (yyvsp[0].str);
   }
   }
-#line 1485 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1490 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
 
 
-#line 1489 "cmCommandArgumentParser.cxx" /* yacc.c:1646  */
+#line 1494 "cmCommandArgumentParser.cxx" /* yacc.c:1652  */
       default: break;
       default: break;
     }
     }
   /* User semantic actions sometimes alter yychar, and that requires
   /* User semantic actions sometimes alter yychar, and that requires
@@ -1510,14 +1515,13 @@ yyreduce:
   /* Now 'shift' the result of the reduction.  Determine what state
   /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
      number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
-  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTOKENS];
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
 
 
   goto yynewstate;
   goto yynewstate;
 
 
@@ -1601,12 +1605,10 @@ yyerrlab:
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 `---------------------------------------------------*/
 `---------------------------------------------------*/
 yyerrorlab:
 yyerrorlab:
-
-  /* Pacify compilers like GCC when the user code never invokes
-     YYERROR and the label yyerrorlab therefore never appears in user
-     code.  */
-  if (/*CONSTCOND*/ 0)
-     goto yyerrorlab;
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
 
 
   /* Do not reclaim the symbols of the rule whose action triggered
   /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
      this YYERROR.  */
@@ -1669,6 +1671,7 @@ yyacceptlab:
   yyresult = 0;
   yyresult = 0;
   goto yyreturn;
   goto yyreturn;
 
 
+
 /*-----------------------------------.
 /*-----------------------------------.
 | yyabortlab -- YYABORT comes here.  |
 | yyabortlab -- YYABORT comes here.  |
 `-----------------------------------*/
 `-----------------------------------*/
@@ -1676,6 +1679,7 @@ yyabortlab:
   yyresult = 1;
   yyresult = 1;
   goto yyreturn;
   goto yyreturn;
 
 
+
 #if !defined yyoverflow || YYERROR_VERBOSE
 #if !defined yyoverflow || YYERROR_VERBOSE
 /*-------------------------------------------------.
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
 | yyexhaustedlab -- memory exhaustion comes here.  |
@@ -1686,6 +1690,10 @@ yyexhaustedlab:
   /* Fall through.  */
   /* Fall through.  */
 #endif
 #endif
 
 
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result.  |
+`-----------------------------------------------------*/
 yyreturn:
 yyreturn:
   if (yychar != YYEMPTY)
   if (yychar != YYEMPTY)
     {
     {
@@ -1715,7 +1723,7 @@ yyreturn:
 #endif
 #endif
   return yyresult;
   return yyresult;
 }
 }
-#line 187 "cmCommandArgumentParser.y" /* yacc.c:1906  */
+#line 187 "cmCommandArgumentParser.y" /* yacc.c:1918  */
 
 
 /* End of grammar */
 /* End of grammar */
 
 

+ 6 - 2
Source/LexerParser/cmCommandArgumentParserTokens.h

@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.3.2.  */
 
 
 /* Bison interface for Yacc-like parsers in C
 /* Bison interface for Yacc-like parsers in C
 
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
 
    This program is free software: you can redistribute it and/or modify
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@
    This special exception was added by the Free Software Foundation in
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
    version 2.2 of Bison.  */
 
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 #ifndef YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
 #ifndef YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
 # define YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
 # define YY_CMCOMMANDARGUMENT_YY_CMCOMMANDARGUMENTPARSERTOKENS_H_INCLUDED
 /* Debug traces.  */
 /* Debug traces.  */

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 186 - 181
Source/LexerParser/cmDependsJavaParser.cxx


+ 6 - 2
Source/LexerParser/cmDependsJavaParserTokens.h

@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.3.2.  */
 
 
 /* Bison interface for Yacc-like parsers in C
 /* Bison interface for Yacc-like parsers in C
 
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
 
    This program is free software: you can redistribute it and/or modify
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@
    This special exception was added by the Free Software Foundation in
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
    version 2.2 of Bison.  */
 
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 #ifndef YY_CMDEPENDSJAVA_YY_CMDEPENDSJAVAPARSERTOKENS_H_INCLUDED
 #ifndef YY_CMDEPENDSJAVA_YY_CMDEPENDSJAVAPARSERTOKENS_H_INCLUDED
 # define YY_CMDEPENDSJAVA_YY_CMDEPENDSJAVAPARSERTOKENS_H_INCLUDED
 # define YY_CMDEPENDSJAVA_YY_CMDEPENDSJAVAPARSERTOKENS_H_INCLUDED
 /* Debug traces.  */
 /* Debug traces.  */

+ 152 - 144
Source/LexerParser/cmExprParser.cxx

@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.3.2.  */
 
 
 /* Bison implementation for Yacc-like parsers in C
 /* Bison implementation for Yacc-like parsers in C
 
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
 
    This program is free software: you can redistribute it and/or modify
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    it under the terms of the GNU General Public License as published by
@@ -40,11 +41,14 @@
    define necessary library symbols; they are noted "INFRINGES ON
    define necessary library symbols; they are noted "INFRINGES ON
    USER NAME SPACE" below.  */
    USER NAME SPACE" below.  */
 
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 /* Identify Bison output.  */
 /* Identify Bison output.  */
 #define YYBISON 1
 #define YYBISON 1
 
 
 /* Bison version.  */
 /* Bison version.  */
-#define YYBISON_VERSION "3.0.4"
+#define YYBISON_VERSION "3.3.2"
 
 
 /* Skeleton name.  */
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
 #define YYSKELETON_NAME "yacc.c"
@@ -67,8 +71,8 @@
 #define yynerrs         cmExpr_yynerrs
 #define yynerrs         cmExpr_yynerrs
 
 
 
 
-/* Copy the first part of user declarations.  */
-#line 1 "cmExprParser.y" /* yacc.c:339  */
+/* First part of user prologue.  */
+#line 1 "cmExprParser.y" /* yacc.c:337  */
 
 
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
    file Copyright.txt or https://cmake.org/licensing for details.  */
@@ -112,13 +116,16 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
 # pragma GCC diagnostic ignored "-Wconversion"
 # pragma GCC diagnostic ignored "-Wconversion"
 #endif
 #endif
 
 
-#line 116 "cmExprParser.cxx" /* yacc.c:339  */
-
+#line 120 "cmExprParser.cxx" /* yacc.c:337  */
 # ifndef YY_NULLPTR
 # ifndef YY_NULLPTR
-#  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULLPTR nullptr
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
 #  else
 #  else
-#   define YY_NULLPTR 0
+#   define YY_NULLPTR ((void*)0)
 #  endif
 #  endif
 # endif
 # endif
 
 
@@ -187,9 +194,7 @@ int cmExpr_yyparse (yyscan_t yyscanner);
 
 
 #endif /* !YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED  */
 #endif /* !YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED  */
 
 
-/* Copy the second part of user declarations.  */
 
 
-#line 193 "cmExprParser.cxx" /* yacc.c:358  */
 
 
 #ifdef short
 #ifdef short
 # undef short
 # undef short
@@ -210,13 +215,13 @@ typedef signed char yytype_int8;
 #ifdef YYTYPE_UINT16
 #ifdef YYTYPE_UINT16
 typedef YYTYPE_UINT16 yytype_uint16;
 typedef YYTYPE_UINT16 yytype_uint16;
 #else
 #else
-typedef unsigned short int yytype_uint16;
+typedef unsigned short yytype_uint16;
 #endif
 #endif
 
 
 #ifdef YYTYPE_INT16
 #ifdef YYTYPE_INT16
 typedef YYTYPE_INT16 yytype_int16;
 typedef YYTYPE_INT16 yytype_int16;
 #else
 #else
-typedef short int yytype_int16;
+typedef short yytype_int16;
 #endif
 #endif
 
 
 #ifndef YYSIZE_T
 #ifndef YYSIZE_T
@@ -228,7 +233,7 @@ typedef short int yytype_int16;
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  define YYSIZE_T size_t
 #  define YYSIZE_T size_t
 # else
 # else
-#  define YYSIZE_T unsigned int
+#  define YYSIZE_T unsigned
 # endif
 # endif
 #endif
 #endif
 
 
@@ -264,15 +269,6 @@ typedef short int yytype_int16;
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 #endif
 #endif
 
 
-#if !defined _Noreturn \
-     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
 /* Suppress unused-variable warnings by "using" E.  */
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
 #if ! defined lint || defined __GNUC__
 # define YYUSE(E) ((void) (E))
 # define YYUSE(E) ((void) (E))
@@ -280,7 +276,7 @@ typedef short int yytype_int16;
 # define YYUSE(E) /* empty */
 # define YYUSE(E) /* empty */
 #endif
 #endif
 
 
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic push") \
@@ -442,16 +438,16 @@ union yyalloc
 /* YYNSTATES -- Number of states.  */
 /* YYNSTATES -- Number of states.  */
 #define YYNSTATES  39
 #define YYNSTATES  39
 
 
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
-   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   271
 #define YYMAXUTOK   271
 
 
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
 #define YYTRANSLATE(YYX)                                                \
 #define YYTRANSLATE(YYX)                                                \
-  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+  ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
 
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
-   as returned by yylex, without out-of-bounds checking.  */
+   as returned by yylex.  */
 static const yytype_uint8 yytranslate[] =
 static const yytype_uint8 yytranslate[] =
 {
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -618,22 +614,22 @@ static const yytype_uint8 yyr2[] =
 
 
 #define YYRECOVERING()  (!!yyerrstatus)
 #define YYRECOVERING()  (!!yyerrstatus)
 
 
-#define YYBACKUP(Token, Value)                                  \
-do                                                              \
-  if (yychar == YYEMPTY)                                        \
-    {                                                           \
-      yychar = (Token);                                         \
-      yylval = (Value);                                         \
-      YYPOPSTACK (yylen);                                       \
-      yystate = *yyssp;                                         \
-      goto yybackup;                                            \
-    }                                                           \
-  else                                                          \
-    {                                                           \
-      yyerror (yyscanner, YY_("syntax error: cannot back up")); \
-      YYERROR;                                                  \
-    }                                                           \
-while (0)
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (yyscanner, YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
 
 
 /* Error token number */
 /* Error token number */
 #define YYTERROR        1
 #define YYTERROR        1
@@ -673,38 +669,38 @@ do {                                                                      \
 } while (0)
 } while (0)
 
 
 
 
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT.  |
-`----------------------------------------*/
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
 
 
 static void
 static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
+yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
 {
 {
-  FILE *yyo = yyoutput;
-  YYUSE (yyo);
+  FILE *yyoutput = yyo;
+  YYUSE (yyoutput);
   YYUSE (yyscanner);
   YYUSE (yyscanner);
   if (!yyvaluep)
   if (!yyvaluep)
     return;
     return;
 # ifdef YYPRINT
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
   if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
 # endif
 # endif
   YYUSE (yytype);
   YYUSE (yytype);
 }
 }
 
 
 
 
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
 
 
 static void
 static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
+yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
 {
 {
-  YYFPRINTF (yyoutput, "%s %s (",
+  YYFPRINTF (yyo, "%s %s (",
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
 
-  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yyscanner);
-  YYFPRINTF (yyoutput, ")");
+  yy_symbol_value_print (yyo, yytype, yyvaluep, yyscanner);
+  YYFPRINTF (yyo, ")");
 }
 }
 
 
 /*------------------------------------------------------------------.
 /*------------------------------------------------------------------.
@@ -738,7 +734,7 @@ do {                                                            \
 static void
 static void
 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
 {
 {
-  unsigned long int yylno = yyrline[yyrule];
+  unsigned long yylno = yyrline[yyrule];
   int yynrhs = yyr2[yyrule];
   int yynrhs = yyr2[yyrule];
   int yyi;
   int yyi;
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
@@ -749,7 +745,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yysca
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       yy_symbol_print (stderr,
       yy_symbol_print (stderr,
                        yystos[yyssp[yyi + 1 - yynrhs]],
                        yystos[yyssp[yyi + 1 - yynrhs]],
-                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                       &yyvsp[(yyi + 1) - (yynrhs)]
                                               , yyscanner);
                                               , yyscanner);
       YYFPRINTF (stderr, "\n");
       YYFPRINTF (stderr, "\n");
     }
     }
@@ -853,7 +849,10 @@ yytnamerr (char *yyres, const char *yystr)
           case '\\':
           case '\\':
             if (*++yyp != '\\')
             if (*++yyp != '\\')
               goto do_not_strip_quotes;
               goto do_not_strip_quotes;
-            /* Fall through.  */
+            else
+              goto append;
+
+          append:
           default:
           default:
             if (yyres)
             if (yyres)
               yyres[yyn] = *yyp;
               yyres[yyn] = *yyp;
@@ -871,7 +870,7 @@ yytnamerr (char *yyres, const char *yystr)
   if (! yyres)
   if (! yyres)
     return yystrlen (yystr);
     return yystrlen (yystr);
 
 
-  return yystpcpy (yyres, yystr) - yyres;
+  return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
 }
 }
 # endif
 # endif
 
 
@@ -949,10 +948,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yyarg[yycount++] = yytname[yyx];
                 yyarg[yycount++] = yytname[yyx];
                 {
                 {
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
-                  if (! (yysize <= yysize1
-                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+                    yysize = yysize1;
+                  else
                     return 2;
                     return 2;
-                  yysize = yysize1;
                 }
                 }
               }
               }
         }
         }
@@ -964,6 +963,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
       case N:                               \
       case N:                               \
         yyformat = S;                       \
         yyformat = S;                       \
       break
       break
+    default: /* Avoid compiler warnings. */
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -975,9 +975,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 
 
   {
   {
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
-    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+      yysize = yysize1;
+    else
       return 2;
       return 2;
-    yysize = yysize1;
   }
   }
 
 
   if (*yymsg_alloc < yysize)
   if (*yymsg_alloc < yysize)
@@ -1108,23 +1109,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
   yychar = YYEMPTY; /* Cause a token to be read.  */
   yychar = YYEMPTY; /* Cause a token to be read.  */
   goto yysetstate;
   goto yysetstate;
 
 
+
 /*------------------------------------------------------------.
 /*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
+| yynewstate -- push a new state, which is found in yystate.  |
 `------------------------------------------------------------*/
 `------------------------------------------------------------*/
- yynewstate:
+yynewstate:
   /* In all cases, when you get here, the value and location stacks
   /* In all cases, when you get here, the value and location stacks
      have just been pushed.  So pushing a state here evens the stacks.  */
      have just been pushed.  So pushing a state here evens the stacks.  */
   yyssp++;
   yyssp++;
 
 
- yysetstate:
-  *yyssp = yystate;
+
+/*--------------------------------------------------------------------.
+| yynewstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  *yyssp = (yytype_int16) yystate;
 
 
   if (yyss + yystacksize - 1 <= yyssp)
   if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    goto yyexhaustedlab;
+#else
     {
     {
       /* Get the current used size of the three stacks, in elements.  */
       /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
+      YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
 
 
-#ifdef yyoverflow
+# if defined yyoverflow
       {
       {
         /* Give user a chance to reallocate the stack.  Use copies of
         /* Give user a chance to reallocate the stack.  Use copies of
            these so that the &'s don't force the real ones into
            these so that the &'s don't force the real ones into
@@ -1140,14 +1149,10 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                     &yyss1, yysize * sizeof (*yyssp),
                     &yyss1, yysize * sizeof (*yyssp),
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yystacksize);
                     &yystacksize);
-
         yyss = yyss1;
         yyss = yyss1;
         yyvs = yyvs1;
         yyvs = yyvs1;
       }
       }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
       /* Extend the stack our own way.  */
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
       if (YYMAXDEPTH <= yystacksize)
         goto yyexhaustedlab;
         goto yyexhaustedlab;
@@ -1163,22 +1168,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
           goto yyexhaustedlab;
           goto yyexhaustedlab;
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-#  undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
         if (yyss1 != yyssa)
         if (yyss1 != yyssa)
           YYSTACK_FREE (yyss1);
           YYSTACK_FREE (yyss1);
       }
       }
 # endif
 # endif
-#endif /* no yyoverflow */
 
 
       yyssp = yyss + yysize - 1;
       yyssp = yyss + yysize - 1;
       yyvsp = yyvs + yysize - 1;
       yyvsp = yyvs + yysize - 1;
 
 
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                  (unsigned long int) yystacksize));
+                  (unsigned long) yystacksize));
 
 
       if (yyss + yystacksize - 1 <= yyssp)
       if (yyss + yystacksize - 1 <= yyssp)
         YYABORT;
         YYABORT;
     }
     }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
 
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
 
@@ -1187,11 +1192,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
 
   goto yybackup;
   goto yybackup;
 
 
+
 /*-----------.
 /*-----------.
 | yybackup.  |
 | yybackup.  |
 `-----------*/
 `-----------*/
 yybackup:
 yybackup:
-
   /* Do appropriate processing given the current state.  Read a
   /* Do appropriate processing given the current state.  Read a
      lookahead token if we need one and don't already have one.  */
      lookahead token if we need one and don't already have one.  */
 
 
@@ -1264,7 +1269,7 @@ yydefault:
 
 
 
 
 /*-----------------------------.
 /*-----------------------------.
-| yyreduce -- Do a reduction.  |
+| yyreduce -- do a reduction.  |
 `-----------------------------*/
 `-----------------------------*/
 yyreduce:
 yyreduce:
   /* yyn is the number of a rule to reduce with.  */
   /* yyn is the number of a rule to reduce with.  */
@@ -1285,186 +1290,186 @@ yyreduce:
   switch (yyn)
   switch (yyn)
     {
     {
         case 2:
         case 2:
-#line 77 "cmExprParser.y" /* yacc.c:1646  */
+#line 77 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number));
     cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number));
   }
   }
-#line 1293 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1298 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 3:
   case 3:
-#line 82 "cmExprParser.y" /* yacc.c:1646  */
+#line 82 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1301 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1306 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 4:
   case 4:
-#line 85 "cmExprParser.y" /* yacc.c:1646  */
+#line 85 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number);
   }
   }
-#line 1309 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1314 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 5:
   case 5:
-#line 90 "cmExprParser.y" /* yacc.c:1646  */
+#line 90 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1317 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1322 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 6:
   case 6:
-#line 93 "cmExprParser.y" /* yacc.c:1646  */
+#line 93 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number);
   }
   }
-#line 1325 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1330 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 7:
   case 7:
-#line 98 "cmExprParser.y" /* yacc.c:1646  */
+#line 98 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1333 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1338 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 8:
   case 8:
-#line 101 "cmExprParser.y" /* yacc.c:1646  */
+#line 101 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number);
   }
   }
-#line 1341 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1346 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 9:
   case 9:
-#line 106 "cmExprParser.y" /* yacc.c:1646  */
+#line 106 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1349 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1354 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 10:
   case 10:
-#line 109 "cmExprParser.y" /* yacc.c:1646  */
+#line 109 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number);
   }
   }
-#line 1357 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1362 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 11:
   case 11:
-#line 112 "cmExprParser.y" /* yacc.c:1646  */
+#line 112 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number);
   }
   }
-#line 1365 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1370 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 12:
   case 12:
-#line 117 "cmExprParser.y" /* yacc.c:1646  */
+#line 117 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1373 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1378 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 13:
   case 13:
-#line 120 "cmExprParser.y" /* yacc.c:1646  */
+#line 120 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number);
   }
   }
-#line 1381 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1386 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 14:
   case 14:
-#line 123 "cmExprParser.y" /* yacc.c:1646  */
+#line 123 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number);
   }
   }
-#line 1389 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1394 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 15:
   case 15:
-#line 128 "cmExprParser.y" /* yacc.c:1646  */
+#line 128 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1397 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1402 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 16:
   case 16:
-#line 131 "cmExprParser.y" /* yacc.c:1646  */
+#line 131 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number);
   }
   }
-#line 1405 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1410 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 17:
   case 17:
-#line 134 "cmExprParser.y" /* yacc.c:1646  */
+#line 134 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     if (yyvsp[0].Number == 0) {
     if (yyvsp[0].Number == 0) {
       throw std::overflow_error("divide by zero");
       throw std::overflow_error("divide by zero");
     }
     }
     (yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number);
   }
   }
-#line 1416 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1421 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 18:
   case 18:
-#line 140 "cmExprParser.y" /* yacc.c:1646  */
+#line 140 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number);
   }
   }
-#line 1424 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1429 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 19:
   case 19:
-#line 145 "cmExprParser.y" /* yacc.c:1646  */
+#line 145 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1432 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1437 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 20:
   case 20:
-#line 148 "cmExprParser.y" /* yacc.c:1646  */
+#line 148 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = + (yyvsp[0].Number);
     (yyval.Number) = + (yyvsp[0].Number);
   }
   }
-#line 1440 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1445 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 21:
   case 21:
-#line 151 "cmExprParser.y" /* yacc.c:1646  */
+#line 151 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = - (yyvsp[0].Number);
     (yyval.Number) = - (yyvsp[0].Number);
   }
   }
-#line 1448 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1453 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 22:
   case 22:
-#line 156 "cmExprParser.y" /* yacc.c:1646  */
+#line 156 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[0].Number);
     (yyval.Number) = (yyvsp[0].Number);
   }
   }
-#line 1456 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1461 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 23:
   case 23:
-#line 159 "cmExprParser.y" /* yacc.c:1646  */
+#line 159 "cmExprParser.y" /* yacc.c:1652  */
     {
     {
     (yyval.Number) = (yyvsp[-1].Number);
     (yyval.Number) = (yyvsp[-1].Number);
   }
   }
-#line 1464 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1469 "cmExprParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
 
 
-#line 1468 "cmExprParser.cxx" /* yacc.c:1646  */
+#line 1473 "cmExprParser.cxx" /* yacc.c:1652  */
       default: break;
       default: break;
     }
     }
   /* User semantic actions sometimes alter yychar, and that requires
   /* User semantic actions sometimes alter yychar, and that requires
@@ -1489,14 +1494,13 @@ yyreduce:
   /* Now 'shift' the result of the reduction.  Determine what state
   /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
      number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
-  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTOKENS];
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
 
 
   goto yynewstate;
   goto yynewstate;
 
 
@@ -1580,12 +1584,10 @@ yyerrlab:
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 `---------------------------------------------------*/
 `---------------------------------------------------*/
 yyerrorlab:
 yyerrorlab:
-
-  /* Pacify compilers like GCC when the user code never invokes
-     YYERROR and the label yyerrorlab therefore never appears in user
-     code.  */
-  if (/*CONSTCOND*/ 0)
-     goto yyerrorlab;
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
 
 
   /* Do not reclaim the symbols of the rule whose action triggered
   /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
      this YYERROR.  */
@@ -1648,6 +1650,7 @@ yyacceptlab:
   yyresult = 0;
   yyresult = 0;
   goto yyreturn;
   goto yyreturn;
 
 
+
 /*-----------------------------------.
 /*-----------------------------------.
 | yyabortlab -- YYABORT comes here.  |
 | yyabortlab -- YYABORT comes here.  |
 `-----------------------------------*/
 `-----------------------------------*/
@@ -1655,6 +1658,7 @@ yyabortlab:
   yyresult = 1;
   yyresult = 1;
   goto yyreturn;
   goto yyreturn;
 
 
+
 #if !defined yyoverflow || YYERROR_VERBOSE
 #if !defined yyoverflow || YYERROR_VERBOSE
 /*-------------------------------------------------.
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
 | yyexhaustedlab -- memory exhaustion comes here.  |
@@ -1665,6 +1669,10 @@ yyexhaustedlab:
   /* Fall through.  */
   /* Fall through.  */
 #endif
 #endif
 
 
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result.  |
+`-----------------------------------------------------*/
 yyreturn:
 yyreturn:
   if (yychar != YYEMPTY)
   if (yychar != YYEMPTY)
     {
     {
@@ -1694,7 +1702,7 @@ yyreturn:
 #endif
 #endif
   return yyresult;
   return yyresult;
 }
 }
-#line 164 "cmExprParser.y" /* yacc.c:1906  */
+#line 164 "cmExprParser.y" /* yacc.c:1918  */
 
 
 /* End of grammar */
 /* End of grammar */
 
 

+ 6 - 2
Source/LexerParser/cmExprParserTokens.h

@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.3.2.  */
 
 
 /* Bison interface for Yacc-like parsers in C
 /* Bison interface for Yacc-like parsers in C
 
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
 
    This program is free software: you can redistribute it and/or modify
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@
    This special exception was added by the Free Software Foundation in
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
    version 2.2 of Bison.  */
 
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 #ifndef YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
 #ifndef YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
 # define YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
 # define YY_CMEXPR_YY_CMEXPRPARSERTOKENS_H_INCLUDED
 /* Debug traces.  */
 /* Debug traces.  */

+ 156 - 148
Source/LexerParser/cmFortranParser.cxx

@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.3.2.  */
 
 
 /* Bison implementation for Yacc-like parsers in C
 /* Bison implementation for Yacc-like parsers in C
 
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
 
    This program is free software: you can redistribute it and/or modify
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    it under the terms of the GNU General Public License as published by
@@ -40,11 +41,14 @@
    define necessary library symbols; they are noted "INFRINGES ON
    define necessary library symbols; they are noted "INFRINGES ON
    USER NAME SPACE" below.  */
    USER NAME SPACE" below.  */
 
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 /* Identify Bison output.  */
 /* Identify Bison output.  */
 #define YYBISON 1
 #define YYBISON 1
 
 
 /* Bison version.  */
 /* Bison version.  */
-#define YYBISON_VERSION "3.0.4"
+#define YYBISON_VERSION "3.3.2"
 
 
 /* Skeleton name.  */
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
 #define YYSKELETON_NAME "yacc.c"
@@ -67,8 +71,8 @@
 #define yynerrs         cmFortran_yynerrs
 #define yynerrs         cmFortran_yynerrs
 
 
 
 
-/* Copy the first part of user declarations.  */
-#line 1 "cmFortranParser.y" /* yacc.c:339  */
+/* First part of user prologue.  */
+#line 1 "cmFortranParser.y" /* yacc.c:337  */
 
 
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
    file Copyright.txt or https://cmake.org/licensing for details.  */
@@ -131,13 +135,16 @@ static void cmFortran_yyerror(yyscan_t yyscanner, const char* message)
 # pragma GCC diagnostic ignored "-Wconversion"
 # pragma GCC diagnostic ignored "-Wconversion"
 #endif
 #endif
 
 
-#line 135 "cmFortranParser.cxx" /* yacc.c:339  */
-
+#line 139 "cmFortranParser.cxx" /* yacc.c:337  */
 # ifndef YY_NULLPTR
 # ifndef YY_NULLPTR
-#  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULLPTR nullptr
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
 #  else
 #  else
-#   define YY_NULLPTR 0
+#   define YY_NULLPTR ((void*)0)
 #  endif
 #  endif
 # endif
 # endif
 
 
@@ -251,11 +258,11 @@ extern int cmFortran_yydebug;
 
 
 union YYSTYPE
 union YYSTYPE
 {
 {
-#line 73 "cmFortranParser.y" /* yacc.c:355  */
+#line 73 "cmFortranParser.y" /* yacc.c:352  */
 
 
   char* string;
   char* string;
 
 
-#line 259 "cmFortranParser.cxx" /* yacc.c:355  */
+#line 266 "cmFortranParser.cxx" /* yacc.c:352  */
 };
 };
 
 
 typedef union YYSTYPE YYSTYPE;
 typedef union YYSTYPE YYSTYPE;
@@ -269,9 +276,7 @@ int cmFortran_yyparse (yyscan_t yyscanner);
 
 
 #endif /* !YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED  */
 #endif /* !YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED  */
 
 
-/* Copy the second part of user declarations.  */
 
 
-#line 275 "cmFortranParser.cxx" /* yacc.c:358  */
 
 
 #ifdef short
 #ifdef short
 # undef short
 # undef short
@@ -292,13 +297,13 @@ typedef signed char yytype_int8;
 #ifdef YYTYPE_UINT16
 #ifdef YYTYPE_UINT16
 typedef YYTYPE_UINT16 yytype_uint16;
 typedef YYTYPE_UINT16 yytype_uint16;
 #else
 #else
-typedef unsigned short int yytype_uint16;
+typedef unsigned short yytype_uint16;
 #endif
 #endif
 
 
 #ifdef YYTYPE_INT16
 #ifdef YYTYPE_INT16
 typedef YYTYPE_INT16 yytype_int16;
 typedef YYTYPE_INT16 yytype_int16;
 #else
 #else
-typedef short int yytype_int16;
+typedef short yytype_int16;
 #endif
 #endif
 
 
 #ifndef YYSIZE_T
 #ifndef YYSIZE_T
@@ -310,7 +315,7 @@ typedef short int yytype_int16;
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  define YYSIZE_T size_t
 #  define YYSIZE_T size_t
 # else
 # else
-#  define YYSIZE_T unsigned int
+#  define YYSIZE_T unsigned
 # endif
 # endif
 #endif
 #endif
 
 
@@ -346,15 +351,6 @@ typedef short int yytype_int16;
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 #endif
 #endif
 
 
-#if !defined _Noreturn \
-     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
 /* Suppress unused-variable warnings by "using" E.  */
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
 #if ! defined lint || defined __GNUC__
 # define YYUSE(E) ((void) (E))
 # define YYUSE(E) ((void) (E))
@@ -362,7 +358,7 @@ typedef short int yytype_int16;
 # define YYUSE(E) /* empty */
 # define YYUSE(E) /* empty */
 #endif
 #endif
 
 
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
     _Pragma ("GCC diagnostic push") \
     _Pragma ("GCC diagnostic push") \
@@ -524,16 +520,16 @@ union yyalloc
 /* YYNSTATES -- Number of states.  */
 /* YYNSTATES -- Number of states.  */
 #define YYNSTATES  126
 #define YYNSTATES  126
 
 
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
-   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   295
 #define YYMAXUTOK   295
 
 
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, with out-of-bounds checking.  */
 #define YYTRANSLATE(YYX)                                                \
 #define YYTRANSLATE(YYX)                                                \
-  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+  ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
 
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
-   as returned by yylex, without out-of-bounds checking.  */
+   as returned by yylex.  */
 static const yytype_uint8 yytranslate[] =
 static const yytype_uint8 yytranslate[] =
 {
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -863,22 +859,22 @@ static const yytype_uint8 yyr2[] =
 
 
 #define YYRECOVERING()  (!!yyerrstatus)
 #define YYRECOVERING()  (!!yyerrstatus)
 
 
-#define YYBACKUP(Token, Value)                                  \
-do                                                              \
-  if (yychar == YYEMPTY)                                        \
-    {                                                           \
-      yychar = (Token);                                         \
-      yylval = (Value);                                         \
-      YYPOPSTACK (yylen);                                       \
-      yystate = *yyssp;                                         \
-      goto yybackup;                                            \
-    }                                                           \
-  else                                                          \
-    {                                                           \
-      yyerror (yyscanner, YY_("syntax error: cannot back up")); \
-      YYERROR;                                                  \
-    }                                                           \
-while (0)
+#define YYBACKUP(Token, Value)                                    \
+  do                                                              \
+    if (yychar == YYEMPTY)                                        \
+      {                                                           \
+        yychar = (Token);                                         \
+        yylval = (Value);                                         \
+        YYPOPSTACK (yylen);                                       \
+        yystate = *yyssp;                                         \
+        goto yybackup;                                            \
+      }                                                           \
+    else                                                          \
+      {                                                           \
+        yyerror (yyscanner, YY_("syntax error: cannot back up")); \
+        YYERROR;                                                  \
+      }                                                           \
+  while (0)
 
 
 /* Error token number */
 /* Error token number */
 #define YYTERROR        1
 #define YYTERROR        1
@@ -918,38 +914,38 @@ do {                                                                      \
 } while (0)
 } while (0)
 
 
 
 
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT.  |
-`----------------------------------------*/
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
 
 
 static void
 static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
+yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
 {
 {
-  FILE *yyo = yyoutput;
-  YYUSE (yyo);
+  FILE *yyoutput = yyo;
+  YYUSE (yyoutput);
   YYUSE (yyscanner);
   YYUSE (yyscanner);
   if (!yyvaluep)
   if (!yyvaluep)
     return;
     return;
 # ifdef YYPRINT
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
   if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
 # endif
 # endif
   YYUSE (yytype);
   YYUSE (yytype);
 }
 }
 
 
 
 
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
 
 
 static void
 static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
+yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, yyscan_t yyscanner)
 {
 {
-  YYFPRINTF (yyoutput, "%s %s (",
+  YYFPRINTF (yyo, "%s %s (",
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
 
-  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yyscanner);
-  YYFPRINTF (yyoutput, ")");
+  yy_symbol_value_print (yyo, yytype, yyvaluep, yyscanner);
+  YYFPRINTF (yyo, ")");
 }
 }
 
 
 /*------------------------------------------------------------------.
 /*------------------------------------------------------------------.
@@ -983,7 +979,7 @@ do {                                                            \
 static void
 static void
 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yyscanner)
 {
 {
-  unsigned long int yylno = yyrline[yyrule];
+  unsigned long yylno = yyrline[yyrule];
   int yynrhs = yyr2[yyrule];
   int yynrhs = yyr2[yyrule];
   int yyi;
   int yyi;
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
@@ -994,7 +990,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, yyscan_t yysca
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       yy_symbol_print (stderr,
       yy_symbol_print (stderr,
                        yystos[yyssp[yyi + 1 - yynrhs]],
                        yystos[yyssp[yyi + 1 - yynrhs]],
-                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                       &yyvsp[(yyi + 1) - (yynrhs)]
                                               , yyscanner);
                                               , yyscanner);
       YYFPRINTF (stderr, "\n");
       YYFPRINTF (stderr, "\n");
     }
     }
@@ -1098,7 +1094,10 @@ yytnamerr (char *yyres, const char *yystr)
           case '\\':
           case '\\':
             if (*++yyp != '\\')
             if (*++yyp != '\\')
               goto do_not_strip_quotes;
               goto do_not_strip_quotes;
-            /* Fall through.  */
+            else
+              goto append;
+
+          append:
           default:
           default:
             if (yyres)
             if (yyres)
               yyres[yyn] = *yyp;
               yyres[yyn] = *yyp;
@@ -1116,7 +1115,7 @@ yytnamerr (char *yyres, const char *yystr)
   if (! yyres)
   if (! yyres)
     return yystrlen (yystr);
     return yystrlen (yystr);
 
 
-  return yystpcpy (yyres, yystr) - yyres;
+  return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
 }
 }
 # endif
 # endif
 
 
@@ -1194,10 +1193,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yyarg[yycount++] = yytname[yyx];
                 yyarg[yycount++] = yytname[yyx];
                 {
                 {
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
-                  if (! (yysize <= yysize1
-                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+                    yysize = yysize1;
+                  else
                     return 2;
                     return 2;
-                  yysize = yysize1;
                 }
                 }
               }
               }
         }
         }
@@ -1209,6 +1208,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
       case N:                               \
       case N:                               \
         yyformat = S;                       \
         yyformat = S;                       \
       break
       break
+    default: /* Avoid compiler warnings. */
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -1220,9 +1220,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 
 
   {
   {
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
-    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+      yysize = yysize1;
+    else
       return 2;
       return 2;
-    yysize = yysize1;
   }
   }
 
 
   if (*yymsg_alloc < yysize)
   if (*yymsg_alloc < yysize)
@@ -1353,23 +1354,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
   yychar = YYEMPTY; /* Cause a token to be read.  */
   yychar = YYEMPTY; /* Cause a token to be read.  */
   goto yysetstate;
   goto yysetstate;
 
 
+
 /*------------------------------------------------------------.
 /*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate.  |
+| yynewstate -- push a new state, which is found in yystate.  |
 `------------------------------------------------------------*/
 `------------------------------------------------------------*/
- yynewstate:
+yynewstate:
   /* In all cases, when you get here, the value and location stacks
   /* In all cases, when you get here, the value and location stacks
      have just been pushed.  So pushing a state here evens the stacks.  */
      have just been pushed.  So pushing a state here evens the stacks.  */
   yyssp++;
   yyssp++;
 
 
- yysetstate:
-  *yyssp = yystate;
+
+/*--------------------------------------------------------------------.
+| yynewstate -- set current state (the top of the stack) to yystate.  |
+`--------------------------------------------------------------------*/
+yysetstate:
+  *yyssp = (yytype_int16) yystate;
 
 
   if (yyss + yystacksize - 1 <= yyssp)
   if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+    goto yyexhaustedlab;
+#else
     {
     {
       /* Get the current used size of the three stacks, in elements.  */
       /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
+      YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
 
 
-#ifdef yyoverflow
+# if defined yyoverflow
       {
       {
         /* Give user a chance to reallocate the stack.  Use copies of
         /* Give user a chance to reallocate the stack.  Use copies of
            these so that the &'s don't force the real ones into
            these so that the &'s don't force the real ones into
@@ -1385,14 +1394,10 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
                     &yyss1, yysize * sizeof (*yyssp),
                     &yyss1, yysize * sizeof (*yyssp),
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yystacksize);
                     &yystacksize);
-
         yyss = yyss1;
         yyss = yyss1;
         yyvs = yyvs1;
         yyvs = yyvs1;
       }
       }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
-      goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
       /* Extend the stack our own way.  */
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
       if (YYMAXDEPTH <= yystacksize)
         goto yyexhaustedlab;
         goto yyexhaustedlab;
@@ -1408,22 +1413,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
           goto yyexhaustedlab;
           goto yyexhaustedlab;
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyss_alloc, yyss);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-#  undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
         if (yyss1 != yyssa)
         if (yyss1 != yyssa)
           YYSTACK_FREE (yyss1);
           YYSTACK_FREE (yyss1);
       }
       }
 # endif
 # endif
-#endif /* no yyoverflow */
 
 
       yyssp = yyss + yysize - 1;
       yyssp = yyss + yysize - 1;
       yyvsp = yyvs + yysize - 1;
       yyvsp = yyvs + yysize - 1;
 
 
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-                  (unsigned long int) yystacksize));
+                  (unsigned long) yystacksize));
 
 
       if (yyss + yystacksize - 1 <= yyssp)
       if (yyss + yystacksize - 1 <= yyssp)
         YYABORT;
         YYABORT;
     }
     }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
 
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
 
@@ -1432,11 +1437,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
 
   goto yybackup;
   goto yybackup;
 
 
+
 /*-----------.
 /*-----------.
 | yybackup.  |
 | yybackup.  |
 `-----------*/
 `-----------*/
 yybackup:
 yybackup:
-
   /* Do appropriate processing given the current state.  Read a
   /* Do appropriate processing given the current state.  Read a
      lookahead token if we need one and don't already have one.  */
      lookahead token if we need one and don't already have one.  */
 
 
@@ -1509,7 +1514,7 @@ yydefault:
 
 
 
 
 /*-----------------------------.
 /*-----------------------------.
-| yyreduce -- Do a reduction.  |
+| yyreduce -- do a reduction.  |
 `-----------------------------*/
 `-----------------------------*/
 yyreduce:
 yyreduce:
   /* yyn is the number of a rule to reduce with.  */
   /* yyn is the number of a rule to reduce with.  */
@@ -1530,26 +1535,26 @@ yyreduce:
   switch (yyn)
   switch (yyn)
     {
     {
         case 4:
         case 4:
-#line 104 "cmFortranParser.y" /* yacc.c:1646  */
+#line 104 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_SetInInterface(parser, true);
     cmFortranParser_SetInInterface(parser, true);
   }
   }
-#line 1539 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1544 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 5:
   case 5:
-#line 108 "cmFortranParser.y" /* yacc.c:1646  */
+#line 108 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
     cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1549 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1554 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 6:
   case 6:
-#line 113 "cmFortranParser.y" /* yacc.c:1646  */
+#line 113 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     if (cmsysString_strcasecmp((yyvsp[-2].string), "function") != 0 &&
     if (cmsysString_strcasecmp((yyvsp[-2].string), "function") != 0 &&
@@ -1559,22 +1564,22 @@ yyreduce:
     }
     }
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1563 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1568 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 7:
   case 7:
-#line 122 "cmFortranParser.y" /* yacc.c:1646  */
+#line 122 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleSubmodule(parser, (yyvsp[-4].string), (yyvsp[-2].string));
     cmFortranParser_RuleSubmodule(parser, (yyvsp[-4].string), (yyvsp[-2].string));
     free((yyvsp[-4].string));
     free((yyvsp[-4].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1574 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1579 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 8:
   case 8:
-#line 128 "cmFortranParser.y" /* yacc.c:1646  */
+#line 128 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleSubmoduleNested(parser, (yyvsp[-6].string), (yyvsp[-4].string), (yyvsp[-2].string));
     cmFortranParser_RuleSubmoduleNested(parser, (yyvsp[-6].string), (yyvsp[-4].string), (yyvsp[-2].string));
@@ -1582,40 +1587,40 @@ yyreduce:
     free((yyvsp[-4].string));
     free((yyvsp[-4].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1586 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1591 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 9:
   case 9:
-#line 135 "cmFortranParser.y" /* yacc.c:1646  */
+#line 135 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_SetInInterface(parser, true);
     cmFortranParser_SetInInterface(parser, true);
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1596 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1601 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 10:
   case 10:
-#line 140 "cmFortranParser.y" /* yacc.c:1646  */
+#line 140 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_SetInInterface(parser, false);
     cmFortranParser_SetInInterface(parser, false);
   }
   }
-#line 1605 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1610 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 11:
   case 11:
-#line 144 "cmFortranParser.y" /* yacc.c:1646  */
+#line 144 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
     cmFortranParser_RuleUse(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1615 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1620 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 12:
   case 12:
-#line 149 "cmFortranParser.y" /* yacc.c:1646  */
+#line 149 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     if (cmsysString_strcasecmp((yyvsp[-4].string), "non_intrinsic") == 0) {
     if (cmsysString_strcasecmp((yyvsp[-4].string), "non_intrinsic") == 0) {
       cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
       cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
@@ -1624,139 +1629,139 @@ yyreduce:
     free((yyvsp[-4].string));
     free((yyvsp[-4].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1628 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1633 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 13:
   case 13:
-#line 157 "cmFortranParser.y" /* yacc.c:1646  */
+#line 157 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1638 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1643 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 14:
   case 14:
-#line 162 "cmFortranParser.y" /* yacc.c:1646  */
+#line 162 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleLineDirective(parser, (yyvsp[-2].string));
     cmFortranParser_RuleLineDirective(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1648 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1653 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 15:
   case 15:
-#line 167 "cmFortranParser.y" /* yacc.c:1646  */
+#line 167 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1658 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1663 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 16:
   case 16:
-#line 172 "cmFortranParser.y" /* yacc.c:1646  */
+#line 172 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     cmFortranParser_RuleInclude(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1668 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1673 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 17:
   case 17:
-#line 177 "cmFortranParser.y" /* yacc.c:1646  */
+#line 177 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleDefine(parser, (yyvsp[-2].string));
     cmFortranParser_RuleDefine(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1678 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1683 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 18:
   case 18:
-#line 182 "cmFortranParser.y" /* yacc.c:1646  */
+#line 182 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleUndef(parser, (yyvsp[-2].string));
     cmFortranParser_RuleUndef(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1688 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1693 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 19:
   case 19:
-#line 187 "cmFortranParser.y" /* yacc.c:1646  */
+#line 187 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleIfdef(parser, (yyvsp[-2].string));
     cmFortranParser_RuleIfdef(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1698 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1703 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 20:
   case 20:
-#line 192 "cmFortranParser.y" /* yacc.c:1646  */
+#line 192 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleIfndef(parser, (yyvsp[-2].string));
     cmFortranParser_RuleIfndef(parser, (yyvsp[-2].string));
     free((yyvsp[-2].string));
     free((yyvsp[-2].string));
   }
   }
-#line 1708 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1713 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 21:
   case 21:
-#line 197 "cmFortranParser.y" /* yacc.c:1646  */
+#line 197 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleIf(parser);
     cmFortranParser_RuleIf(parser);
   }
   }
-#line 1717 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1722 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 22:
   case 22:
-#line 201 "cmFortranParser.y" /* yacc.c:1646  */
+#line 201 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleElif(parser);
     cmFortranParser_RuleElif(parser);
   }
   }
-#line 1726 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1731 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 23:
   case 23:
-#line 205 "cmFortranParser.y" /* yacc.c:1646  */
+#line 205 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleElse(parser);
     cmFortranParser_RuleElse(parser);
   }
   }
-#line 1735 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1740 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 24:
   case 24:
-#line 209 "cmFortranParser.y" /* yacc.c:1646  */
+#line 209 "cmFortranParser.y" /* yacc.c:1652  */
     {
     {
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser* parser = cmFortran_yyget_extra(yyscanner);
     cmFortranParser_RuleEndif(parser);
     cmFortranParser_RuleEndif(parser);
   }
   }
-#line 1744 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1749 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 48:
   case 48:
-#line 231 "cmFortranParser.y" /* yacc.c:1646  */
+#line 231 "cmFortranParser.y" /* yacc.c:1652  */
     { free ((yyvsp[0].string)); }
     { free ((yyvsp[0].string)); }
-#line 1750 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1755 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
   case 55:
   case 55:
-#line 238 "cmFortranParser.y" /* yacc.c:1646  */
+#line 238 "cmFortranParser.y" /* yacc.c:1652  */
     { free ((yyvsp[0].string)); }
     { free ((yyvsp[0].string)); }
-#line 1756 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1761 "cmFortranParser.cxx" /* yacc.c:1652  */
     break;
     break;
 
 
 
 
-#line 1760 "cmFortranParser.cxx" /* yacc.c:1646  */
+#line 1765 "cmFortranParser.cxx" /* yacc.c:1652  */
       default: break;
       default: break;
     }
     }
   /* User semantic actions sometimes alter yychar, and that requires
   /* User semantic actions sometimes alter yychar, and that requires
@@ -1781,14 +1786,13 @@ yyreduce:
   /* Now 'shift' the result of the reduction.  Determine what state
   /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
      number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
-  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTOKENS];
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
 
 
   goto yynewstate;
   goto yynewstate;
 
 
@@ -1872,12 +1876,10 @@ yyerrlab:
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 | yyerrorlab -- error raised explicitly by YYERROR.  |
 `---------------------------------------------------*/
 `---------------------------------------------------*/
 yyerrorlab:
 yyerrorlab:
-
-  /* Pacify compilers like GCC when the user code never invokes
-     YYERROR and the label yyerrorlab therefore never appears in user
-     code.  */
-  if (/*CONSTCOND*/ 0)
-     goto yyerrorlab;
+  /* Pacify compilers when the user code never invokes YYERROR and the
+     label yyerrorlab therefore never appears in user code.  */
+  if (0)
+    YYERROR;
 
 
   /* Do not reclaim the symbols of the rule whose action triggered
   /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
      this YYERROR.  */
@@ -1940,6 +1942,7 @@ yyacceptlab:
   yyresult = 0;
   yyresult = 0;
   goto yyreturn;
   goto yyreturn;
 
 
+
 /*-----------------------------------.
 /*-----------------------------------.
 | yyabortlab -- YYABORT comes here.  |
 | yyabortlab -- YYABORT comes here.  |
 `-----------------------------------*/
 `-----------------------------------*/
@@ -1947,6 +1950,7 @@ yyabortlab:
   yyresult = 1;
   yyresult = 1;
   goto yyreturn;
   goto yyreturn;
 
 
+
 #if !defined yyoverflow || YYERROR_VERBOSE
 #if !defined yyoverflow || YYERROR_VERBOSE
 /*-------------------------------------------------.
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
 | yyexhaustedlab -- memory exhaustion comes here.  |
@@ -1957,6 +1961,10 @@ yyexhaustedlab:
   /* Fall through.  */
   /* Fall through.  */
 #endif
 #endif
 
 
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result.  |
+`-----------------------------------------------------*/
 yyreturn:
 yyreturn:
   if (yychar != YYEMPTY)
   if (yychar != YYEMPTY)
     {
     {
@@ -1986,6 +1994,6 @@ yyreturn:
 #endif
 #endif
   return yyresult;
   return yyresult;
 }
 }
-#line 249 "cmFortranParser.y" /* yacc.c:1906  */
+#line 249 "cmFortranParser.y" /* yacc.c:1918  */
 
 
 /* End of grammar */
 /* End of grammar */

+ 8 - 4
Source/LexerParser/cmFortranParserTokens.h

@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.3.2.  */
 
 
 /* Bison interface for Yacc-like parsers in C
 /* Bison interface for Yacc-like parsers in C
 
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+   Inc.
 
 
    This program is free software: you can redistribute it and/or modify
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@
    This special exception was added by the Free Software Foundation in
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
    version 2.2 of Bison.  */
 
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 #ifndef YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
 #ifndef YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
 # define YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
 # define YY_CMFORTRAN_YY_CMFORTRANPARSERTOKENS_H_INCLUDED
 /* Debug traces.  */
 /* Debug traces.  */
@@ -130,11 +134,11 @@ extern int cmFortran_yydebug;
 
 
 union YYSTYPE
 union YYSTYPE
 {
 {
-#line 73 "cmFortranParser.y" /* yacc.c:1909  */
+#line 73 "cmFortranParser.y" /* yacc.c:1921  */
 
 
   char* string;
   char* string;
 
 
-#line 138 "cmFortranParserTokens.h" /* yacc.c:1909  */
+#line 142 "cmFortranParserTokens.h" /* yacc.c:1921  */
 };
 };
 
 
 typedef union YYSTYPE YYSTYPE;
 typedef union YYSTYPE YYSTYPE;

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott