logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: d9b9650fa551a3823660ee3f3959edc988306a31
parent 95fa0bbc056a7e48c8f9702b650d8274afe43c37
Author: Michael Forney <mforney@mforney.org>
Date:   Thu, 18 Nov 2021 22:52:19 -0800

libxkbcommon: Update to 1.3.1

Diffstat:

Mpkg/libxkbcommon/patch/0001-Track-generated-xkbcomp-parser.patch623+++++++++++++++++++++++++++++++++++++++----------------------------------------
Mpkg/libxkbcommon/ver2+-
2 files changed, 309 insertions(+), 316 deletions(-)

diff --git a/pkg/libxkbcommon/patch/0001-Track-generated-xkbcomp-parser.patch b/pkg/libxkbcommon/patch/0001-Track-generated-xkbcomp-parser.patch @@ -1,36 +1,29 @@ -From 07b3e7ec9c1f06ee2c7ccb146ca995f68893a30d Mon Sep 17 00:00:00 2001 +From 9c7c0b8c9b850c15b519be769f81f7a53e6299d7 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sat, 26 Oct 2019 02:05:31 -0700 Subject: [PATCH] Track generated xkbcomp parser +Generated with + + bison -o parser.c -H -p _xkbcommon_ parser.y --- - src/xkbcomp/.gitignore | 2 - - src/xkbcomp/parser.c | 3260 ++++++++++++++++++++++++++++++++++++++++ - src/xkbcomp/parser.h | 169 +++ - 3 files changed, 3429 insertions(+), 2 deletions(-) - delete mode 100644 src/xkbcomp/.gitignore + src/xkbcomp/parser.c | 3258 ++++++++++++++++++++++++++++++++++++++++++ + src/xkbcomp/parser.h | 171 +++ + 2 files changed, 3429 insertions(+) create mode 100644 src/xkbcomp/parser.c create mode 100644 src/xkbcomp/parser.h -diff --git a/src/xkbcomp/.gitignore b/src/xkbcomp/.gitignore -deleted file mode 100644 -index d7814e4..0000000 ---- a/src/xkbcomp/.gitignore -+++ /dev/null -@@ -1,2 +0,0 @@ --parser.c --parser.h diff --git a/src/xkbcomp/parser.c b/src/xkbcomp/parser.c new file mode 100644 -index 0000000..e5ce45b +index 0000000..e9d5a8f --- /dev/null +++ b/src/xkbcomp/parser.c -@@ -0,0 +1,3260 @@ -+/* A Bison parser, made by GNU Bison 3.7.4. */ +@@ -0,0 +1,3258 @@ ++/* A Bison parser, made by GNU Bison 3.8.2. */ + +/* Bison implementation for Yacc-like parsers in C + -+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, ++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify @@ -44,7 +37,7 @@ index 0000000..e5ce45b + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License -+ along with this program. If not, see <http://www.gnu.org/licenses/>. */ ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work @@ -74,10 +67,10 @@ index 0000000..e5ce45b + USER NAME SPACE" below. */ + +/* Identify Bison output, and Bison version. */ -+#define YYBISON 30704 ++#define YYBISON 30802 + +/* Bison version string. */ -+#define YYBISON_VERSION "3.7.4" ++#define YYBISON_VERSION "3.8.2" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" @@ -362,6 +355,18 @@ index 0000000..e5ce45b +typedef short yytype_int16; +#endif + ++/* Work around bug in HP-UX 11.23, which defines these macros ++ incorrectly for preprocessor constants. This workaround can likely ++ be removed in 2023, as HPE has promised support for HP-UX 11.23 ++ (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of ++ <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ ++#ifdef __hpux ++# undef UINT_LEAST8_MAX ++# undef UINT_LEAST16_MAX ++# define UINT_LEAST8_MAX 255 ++# define UINT_LEAST16_MAX 65535 ++#endif ++ +#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST8_TYPE__ yytype_uint8; +#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ @@ -459,17 +464,23 @@ index 0000000..e5ce45b + +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ -+# define YYUSE(E) ((void) (E)) ++# define YY_USE(E) ((void) (E)) +#else -+# define YYUSE(E) /* empty */ ++# define YY_USE(E) /* empty */ +#endif + -+#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ -+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ ++#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ ++# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ ++ _Pragma ("GCC diagnostic push") \ ++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") ++# else ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") ++# endif +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") +#else @@ -683,7 +694,7 @@ index 0000000..e5ce45b +}; + +#if YYDEBUG -+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ ++/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_int16 yyrline[] = +{ + 0, 254, 254, 256, 258, 262, 268, 269, 270, 273, @@ -755,21 +766,6 @@ index 0000000..e5ce45b +} +#endif + -+#ifdef YYPRINT -+/* YYTOKNUM[NUM] -- (External) token number corresponding to the -+ (internal) symbol number NUM (which must be that of a token). */ -+static const yytype_int16 yytoknum[] = -+{ -+ 0, 256, 257, 255, 1, 2, 3, 4, 5, 6, -+ 7, 8, 10, 11, 12, 13, 14, 20, 21, 22, -+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -+ 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, -+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, -+ 54, 55, 60, 61, 62, 63, 64, 70, 71, 72, -+ 73, 74, 75, 76, 77 -+}; -+#endif -+ +#define YYPACT_NINF (-182) + +#define yypact_value_is_default(Yyn) \ @@ -780,8 +776,8 @@ index 0000000..e5ce45b +#define yytable_value_is_error(Yyn) \ + 0 + -+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing -+ STATE-NUM. */ ++/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing ++ STATE-NUM. */ +static const yytype_int16 yypact[] = +{ + 176, -182, -182, -182, -182, -182, -182, -182, -182, -182, @@ -820,9 +816,9 @@ index 0000000..e5ce45b + -182, -182, -182, -182 +}; + -+ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. -+ Performed when YYTABLE does not specify something else to do. Zero -+ means the default is an error. */ ++/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. ++ Performed when YYTABLE does not specify something else to do. Zero ++ means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 18, 4, 21, 22, 23, 24, 25, 26, 27, 28, @@ -861,7 +857,7 @@ index 0000000..e5ce45b + 97, 95, 90, 92 +}; + -+ /* YYPGOTO[NTERM-NUM]. */ ++/* YYPGOTO[NTERM-NUM]. */ +static const yytype_int16 yypgoto[] = +{ + -182, -182, -182, -182, -182, 181, -182, 402, -182, 389, @@ -874,10 +870,10 @@ index 0000000..e5ce45b + 420, -182 +}; + -+ /* YYDEFGOTO[NTERM-NUM]. */ ++/* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = +{ -+ -1, 10, 11, 25, 34, 12, 26, 36, 14, 15, ++ 0, 10, 11, 25, 34, 12, 26, 36, 14, 15, + 37, 46, 167, 73, 74, 75, 92, 93, 76, 100, + 168, 77, 78, 173, 174, 175, 79, 80, 195, 82, + 83, 84, 196, 197, 293, 294, 319, 320, 198, 312, @@ -887,9 +883,9 @@ index 0000000..e5ce45b + 29, 30 +}; + -+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If -+ positive, shift that token. If negative, reduce the rule whose -+ number is the opposite. If YYTABLE_NINF, syntax error. */ ++/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If ++ positive, shift that token. If negative, reduce the rule whose ++ number is the opposite. If YYTABLE_NINF, syntax error. */ +static const yytype_int16 yytable[] = +{ + 90, 101, 180, 241, 94, 184, 16, 69, 242, 102, @@ -1046,8 +1042,8 @@ index 0000000..e5ce45b + -1, -1, 55, -1, -1, 58 +}; + -+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing -+ symbol of state STATE-NUM. */ ++/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of ++ state STATE-NUM. */ +static const yytype_uint8 yystos[] = +{ + 0, 0, 57, 58, 59, 60, 61, 62, 63, 64, @@ -1086,7 +1082,7 @@ index 0000000..e5ce45b + 105, 42, 49, 102 +}; + -+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ++/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ +static const yytype_uint8 yyr1[] = +{ + 0, 65, 66, 66, 66, 67, 68, 68, 68, 69, @@ -1110,7 +1106,7 @@ index 0000000..e5ce45b + 133, 134, 135, 135, 136 +}; + -+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ ++/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ +static const yytype_int8 yyr2[] = +{ + 0, 2, 1, 1, 1, 7, 1, 1, 1, 2, @@ -1143,6 +1139,7 @@ index 0000000..e5ce45b +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab ++#define YYNOMEM goto yyexhaustedlab + + +#define YYRECOVERING() (!!yyerrstatus) @@ -1183,10 +1180,7 @@ index 0000000..e5ce45b + YYFPRINTF Args; \ +} while (0) + -+/* This macro is provided for backward compatibility. */ -+# ifndef YY_LOCATION_PRINT -+# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -+# endif ++ + + +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ @@ -1210,16 +1204,12 @@ index 0000000..e5ce45b + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, struct parser_param *param) +{ + FILE *yyoutput = yyo; -+ YYUSE (yyoutput); -+ YYUSE (param); ++ YY_USE (yyoutput); ++ YY_USE (param); + if (!yyvaluep) + return; -+# ifdef YYPRINT -+ if (yykind < YYNTOKENS) -+ YYPRINT (yyo, yytoknum[yykind], *yyvaluep); -+# endif + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -+ YYUSE (yykind); ++ YY_USE (yykind); + YY_IGNORE_MAYBE_UNINITIALIZED_END +} + @@ -1333,8 +1323,8 @@ index 0000000..e5ce45b +yydestruct (const char *yymsg, + yysymbol_kind_t yykind, YYSTYPE *yyvaluep, struct parser_param *param) +{ -+ YYUSE (yyvaluep); -+ YYUSE (param); ++ YY_USE (yyvaluep); ++ YY_USE (param); + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); @@ -1345,247 +1335,247 @@ index 0000000..e5ce45b + case YYSYMBOL_STRING: /* STRING */ +#line 238 "parser.y" + { free(((*yyvaluep).str)); } -+#line 1321 "parser.c" ++#line 1318 "parser.c" + break; + + case YYSYMBOL_IDENT: /* IDENT */ +#line 238 "parser.y" + { free(((*yyvaluep).str)); } -+#line 1327 "parser.c" ++#line 1324 "parser.c" + break; + + case YYSYMBOL_XkbFile: /* XkbFile */ +#line 236 "parser.y" + { if (!param->rtrn) FreeXkbFile(((*yyvaluep).file)); } -+#line 1333 "parser.c" ++#line 1330 "parser.c" + break; + + case YYSYMBOL_XkbCompositeMap: /* XkbCompositeMap */ +#line 236 "parser.y" + { if (!param->rtrn) FreeXkbFile(((*yyvaluep).file)); } -+#line 1339 "parser.c" ++#line 1336 "parser.c" + break; + + case YYSYMBOL_XkbMapConfigList: /* XkbMapConfigList */ +#line 237 "parser.y" + { FreeXkbFile(((*yyvaluep).fileList).head); } -+#line 1345 "parser.c" ++#line 1342 "parser.c" + break; + + case YYSYMBOL_XkbMapConfig: /* XkbMapConfig */ +#line 236 "parser.y" + { if (!param->rtrn) FreeXkbFile(((*yyvaluep).file)); } -+#line 1351 "parser.c" ++#line 1348 "parser.c" + break; + + case YYSYMBOL_DeclList: /* DeclList */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).anyList).head); } -+#line 1357 "parser.c" ++#line 1354 "parser.c" + break; + + case YYSYMBOL_Decl: /* Decl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).any)); } -+#line 1363 "parser.c" ++#line 1360 "parser.c" + break; + + case YYSYMBOL_VarDecl: /* VarDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).var)); } -+#line 1369 "parser.c" ++#line 1366 "parser.c" + break; + + case YYSYMBOL_KeyNameDecl: /* KeyNameDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).keyCode)); } -+#line 1375 "parser.c" ++#line 1372 "parser.c" + break; + + case YYSYMBOL_KeyAliasDecl: /* KeyAliasDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).keyAlias)); } -+#line 1381 "parser.c" ++#line 1378 "parser.c" + break; + + case YYSYMBOL_VModDecl: /* VModDecl */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).vmodList).head); } -+#line 1387 "parser.c" ++#line 1384 "parser.c" + break; + + case YYSYMBOL_VModDefList: /* VModDefList */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).vmodList).head); } -+#line 1393 "parser.c" ++#line 1390 "parser.c" + break; + + case YYSYMBOL_VModDef: /* VModDef */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).vmod)); } -+#line 1399 "parser.c" ++#line 1396 "parser.c" + break; + + case YYSYMBOL_InterpretDecl: /* InterpretDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).interp)); } -+#line 1405 "parser.c" ++#line 1402 "parser.c" + break; + + case YYSYMBOL_InterpretMatch: /* InterpretMatch */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).interp)); } -+#line 1411 "parser.c" ++#line 1408 "parser.c" + break; + + case YYSYMBOL_VarDeclList: /* VarDeclList */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).varList).head); } -+#line 1417 "parser.c" ++#line 1414 "parser.c" + break; + + case YYSYMBOL_KeyTypeDecl: /* KeyTypeDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).keyType)); } -+#line 1423 "parser.c" ++#line 1420 "parser.c" + break; + + case YYSYMBOL_SymbolsDecl: /* SymbolsDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).syms)); } -+#line 1429 "parser.c" ++#line 1426 "parser.c" + break; + + case YYSYMBOL_SymbolsBody: /* SymbolsBody */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).varList).head); } -+#line 1435 "parser.c" ++#line 1432 "parser.c" + break; + + case YYSYMBOL_SymbolsVarDecl: /* SymbolsVarDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).var)); } -+#line 1441 "parser.c" ++#line 1438 "parser.c" + break; + + case YYSYMBOL_ArrayInit: /* ArrayInit */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1447 "parser.c" ++#line 1444 "parser.c" + break; + + case YYSYMBOL_GroupCompatDecl: /* GroupCompatDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).groupCompat)); } -+#line 1453 "parser.c" ++#line 1450 "parser.c" + break; + + case YYSYMBOL_ModMapDecl: /* ModMapDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).modMask)); } -+#line 1459 "parser.c" ++#line 1456 "parser.c" + break; + + case YYSYMBOL_LedMapDecl: /* LedMapDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).ledMap)); } -+#line 1465 "parser.c" ++#line 1462 "parser.c" + break; + + case YYSYMBOL_LedNameDecl: /* LedNameDecl */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).ledName)); } -+#line 1471 "parser.c" ++#line 1468 "parser.c" + break; + + case YYSYMBOL_CoordList: /* CoordList */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1477 "parser.c" ++#line 1474 "parser.c" + break; + + case YYSYMBOL_Coord: /* Coord */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1483 "parser.c" ++#line 1480 "parser.c" + break; + + case YYSYMBOL_OptExprList: /* OptExprList */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).exprList).head); } -+#line 1489 "parser.c" ++#line 1486 "parser.c" + break; + + case YYSYMBOL_ExprList: /* ExprList */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).exprList).head); } -+#line 1495 "parser.c" ++#line 1492 "parser.c" + break; + + case YYSYMBOL_Expr: /* Expr */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1501 "parser.c" ++#line 1498 "parser.c" + break; + + case YYSYMBOL_Term: /* Term */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1507 "parser.c" ++#line 1504 "parser.c" + break; + + case YYSYMBOL_ActionList: /* ActionList */ +#line 232 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).exprList).head); } -+#line 1513 "parser.c" ++#line 1510 "parser.c" + break; + + case YYSYMBOL_Action: /* Action */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1519 "parser.c" ++#line 1516 "parser.c" + break; + + case YYSYMBOL_Lhs: /* Lhs */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1525 "parser.c" ++#line 1522 "parser.c" + break; + + case YYSYMBOL_Terminal: /* Terminal */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1531 "parser.c" ++#line 1528 "parser.c" + break; + + case YYSYMBOL_OptKeySymList: /* OptKeySymList */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1537 "parser.c" ++#line 1534 "parser.c" + break; + + case YYSYMBOL_KeySymList: /* KeySymList */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1543 "parser.c" ++#line 1540 "parser.c" + break; + + case YYSYMBOL_KeySyms: /* KeySyms */ +#line 229 "parser.y" + { FreeStmt((ParseCommon *) ((*yyvaluep).expr)); } -+#line 1549 "parser.c" ++#line 1546 "parser.c" + break; + + case YYSYMBOL_OptMapName: /* OptMapName */ +#line 238 "parser.y" + { free(((*yyvaluep).str)); } -+#line 1555 "parser.c" ++#line 1552 "parser.c" + break; + + case YYSYMBOL_MapName: /* MapName */ +#line 238 "parser.y" + { free(((*yyvaluep).str)); } -+#line 1561 "parser.c" ++#line 1558 "parser.c" + break; + + default: @@ -1659,6 +1649,7 @@ index 0000000..e5ce45b + YYDPRINTF ((stderr, "Starting parse\n")); + + yychar = YYEMPTY; /* Cause a token to be read. */ ++ + goto yysetstate; + + @@ -1684,7 +1675,7 @@ index 0000000..e5ce45b + + if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE -+ goto yyexhaustedlab; ++ YYNOMEM; +#else + { + /* Get the current used size of the three stacks, in elements. */ @@ -1712,7 +1703,7 @@ index 0000000..e5ce45b +# else /* defined YYSTACK_RELOCATE */ + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) -+ goto yyexhaustedlab; ++ YYNOMEM; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; @@ -1723,7 +1714,7 @@ index 0000000..e5ce45b + YY_CAST (union yyalloc *, + YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); + if (! yyptr) -+ goto yyexhaustedlab; ++ YYNOMEM; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); +# undef YYSTACK_RELOCATE @@ -1745,6 +1736,7 @@ index 0000000..e5ce45b + } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + ++ + if (yystate == YYFINAL) + YYACCEPT; + @@ -1859,55 +1851,55 @@ index 0000000..e5ce45b + case 2: /* XkbFile: XkbCompositeMap */ +#line 255 "parser.y" + { (yyval.file) = param->rtrn = (yyvsp[0].file); param->more_maps = !!param->rtrn; } -+#line 1835 "parser.c" ++#line 1834 "parser.c" + break; + + case 3: /* XkbFile: XkbMapConfig */ +#line 257 "parser.y" + { (yyval.file) = param->rtrn = (yyvsp[0].file); param->more_maps = !!param->rtrn; YYACCEPT; } -+#line 1841 "parser.c" ++#line 1840 "parser.c" + break; + + case 4: /* XkbFile: END_OF_FILE */ +#line 259 "parser.y" + { (yyval.file) = param->rtrn = NULL; param->more_maps = false; } -+#line 1847 "parser.c" ++#line 1846 "parser.c" + break; + + case 5: /* XkbCompositeMap: OptFlags XkbCompositeType OptMapName OBRACE XkbMapConfigList CBRACE SEMI */ +#line 265 "parser.y" + { (yyval.file) = XkbFileCreate((yyvsp[-5].file_type), (yyvsp[-4].str), (ParseCommon *) (yyvsp[-2].fileList).head, (yyvsp[-6].mapFlags)); } -+#line 1853 "parser.c" ++#line 1852 "parser.c" + break; + + case 6: /* XkbCompositeType: XKB_KEYMAP */ +#line 268 "parser.y" + { (yyval.file_type) = FILE_TYPE_KEYMAP; } -+#line 1859 "parser.c" ++#line 1858 "parser.c" + break; + + case 7: /* XkbCompositeType: XKB_SEMANTICS */ +#line 269 "parser.y" + { (yyval.file_type) = FILE_TYPE_KEYMAP; } -+#line 1865 "parser.c" ++#line 1864 "parser.c" + break; + + case 8: /* XkbCompositeType: XKB_LAYOUT */ +#line 270 "parser.y" + { (yyval.file_type) = FILE_TYPE_KEYMAP; } -+#line 1871 "parser.c" ++#line 1870 "parser.c" + break; + + case 9: /* XkbMapConfigList: XkbMapConfigList XkbMapConfig */ +#line 274 "parser.y" + { (yyval.fileList).head = (yyvsp[-1].fileList).head; (yyval.fileList).last->common.next = &(yyvsp[0].file)->common; (yyval.fileList).last = (yyvsp[0].file); } -+#line 1877 "parser.c" ++#line 1876 "parser.c" + break; + + case 10: /* XkbMapConfigList: XkbMapConfig */ +#line 276 "parser.y" + { (yyval.fileList).head = (yyval.fileList).last = (yyvsp[0].file); } -+#line 1883 "parser.c" ++#line 1882 "parser.c" + break; + + case 11: /* XkbMapConfig: OptFlags FileType OptMapName OBRACE DeclList CBRACE SEMI */ @@ -1915,109 +1907,109 @@ index 0000000..e5ce45b + { + (yyval.file) = XkbFileCreate((yyvsp[-5].file_type), (yyvsp[-4].str), (yyvsp[-2].anyList).head, (yyvsp[-6].mapFlags)); + } -+#line 1891 "parser.c" ++#line 1890 "parser.c" + break; + + case 12: /* FileType: XKB_KEYCODES */ +#line 287 "parser.y" + { (yyval.file_type) = FILE_TYPE_KEYCODES; } -+#line 1897 "parser.c" ++#line 1896 "parser.c" + break; + + case 13: /* FileType: XKB_TYPES */ +#line 288 "parser.y" + { (yyval.file_type) = FILE_TYPE_TYPES; } -+#line 1903 "parser.c" ++#line 1902 "parser.c" + break; + + case 14: /* FileType: XKB_COMPATMAP */ +#line 289 "parser.y" + { (yyval.file_type) = FILE_TYPE_COMPAT; } -+#line 1909 "parser.c" ++#line 1908 "parser.c" + break; + + case 15: /* FileType: XKB_SYMBOLS */ +#line 290 "parser.y" + { (yyval.file_type) = FILE_TYPE_SYMBOLS; } -+#line 1915 "parser.c" ++#line 1914 "parser.c" + break; + + case 16: /* FileType: XKB_GEOMETRY */ +#line 291 "parser.y" + { (yyval.file_type) = FILE_TYPE_GEOMETRY; } -+#line 1921 "parser.c" ++#line 1920 "parser.c" + break; + + case 17: /* OptFlags: Flags */ +#line 294 "parser.y" + { (yyval.mapFlags) = (yyvsp[0].mapFlags); } -+#line 1927 "parser.c" ++#line 1926 "parser.c" + break; + + case 18: /* OptFlags: %empty */ +#line 295 "parser.y" + { (yyval.mapFlags) = 0; } -+#line 1933 "parser.c" ++#line 1932 "parser.c" + break; + + case 19: /* Flags: Flags Flag */ +#line 298 "parser.y" + { (yyval.mapFlags) = ((yyvsp[-1].mapFlags) | (yyvsp[0].mapFlags)); } -+#line 1939 "parser.c" ++#line 1938 "parser.c" + break; + + case 20: /* Flags: Flag */ +#line 299 "parser.y" + { (yyval.mapFlags) = (yyvsp[0].mapFlags); } -+#line 1945 "parser.c" ++#line 1944 "parser.c" + break; + + case 21: /* Flag: PARTIAL */ +#line 302 "parser.y" + { (yyval.mapFlags) = MAP_IS_PARTIAL; } -+#line 1951 "parser.c" ++#line 1950 "parser.c" + break; + + case 22: /* Flag: DEFAULT */ +#line 303 "parser.y" + { (yyval.mapFlags) = MAP_IS_DEFAULT; } -+#line 1957 "parser.c" ++#line 1956 "parser.c" + break; + + case 23: /* Flag: HIDDEN */ +#line 304 "parser.y" + { (yyval.mapFlags) = MAP_IS_HIDDEN; } -+#line 1963 "parser.c" ++#line 1962 "parser.c" + break; + + case 24: /* Flag: ALPHANUMERIC_KEYS */ +#line 305 "parser.y" + { (yyval.mapFlags) = MAP_HAS_ALPHANUMERIC; } -+#line 1969 "parser.c" ++#line 1968 "parser.c" + break; + + case 25: /* Flag: MODIFIER_KEYS */ +#line 306 "parser.y" + { (yyval.mapFlags) = MAP_HAS_MODIFIER; } -+#line 1975 "parser.c" ++#line 1974 "parser.c" + break; + + case 26: /* Flag: KEYPAD_KEYS */ +#line 307 "parser.y" + { (yyval.mapFlags) = MAP_HAS_KEYPAD; } -+#line 1981 "parser.c" ++#line 1980 "parser.c" + break; + + case 27: /* Flag: FUNCTION_KEYS */ +#line 308 "parser.y" + { (yyval.mapFlags) = MAP_HAS_FN; } -+#line 1987 "parser.c" ++#line 1986 "parser.c" + break; + + case 28: /* Flag: ALTERNATE_GROUP */ +#line 309 "parser.y" + { (yyval.mapFlags) = MAP_IS_ALTGR; } -+#line 1993 "parser.c" ++#line 1992 "parser.c" + break; + + case 29: /* DeclList: DeclList Decl */ @@ -2031,7 +2023,7 @@ index 0000000..e5ce45b + } + } + } -+#line 2007 "parser.c" ++#line 2006 "parser.c" + break; + + case 30: /* DeclList: DeclList OptMergeMode VModDecl */ @@ -2045,13 +2037,13 @@ index 0000000..e5ce45b + (yyval.anyList).head = &(yyvsp[0].vmodList).head->common; (yyval.anyList).last = &(yyvsp[0].vmodList).last->common; + } + } -+#line 2021 "parser.c" ++#line 2020 "parser.c" + break; + + case 31: /* DeclList: %empty */ +#line 337 "parser.y" + { (yyval.anyList).head = (yyval.anyList).last = NULL; } -+#line 2027 "parser.c" ++#line 2026 "parser.c" + break; + + case 32: /* Decl: OptMergeMode VarDecl */ @@ -2060,7 +2052,7 @@ index 0000000..e5ce45b + (yyvsp[0].var)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].var); + } -+#line 2036 "parser.c" ++#line 2035 "parser.c" + break; + + case 33: /* Decl: OptMergeMode InterpretDecl */ @@ -2069,7 +2061,7 @@ index 0000000..e5ce45b + (yyvsp[0].interp)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].interp); + } -+#line 2045 "parser.c" ++#line 2044 "parser.c" + break; + + case 34: /* Decl: OptMergeMode KeyNameDecl */ @@ -2078,7 +2070,7 @@ index 0000000..e5ce45b + (yyvsp[0].keyCode)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].keyCode); + } -+#line 2054 "parser.c" ++#line 2053 "parser.c" + break; + + case 35: /* Decl: OptMergeMode KeyAliasDecl */ @@ -2087,7 +2079,7 @@ index 0000000..e5ce45b + (yyvsp[0].keyAlias)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].keyAlias); + } -+#line 2063 "parser.c" ++#line 2062 "parser.c" + break; + + case 36: /* Decl: OptMergeMode KeyTypeDecl */ @@ -2096,7 +2088,7 @@ index 0000000..e5ce45b + (yyvsp[0].keyType)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].keyType); + } -+#line 2072 "parser.c" ++#line 2071 "parser.c" + break; + + case 37: /* Decl: OptMergeMode SymbolsDecl */ @@ -2105,7 +2097,7 @@ index 0000000..e5ce45b + (yyvsp[0].syms)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].syms); + } -+#line 2081 "parser.c" ++#line 2080 "parser.c" + break; + + case 38: /* Decl: OptMergeMode ModMapDecl */ @@ -2114,7 +2106,7 @@ index 0000000..e5ce45b + (yyvsp[0].modMask)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].modMask); + } -+#line 2090 "parser.c" ++#line 2089 "parser.c" + break; + + case 39: /* Decl: OptMergeMode GroupCompatDecl */ @@ -2123,7 +2115,7 @@ index 0000000..e5ce45b + (yyvsp[0].groupCompat)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].groupCompat); + } -+#line 2099 "parser.c" ++#line 2098 "parser.c" + break; + + case 40: /* Decl: OptMergeMode LedMapDecl */ @@ -2132,7 +2124,7 @@ index 0000000..e5ce45b + (yyvsp[0].ledMap)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].ledMap); + } -+#line 2108 "parser.c" ++#line 2107 "parser.c" + break; + + case 41: /* Decl: OptMergeMode LedNameDecl */ @@ -2141,25 +2133,25 @@ index 0000000..e5ce45b + (yyvsp[0].ledName)->merge = (yyvsp[-1].merge); + (yyval.any) = (ParseCommon *) (yyvsp[0].ledName); + } -+#line 2117 "parser.c" ++#line 2116 "parser.c" + break; + + case 42: /* Decl: OptMergeMode ShapeDecl */ +#line 391 "parser.y" + { (yyval.any) = NULL; } -+#line 2123 "parser.c" ++#line 2122 "parser.c" + break; + + case 43: /* Decl: OptMergeMode SectionDecl */ +#line 392 "parser.y" + { (yyval.any) = NULL; } -+#line 2129 "parser.c" ++#line 2128 "parser.c" + break; + + case 44: /* Decl: OptMergeMode DoodadDecl */ +#line 393 "parser.y" + { (yyval.any) = NULL; } -+#line 2135 "parser.c" ++#line 2134 "parser.c" + break; + + case 45: /* Decl: MergeMode STRING */ @@ -2168,523 +2160,523 @@ index 0000000..e5ce45b + (yyval.any) = (ParseCommon *) IncludeCreate(param->ctx, (yyvsp[0].str), (yyvsp[-1].merge)); + free((yyvsp[0].str)); + } -+#line 2144 "parser.c" ++#line 2143 "parser.c" + break; + + case 46: /* VarDecl: Lhs EQUALS Expr SEMI */ +#line 402 "parser.y" + { (yyval.var) = VarCreate((yyvsp[-3].expr), (yyvsp[-1].expr)); } -+#line 2150 "parser.c" ++#line 2149 "parser.c" + break; + + case 47: /* VarDecl: Ident SEMI */ +#line 404 "parser.y" + { (yyval.var) = BoolVarCreate((yyvsp[-1].atom), true); } -+#line 2156 "parser.c" ++#line 2155 "parser.c" + break; + + case 48: /* VarDecl: EXCLAM Ident SEMI */ +#line 406 "parser.y" + { (yyval.var) = BoolVarCreate((yyvsp[-1].atom), false); } -+#line 2162 "parser.c" ++#line 2161 "parser.c" + break; + + case 49: /* KeyNameDecl: KEYNAME EQUALS KeyCode SEMI */ +#line 410 "parser.y" + { (yyval.keyCode) = KeycodeCreate((yyvsp[-3].atom), (yyvsp[-1].num)); } -+#line 2168 "parser.c" ++#line 2167 "parser.c" + break; + + case 50: /* KeyAliasDecl: ALIAS KEYNAME EQUALS KEYNAME SEMI */ +#line 414 "parser.y" + { (yyval.keyAlias) = KeyAliasCreate((yyvsp[-3].atom), (yyvsp[-1].atom)); } -+#line 2174 "parser.c" ++#line 2173 "parser.c" + break; + + case 51: /* VModDecl: VIRTUAL_MODS VModDefList SEMI */ +#line 418 "parser.y" + { (yyval.vmodList) = (yyvsp[-1].vmodList); } -+#line 2180 "parser.c" ++#line 2179 "parser.c" + break; + + case 52: /* VModDefList: VModDefList COMMA VModDef */ +#line 422 "parser.y" + { (yyval.vmodList).head = (yyvsp[-2].vmodList).head; (yyval.vmodList).last->common.next = &(yyvsp[0].vmod)->common; (yyval.vmodList).last = (yyvsp[0].vmod); } -+#line 2186 "parser.c" ++#line 2185 "parser.c" + break; + + case 53: /* VModDefList: VModDef */ +#line 424 "parser.y" + { (yyval.vmodList).head = (yyval.vmodList).last = (yyvsp[0].vmod); } -+#line 2192 "parser.c" ++#line 2191 "parser.c" + break; + + case 54: /* VModDef: Ident */ +#line 428 "parser.y" + { (yyval.vmod) = VModCreate((yyvsp[0].atom), NULL); } -+#line 2198 "parser.c" ++#line 2197 "parser.c" + break; + + case 55: /* VModDef: Ident EQUALS Expr */ +#line 430 "parser.y" + { (yyval.vmod) = VModCreate((yyvsp[-2].atom), (yyvsp[0].expr)); } -+#line 2204 "parser.c" ++#line 2203 "parser.c" + break; + + case 56: /* InterpretDecl: INTERPRET InterpretMatch OBRACE VarDeclList CBRACE SEMI */ +#line 436 "parser.y" + { (yyvsp[-4].interp)->def = (yyvsp[-2].varList).head; (yyval.interp) = (yyvsp[-4].interp); } -+#line 2210 "parser.c" ++#line 2209 "parser.c" + break; + + case 57: /* InterpretMatch: KeySym PLUS Expr */ +#line 440 "parser.y" + { (yyval.interp) = InterpCreate((yyvsp[-2].keysym), (yyvsp[0].expr)); } -+#line 2216 "parser.c" ++#line 2215 "parser.c" + break; + + case 58: /* InterpretMatch: KeySym */ +#line 442 "parser.y" + { (yyval.interp) = InterpCreate((yyvsp[0].keysym), NULL); } -+#line 2222 "parser.c" ++#line 2221 "parser.c" + break; + + case 59: /* VarDeclList: VarDeclList VarDecl */ +#line 446 "parser.y" + { (yyval.varList).head = (yyvsp[-1].varList).head; (yyval.varList).last->common.next = &(yyvsp[0].var)->common; (yyval.varList).last = (yyvsp[0].var); } -+#line 2228 "parser.c" ++#line 2227 "parser.c" + break; + + case 60: /* VarDeclList: VarDecl */ +#line 448 "parser.y" + { (yyval.varList).head = (yyval.varList).last = (yyvsp[0].var); } -+#line 2234 "parser.c" ++#line 2233 "parser.c" + break; + + case 61: /* KeyTypeDecl: TYPE String OBRACE VarDeclList CBRACE SEMI */ +#line 454 "parser.y" + { (yyval.keyType) = KeyTypeCreate((yyvsp[-4].atom), (yyvsp[-2].varList).head); } -+#line 2240 "parser.c" ++#line 2239 "parser.c" + break; + + case 62: /* SymbolsDecl: KEY KEYNAME OBRACE SymbolsBody CBRACE SEMI */ +#line 460 "parser.y" + { (yyval.syms) = SymbolsCreate((yyvsp[-4].atom), (yyvsp[-2].varList).head); } -+#line 2246 "parser.c" ++#line 2245 "parser.c" + break; + + case 63: /* SymbolsBody: SymbolsBody COMMA SymbolsVarDecl */ +#line 464 "parser.y" + { (yyval.varList).head = (yyvsp[-2].varList).head; (yyval.varList).last->common.next = &(yyvsp[0].var)->common; (yyval.varList).last = (yyvsp[0].var); } -+#line 2252 "parser.c" ++#line 2251 "parser.c" + break; + + case 64: /* SymbolsBody: SymbolsVarDecl */ +#line 466 "parser.y" + { (yyval.varList).head = (yyval.varList).last = (yyvsp[0].var); } -+#line 2258 "parser.c" ++#line 2257 "parser.c" + break; + + case 65: /* SymbolsBody: %empty */ +#line 467 "parser.y" + { (yyval.varList).head = (yyval.varList).last = NULL; } -+#line 2264 "parser.c" ++#line 2263 "parser.c" + break; + + case 66: /* SymbolsVarDecl: Lhs EQUALS Expr */ +#line 470 "parser.y" + { (yyval.var) = VarCreate((yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2270 "parser.c" ++#line 2269 "parser.c" + break; + + case 67: /* SymbolsVarDecl: Lhs EQUALS ArrayInit */ +#line 471 "parser.y" + { (yyval.var) = VarCreate((yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2276 "parser.c" ++#line 2275 "parser.c" + break; + + case 68: /* SymbolsVarDecl: Ident */ +#line 472 "parser.y" + { (yyval.var) = BoolVarCreate((yyvsp[0].atom), true); } -+#line 2282 "parser.c" ++#line 2281 "parser.c" + break; + + case 69: /* SymbolsVarDecl: EXCLAM Ident */ +#line 473 "parser.y" + { (yyval.var) = BoolVarCreate((yyvsp[0].atom), false); } -+#line 2288 "parser.c" ++#line 2287 "parser.c" + break; + + case 70: /* SymbolsVarDecl: ArrayInit */ +#line 474 "parser.y" + { (yyval.var) = VarCreate(NULL, (yyvsp[0].expr)); } -+#line 2294 "parser.c" ++#line 2293 "parser.c" + break; + + case 71: /* ArrayInit: OBRACKET OptKeySymList CBRACKET */ +#line 478 "parser.y" + { (yyval.expr) = (yyvsp[-1].expr); } -+#line 2300 "parser.c" ++#line 2299 "parser.c" + break; + + case 72: /* ArrayInit: OBRACKET ActionList CBRACKET */ +#line 480 "parser.y" + { (yyval.expr) = ExprCreateActionList((yyvsp[-1].exprList).head); } -+#line 2306 "parser.c" ++#line 2305 "parser.c" + break; + + case 73: /* GroupCompatDecl: GROUP Integer EQUALS Expr SEMI */ +#line 484 "parser.y" + { (yyval.groupCompat) = GroupCompatCreate((yyvsp[-3].num), (yyvsp[-1].expr)); } -+#line 2312 "parser.c" ++#line 2311 "parser.c" + break; + + case 74: /* ModMapDecl: MODIFIER_MAP Ident OBRACE ExprList CBRACE SEMI */ +#line 488 "parser.y" + { (yyval.modMask) = ModMapCreate((yyvsp[-4].atom), (yyvsp[-2].exprList).head); } -+#line 2318 "parser.c" ++#line 2317 "parser.c" + break; + + case 75: /* LedMapDecl: INDICATOR String OBRACE VarDeclList CBRACE SEMI */ +#line 492 "parser.y" + { (yyval.ledMap) = LedMapCreate((yyvsp[-4].atom), (yyvsp[-2].varList).head); } -+#line 2324 "parser.c" ++#line 2323 "parser.c" + break; + + case 76: /* LedNameDecl: INDICATOR Integer EQUALS Expr SEMI */ +#line 496 "parser.y" + { (yyval.ledName) = LedNameCreate((yyvsp[-3].num), (yyvsp[-1].expr), false); } -+#line 2330 "parser.c" ++#line 2329 "parser.c" + break; + + case 77: /* LedNameDecl: VIRTUAL INDICATOR Integer EQUALS Expr SEMI */ +#line 498 "parser.y" + { (yyval.ledName) = LedNameCreate((yyvsp[-3].num), (yyvsp[-1].expr), true); } -+#line 2336 "parser.c" ++#line 2335 "parser.c" + break; + + case 78: /* ShapeDecl: SHAPE String OBRACE OutlineList CBRACE SEMI */ +#line 502 "parser.y" + { (yyval.geom) = NULL; } -+#line 2342 "parser.c" ++#line 2341 "parser.c" + break; + + case 79: /* ShapeDecl: SHAPE String OBRACE CoordList CBRACE SEMI */ +#line 504 "parser.y" + { (void) (yyvsp[-2].expr); (yyval.geom) = NULL; } -+#line 2348 "parser.c" ++#line 2347 "parser.c" + break; + + case 80: /* SectionDecl: SECTION String OBRACE SectionBody CBRACE SEMI */ +#line 508 "parser.y" + { (yyval.geom) = NULL; } -+#line 2354 "parser.c" ++#line 2353 "parser.c" + break; + + case 81: /* SectionBody: SectionBody SectionBodyItem */ +#line 511 "parser.y" + { (yyval.geom) = NULL;} -+#line 2360 "parser.c" ++#line 2359 "parser.c" + break; + + case 82: /* SectionBody: SectionBodyItem */ +#line 512 "parser.y" + { (yyval.geom) = NULL; } -+#line 2366 "parser.c" ++#line 2365 "parser.c" + break; + + case 83: /* SectionBodyItem: ROW OBRACE RowBody CBRACE SEMI */ +#line 516 "parser.y" + { (yyval.geom) = NULL; } -+#line 2372 "parser.c" ++#line 2371 "parser.c" + break; + + case 84: /* SectionBodyItem: VarDecl */ +#line 518 "parser.y" + { FreeStmt((ParseCommon *) (yyvsp[0].var)); (yyval.geom) = NULL; } -+#line 2378 "parser.c" ++#line 2377 "parser.c" + break; + + case 85: /* SectionBodyItem: DoodadDecl */ +#line 520 "parser.y" + { (yyval.geom) = NULL; } -+#line 2384 "parser.c" ++#line 2383 "parser.c" + break; + + case 86: /* SectionBodyItem: LedMapDecl */ +#line 522 "parser.y" + { FreeStmt((ParseCommon *) (yyvsp[0].ledMap)); (yyval.geom) = NULL; } -+#line 2390 "parser.c" ++#line 2389 "parser.c" + break; + + case 87: /* SectionBodyItem: OverlayDecl */ +#line 524 "parser.y" + { (yyval.geom) = NULL; } -+#line 2396 "parser.c" ++#line 2395 "parser.c" + break; + + case 88: /* RowBody: RowBody RowBodyItem */ +#line 527 "parser.y" + { (yyval.geom) = NULL;} -+#line 2402 "parser.c" ++#line 2401 "parser.c" + break; + + case 89: /* RowBody: RowBodyItem */ +#line 528 "parser.y" + { (yyval.geom) = NULL; } -+#line 2408 "parser.c" ++#line 2407 "parser.c" + break; + + case 90: /* RowBodyItem: KEYS OBRACE Keys CBRACE SEMI */ +#line 531 "parser.y" + { (yyval.geom) = NULL; } -+#line 2414 "parser.c" ++#line 2413 "parser.c" + break; + + case 91: /* RowBodyItem: VarDecl */ +#line 533 "parser.y" + { FreeStmt((ParseCommon *) (yyvsp[0].var)); (yyval.geom) = NULL; } -+#line 2420 "parser.c" ++#line 2419 "parser.c" + break; + + case 92: /* Keys: Keys COMMA Key */ +#line 536 "parser.y" + { (yyval.geom) = NULL; } -+#line 2426 "parser.c" ++#line 2425 "parser.c" + break; + + case 93: /* Keys: Key */ +#line 537 "parser.y" + { (yyval.geom) = NULL; } -+#line 2432 "parser.c" ++#line 2431 "parser.c" + break; + + case 94: /* Key: KEYNAME */ +#line 541 "parser.y" + { (yyval.geom) = NULL; } -+#line 2438 "parser.c" ++#line 2437 "parser.c" + break; + + case 95: /* Key: OBRACE ExprList CBRACE */ +#line 543 "parser.y" + { FreeStmt((ParseCommon *) (yyvsp[-1].exprList).head); (yyval.geom) = NULL; } -+#line 2444 "parser.c" ++#line 2443 "parser.c" + break; + + case 96: /* OverlayDecl: OVERLAY String OBRACE OverlayKeyList CBRACE SEMI */ +#line 547 "parser.y" + { (yyval.geom) = NULL; } -+#line 2450 "parser.c" ++#line 2449 "parser.c" + break; + + case 97: /* OverlayKeyList: OverlayKeyList COMMA OverlayKey */ +#line 550 "parser.y" + { (yyval.geom) = NULL; } -+#line 2456 "parser.c" ++#line 2455 "parser.c" + break; + + case 98: /* OverlayKeyList: OverlayKey */ +#line 551 "parser.y" + { (yyval.geom) = NULL; } -+#line 2462 "parser.c" ++#line 2461 "parser.c" + break; + + case 99: /* OverlayKey: KEYNAME EQUALS KEYNAME */ +#line 554 "parser.y" + { (yyval.geom) = NULL; } -+#line 2468 "parser.c" ++#line 2467 "parser.c" + break; + + case 100: /* OutlineList: OutlineList COMMA OutlineInList */ +#line 558 "parser.y" + { (yyval.geom) = NULL;} -+#line 2474 "parser.c" ++#line 2473 "parser.c" + break; + + case 101: /* OutlineList: OutlineInList */ +#line 560 "parser.y" + { (yyval.geom) = NULL; } -+#line 2480 "parser.c" ++#line 2479 "parser.c" + break; + + case 102: /* OutlineInList: OBRACE CoordList CBRACE */ +#line 564 "parser.y" + { (void) (yyvsp[-1].expr); (yyval.geom) = NULL; } -+#line 2486 "parser.c" ++#line 2485 "parser.c" + break; + + case 103: /* OutlineInList: Ident EQUALS OBRACE CoordList CBRACE */ +#line 566 "parser.y" + { (void) (yyvsp[-1].expr); (yyval.geom) = NULL; } -+#line 2492 "parser.c" ++#line 2491 "parser.c" + break; + + case 104: /* OutlineInList: Ident EQUALS Expr */ +#line 568 "parser.y" + { FreeStmt((ParseCommon *) (yyvsp[0].expr)); (yyval.geom) = NULL; } -+#line 2498 "parser.c" ++#line 2497 "parser.c" + break; + + case 105: /* CoordList: CoordList COMMA Coord */ +#line 572 "parser.y" + { (void) (yyvsp[-2].expr); (void) (yyvsp[0].expr); (yyval.expr) = NULL; } -+#line 2504 "parser.c" ++#line 2503 "parser.c" + break; + + case 106: /* CoordList: Coord */ +#line 574 "parser.y" + { (void) (yyvsp[0].expr); (yyval.expr) = NULL; } -+#line 2510 "parser.c" ++#line 2509 "parser.c" + break; + + case 107: /* Coord: OBRACKET SignedNumber COMMA SignedNumber CBRACKET */ +#line 578 "parser.y" + { (yyval.expr) = NULL; } -+#line 2516 "parser.c" ++#line 2515 "parser.c" + break; + + case 108: /* DoodadDecl: DoodadType String OBRACE VarDeclList CBRACE SEMI */ +#line 582 "parser.y" + { FreeStmt((ParseCommon *) (yyvsp[-2].varList).head); (yyval.geom) = NULL; } -+#line 2522 "parser.c" ++#line 2521 "parser.c" + break; + + case 109: /* DoodadType: TEXT */ +#line 585 "parser.y" + { (yyval.num) = 0; } -+#line 2528 "parser.c" ++#line 2527 "parser.c" + break; + + case 110: /* DoodadType: OUTLINE */ +#line 586 "parser.y" + { (yyval.num) = 0; } -+#line 2534 "parser.c" ++#line 2533 "parser.c" + break; + + case 111: /* DoodadType: SOLID */ +#line 587 "parser.y" + { (yyval.num) = 0; } -+#line 2540 "parser.c" ++#line 2539 "parser.c" + break; + + case 112: /* DoodadType: LOGO */ +#line 588 "parser.y" + { (yyval.num) = 0; } -+#line 2546 "parser.c" ++#line 2545 "parser.c" + break; + + case 113: /* FieldSpec: Ident */ +#line 591 "parser.y" + { (yyval.atom) = (yyvsp[0].atom); } -+#line 2552 "parser.c" ++#line 2551 "parser.c" + break; + + case 114: /* FieldSpec: Element */ +#line 592 "parser.y" + { (yyval.atom) = (yyvsp[0].atom); } -+#line 2558 "parser.c" ++#line 2557 "parser.c" + break; + + case 115: /* Element: ACTION_TOK */ +#line 596 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "action"); } -+#line 2564 "parser.c" ++#line 2563 "parser.c" + break; + + case 116: /* Element: INTERPRET */ +#line 598 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "interpret"); } -+#line 2570 "parser.c" ++#line 2569 "parser.c" + break; + + case 117: /* Element: TYPE */ +#line 600 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "type"); } -+#line 2576 "parser.c" ++#line 2575 "parser.c" + break; + + case 118: /* Element: KEY */ +#line 602 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "key"); } -+#line 2582 "parser.c" ++#line 2581 "parser.c" + break; + + case 119: /* Element: GROUP */ +#line 604 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "group"); } -+#line 2588 "parser.c" ++#line 2587 "parser.c" + break; + + case 120: /* Element: MODIFIER_MAP */ +#line 606 "parser.y" + {(yyval.atom) = xkb_atom_intern_literal(param->ctx, "modifier_map");} -+#line 2594 "parser.c" ++#line 2593 "parser.c" + break; + + case 121: /* Element: INDICATOR */ +#line 608 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "indicator"); } -+#line 2600 "parser.c" ++#line 2599 "parser.c" + break; + + case 122: /* Element: SHAPE */ +#line 610 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "shape"); } -+#line 2606 "parser.c" ++#line 2605 "parser.c" + break; + + case 123: /* Element: ROW */ +#line 612 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "row"); } -+#line 2612 "parser.c" ++#line 2611 "parser.c" + break; + + case 124: /* Element: SECTION */ +#line 614 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "section"); } -+#line 2618 "parser.c" ++#line 2617 "parser.c" + break; + + case 125: /* Element: TEXT */ +#line 616 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "text"); } -+#line 2624 "parser.c" ++#line 2623 "parser.c" + break; + + case 126: /* OptMergeMode: MergeMode */ +#line 619 "parser.y" + { (yyval.merge) = (yyvsp[0].merge); } -+#line 2630 "parser.c" ++#line 2629 "parser.c" + break; + + case 127: /* OptMergeMode: %empty */ +#line 620 "parser.y" + { (yyval.merge) = MERGE_DEFAULT; } -+#line 2636 "parser.c" ++#line 2635 "parser.c" + break; + + case 128: /* MergeMode: INCLUDE */ +#line 623 "parser.y" + { (yyval.merge) = MERGE_DEFAULT; } -+#line 2642 "parser.c" ++#line 2641 "parser.c" + break; + + case 129: /* MergeMode: AUGMENT */ +#line 624 "parser.y" + { (yyval.merge) = MERGE_AUGMENT; } -+#line 2648 "parser.c" ++#line 2647 "parser.c" + break; + + case 130: /* MergeMode: OVERRIDE */ +#line 625 "parser.y" + { (yyval.merge) = MERGE_OVERRIDE; } -+#line 2654 "parser.c" ++#line 2653 "parser.c" + break; + + case 131: /* MergeMode: REPLACE */ +#line 626 "parser.y" + { (yyval.merge) = MERGE_REPLACE; } -+#line 2660 "parser.c" ++#line 2659 "parser.c" + break; + + case 132: /* MergeMode: ALTERNATE */ @@ -2696,223 +2688,223 @@ index 0000000..e5ce45b + */ + (yyval.merge) = MERGE_DEFAULT; + } -+#line 2672 "parser.c" ++#line 2671 "parser.c" + break; + + case 133: /* OptExprList: ExprList */ +#line 637 "parser.y" + { (yyval.exprList) = (yyvsp[0].exprList); } -+#line 2678 "parser.c" ++#line 2677 "parser.c" + break; + + case 134: /* OptExprList: %empty */ +#line 638 "parser.y" + { (yyval.exprList).head = (yyval.exprList).last = NULL; } -+#line 2684 "parser.c" ++#line 2683 "parser.c" + break; + + case 135: /* ExprList: ExprList COMMA Expr */ +#line 642 "parser.y" + { (yyval.exprList).head = (yyvsp[-2].exprList).head; (yyval.exprList).last->common.next = &(yyvsp[0].expr)->common; (yyval.exprList).last = (yyvsp[0].expr); } -+#line 2690 "parser.c" ++#line 2689 "parser.c" + break; + + case 136: /* ExprList: Expr */ +#line 644 "parser.y" + { (yyval.exprList).head = (yyval.exprList).last = (yyvsp[0].expr); } -+#line 2696 "parser.c" ++#line 2695 "parser.c" + break; + + case 137: /* Expr: Expr DIVIDE Expr */ +#line 648 "parser.y" + { (yyval.expr) = ExprCreateBinary(EXPR_DIVIDE, (yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2702 "parser.c" ++#line 2701 "parser.c" + break; + + case 138: /* Expr: Expr PLUS Expr */ +#line 650 "parser.y" + { (yyval.expr) = ExprCreateBinary(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2708 "parser.c" ++#line 2707 "parser.c" + break; + + case 139: /* Expr: Expr MINUS Expr */ +#line 652 "parser.y" + { (yyval.expr) = ExprCreateBinary(EXPR_SUBTRACT, (yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2714 "parser.c" ++#line 2713 "parser.c" + break; + + case 140: /* Expr: Expr TIMES Expr */ +#line 654 "parser.y" + { (yyval.expr) = ExprCreateBinary(EXPR_MULTIPLY, (yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2720 "parser.c" ++#line 2719 "parser.c" + break; + + case 141: /* Expr: Lhs EQUALS Expr */ +#line 656 "parser.y" + { (yyval.expr) = ExprCreateBinary(EXPR_ASSIGN, (yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2726 "parser.c" ++#line 2725 "parser.c" + break; + + case 142: /* Expr: Term */ +#line 658 "parser.y" + { (yyval.expr) = (yyvsp[0].expr); } -+#line 2732 "parser.c" ++#line 2731 "parser.c" + break; + + case 143: /* Term: MINUS Term */ +#line 662 "parser.y" + { (yyval.expr) = ExprCreateUnary(EXPR_NEGATE, (yyvsp[0].expr)->expr.value_type, (yyvsp[0].expr)); } -+#line 2738 "parser.c" ++#line 2737 "parser.c" + break; + + case 144: /* Term: PLUS Term */ +#line 664 "parser.y" + { (yyval.expr) = ExprCreateUnary(EXPR_UNARY_PLUS, (yyvsp[0].expr)->expr.value_type, (yyvsp[0].expr)); } -+#line 2744 "parser.c" ++#line 2743 "parser.c" + break; + + case 145: /* Term: EXCLAM Term */ +#line 666 "parser.y" + { (yyval.expr) = ExprCreateUnary(EXPR_NOT, EXPR_TYPE_BOOLEAN, (yyvsp[0].expr)); } -+#line 2750 "parser.c" ++#line 2749 "parser.c" + break; + + case 146: /* Term: INVERT Term */ +#line 668 "parser.y" + { (yyval.expr) = ExprCreateUnary(EXPR_INVERT, (yyvsp[0].expr)->expr.value_type, (yyvsp[0].expr)); } -+#line 2756 "parser.c" ++#line 2755 "parser.c" + break; + + case 147: /* Term: Lhs */ +#line 670 "parser.y" + { (yyval.expr) = (yyvsp[0].expr); } -+#line 2762 "parser.c" ++#line 2761 "parser.c" + break; + + case 148: /* Term: FieldSpec OPAREN OptExprList CPAREN */ +#line 672 "parser.y" + { (yyval.expr) = ExprCreateAction((yyvsp[-3].atom), (yyvsp[-1].exprList).head); } -+#line 2768 "parser.c" ++#line 2767 "parser.c" + break; + + case 149: /* Term: Terminal */ +#line 674 "parser.y" + { (yyval.expr) = (yyvsp[0].expr); } -+#line 2774 "parser.c" ++#line 2773 "parser.c" + break; + + case 150: /* Term: OPAREN Expr CPAREN */ +#line 676 "parser.y" + { (yyval.expr) = (yyvsp[-1].expr); } -+#line 2780 "parser.c" ++#line 2779 "parser.c" + break; + + case 151: /* ActionList: ActionList COMMA Action */ +#line 680 "parser.y" + { (yyval.exprList).head = (yyvsp[-2].exprList).head; (yyval.exprList).last->common.next = &(yyvsp[0].expr)->common; (yyval.exprList).last = (yyvsp[0].expr); } -+#line 2786 "parser.c" ++#line 2785 "parser.c" + break; + + case 152: /* ActionList: Action */ +#line 682 "parser.y" + { (yyval.exprList).head = (yyval.exprList).last = (yyvsp[0].expr); } -+#line 2792 "parser.c" ++#line 2791 "parser.c" + break; + + case 153: /* Action: FieldSpec OPAREN OptExprList CPAREN */ +#line 686 "parser.y" + { (yyval.expr) = ExprCreateAction((yyvsp[-3].atom), (yyvsp[-1].exprList).head); } -+#line 2798 "parser.c" ++#line 2797 "parser.c" + break; + + case 154: /* Lhs: FieldSpec */ +#line 690 "parser.y" + { (yyval.expr) = ExprCreateIdent((yyvsp[0].atom)); } -+#line 2804 "parser.c" ++#line 2803 "parser.c" + break; + + case 155: /* Lhs: FieldSpec DOT FieldSpec */ +#line 692 "parser.y" + { (yyval.expr) = ExprCreateFieldRef((yyvsp[-2].atom), (yyvsp[0].atom)); } -+#line 2810 "parser.c" ++#line 2809 "parser.c" + break; + + case 156: /* Lhs: FieldSpec OBRACKET Expr CBRACKET */ +#line 694 "parser.y" + { (yyval.expr) = ExprCreateArrayRef(XKB_ATOM_NONE, (yyvsp[-3].atom), (yyvsp[-1].expr)); } -+#line 2816 "parser.c" ++#line 2815 "parser.c" + break; + + case 157: /* Lhs: FieldSpec DOT FieldSpec OBRACKET Expr CBRACKET */ +#line 696 "parser.y" + { (yyval.expr) = ExprCreateArrayRef((yyvsp[-5].atom), (yyvsp[-3].atom), (yyvsp[-1].expr)); } -+#line 2822 "parser.c" ++#line 2821 "parser.c" + break; + + case 158: /* Terminal: String */ +#line 700 "parser.y" + { (yyval.expr) = ExprCreateString((yyvsp[0].atom)); } -+#line 2828 "parser.c" ++#line 2827 "parser.c" + break; + + case 159: /* Terminal: Integer */ +#line 702 "parser.y" + { (yyval.expr) = ExprCreateInteger((yyvsp[0].num)); } -+#line 2834 "parser.c" ++#line 2833 "parser.c" + break; + + case 160: /* Terminal: Float */ +#line 704 "parser.y" + { (yyval.expr) = ExprCreateFloat(/* Discard $1 */); } -+#line 2840 "parser.c" ++#line 2839 "parser.c" + break; + + case 161: /* Terminal: KEYNAME */ +#line 706 "parser.y" + { (yyval.expr) = ExprCreateKeyName((yyvsp[0].atom)); } -+#line 2846 "parser.c" ++#line 2845 "parser.c" + break; + + case 162: /* OptKeySymList: KeySymList */ +#line 709 "parser.y" + { (yyval.expr) = (yyvsp[0].expr); } -+#line 2852 "parser.c" ++#line 2851 "parser.c" + break; + + case 163: /* OptKeySymList: %empty */ +#line 710 "parser.y" + { (yyval.expr) = NULL; } -+#line 2858 "parser.c" ++#line 2857 "parser.c" + break; + + case 164: /* KeySymList: KeySymList COMMA KeySym */ +#line 714 "parser.y" + { (yyval.expr) = ExprAppendKeysymList((yyvsp[-2].expr), (yyvsp[0].keysym)); } -+#line 2864 "parser.c" ++#line 2863 "parser.c" + break; + + case 165: /* KeySymList: KeySymList COMMA KeySyms */ +#line 716 "parser.y" + { (yyval.expr) = ExprAppendMultiKeysymList((yyvsp[-2].expr), (yyvsp[0].expr)); } -+#line 2870 "parser.c" ++#line 2869 "parser.c" + break; + + case 166: /* KeySymList: KeySym */ +#line 718 "parser.y" + { (yyval.expr) = ExprCreateKeysymList((yyvsp[0].keysym)); } -+#line 2876 "parser.c" ++#line 2875 "parser.c" + break; + + case 167: /* KeySymList: KeySyms */ +#line 720 "parser.y" + { (yyval.expr) = ExprCreateMultiKeysymList((yyvsp[0].expr)); } -+#line 2882 "parser.c" ++#line 2881 "parser.c" + break; + + case 168: /* KeySyms: OBRACE KeySymList CBRACE */ +#line 724 "parser.y" + { (yyval.expr) = (yyvsp[-1].expr); } -+#line 2888 "parser.c" ++#line 2887 "parser.c" + break; + + case 169: /* KeySym: IDENT */ @@ -2924,13 +2916,13 @@ index 0000000..e5ce45b + } + free((yyvsp[0].str)); + } -+#line 2900 "parser.c" ++#line 2899 "parser.c" + break; + + case 170: /* KeySym: SECTION */ +#line 735 "parser.y" + { (yyval.keysym) = XKB_KEY_section; } -+#line 2906 "parser.c" ++#line 2905 "parser.c" + break; + + case 171: /* KeySym: Integer */ @@ -2952,89 +2944,89 @@ index 0000000..e5ce45b + } + } + } -+#line 2928 "parser.c" ++#line 2927 "parser.c" + break; + + case 172: /* SignedNumber: MINUS Number */ +#line 756 "parser.y" + { (yyval.num) = -(yyvsp[0].num); } -+#line 2934 "parser.c" ++#line 2933 "parser.c" + break; + + case 173: /* SignedNumber: Number */ +#line 757 "parser.y" + { (yyval.num) = (yyvsp[0].num); } -+#line 2940 "parser.c" ++#line 2939 "parser.c" + break; + + case 174: /* Number: FLOAT */ +#line 760 "parser.y" + { (yyval.num) = (yyvsp[0].num); } -+#line 2946 "parser.c" ++#line 2945 "parser.c" + break; + + case 175: /* Number: INTEGER */ +#line 761 "parser.y" + { (yyval.num) = (yyvsp[0].num); } -+#line 2952 "parser.c" ++#line 2951 "parser.c" + break; + + case 176: /* Float: FLOAT */ +#line 764 "parser.y" + { (yyval.num) = 0; } -+#line 2958 "parser.c" ++#line 2957 "parser.c" + break; + + case 177: /* Integer: INTEGER */ +#line 767 "parser.y" + { (yyval.num) = (yyvsp[0].num); } -+#line 2964 "parser.c" ++#line 2963 "parser.c" + break; + + case 178: /* KeyCode: INTEGER */ +#line 770 "parser.y" + { (yyval.num) = (yyvsp[0].num); } -+#line 2970 "parser.c" ++#line 2969 "parser.c" + break; + + case 179: /* Ident: IDENT */ +#line 773 "parser.y" + { (yyval.atom) = xkb_atom_intern(param->ctx, (yyvsp[0].str), strlen((yyvsp[0].str))); free((yyvsp[0].str)); } -+#line 2976 "parser.c" ++#line 2975 "parser.c" + break; + + case 180: /* Ident: DEFAULT */ +#line 774 "parser.y" + { (yyval.atom) = xkb_atom_intern_literal(param->ctx, "default"); } -+#line 2982 "parser.c" ++#line 2981 "parser.c" + break; + + case 181: /* String: STRING */ +#line 777 "parser.y" + { (yyval.atom) = xkb_atom_intern(param->ctx, (yyvsp[0].str), strlen((yyvsp[0].str))); free((yyvsp[0].str)); } -+#line 2988 "parser.c" ++#line 2987 "parser.c" + break; + + case 182: /* OptMapName: MapName */ +#line 780 "parser.y" + { (yyval.str) = (yyvsp[0].str); } -+#line 2994 "parser.c" ++#line 2993 "parser.c" + break; + + case 183: /* OptMapName: %empty */ +#line 781 "parser.y" + { (yyval.str) = NULL; } -+#line 3000 "parser.c" ++#line 2999 "parser.c" + break; + + case 184: /* MapName: STRING */ +#line 784 "parser.y" + { (yyval.str) = (yyvsp[0].str); } -+#line 3006 "parser.c" ++#line 3005 "parser.c" + break; + + -+#line 3010 "parser.c" ++#line 3009 "parser.c" + + default: break; + } @@ -3116,6 +3108,7 @@ index 0000000..e5ce45b + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; ++ ++yynerrs; + + /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ @@ -3176,7 +3169,7 @@ index 0000000..e5ce45b +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; -+ goto yyreturn; ++ goto yyreturnlab; + + +/*-----------------------------------. @@ -3184,24 +3177,22 @@ index 0000000..e5ce45b +`-----------------------------------*/ +yyabortlab: + yyresult = 1; -+ goto yyreturn; ++ goto yyreturnlab; + + -+#if !defined yyoverflow -+/*-------------------------------------------------. -+| yyexhaustedlab -- memory exhaustion comes here. | -+`-------------------------------------------------*/ ++/*-----------------------------------------------------------. ++| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | ++`-----------------------------------------------------------*/ +yyexhaustedlab: + yyerror (param, YY_("memory exhausted")); + yyresult = 2; -+ goto yyreturn; -+#endif ++ goto yyreturnlab; + + -+/*-------------------------------------------------------. -+| yyreturn -- parsing is finished, clean up and return. | -+`-------------------------------------------------------*/ -+yyreturn: ++/*----------------------------------------------------------. ++| yyreturnlab -- parsing is finished, clean up and return. | ++`----------------------------------------------------------*/ ++yyreturnlab: + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at @@ -3288,15 +3279,15 @@ index 0000000..e5ce45b +} diff --git a/src/xkbcomp/parser.h b/src/xkbcomp/parser.h new file mode 100644 -index 0000000..feb82ce +index 0000000..f788bdc --- /dev/null +++ b/src/xkbcomp/parser.h -@@ -0,0 +1,169 @@ -+/* A Bison parser, made by GNU Bison 3.7.4. */ +@@ -0,0 +1,171 @@ ++/* A Bison parser, made by GNU Bison 3.8.2. */ + +/* Bison interface for Yacc-like parsers in C + -+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, ++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify @@ -3310,7 +3301,7 @@ index 0000000..feb82ce + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License -+ along with this program. If not, see <http://www.gnu.org/licenses/>. */ ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work @@ -3458,9 +3449,11 @@ index 0000000..feb82ce + + + ++ +int _xkbcommon_parse (struct parser_param *param); + ++ +#endif /* !YY__XKBCOMMON_PARSER_H_INCLUDED */ -- -2.29.2 +2.34.0 diff --git a/pkg/libxkbcommon/ver b/pkg/libxkbcommon/ver @@ -1 +1 @@ -1.3.0 r0 +1.3.1 r0