(yyuserMerge): Provide a default case if b4_mergers is empty.
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Define YYSTACKEXPANDABLE.
* tests/glr-regression.at
(Improper handling of embedded actions and dollar(-N) in GLR parsers):
YYSTYPE is char *, not char const *, so that strcpy ($$, ...) works.
2005-07-14 Paul Eggert <eggert@cs.ucla.edu>
Fix problems reported by twlevo@xs4all.nl.
+ * data/glr.c (YYSTACKEXPANDABLE): Don't define if already defined.
+ (yyuserMerge): Provide a default case if b4_mergers is empty.
+ * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Define YYSTACKEXPANDABLE.
+ * tests/glr-regression.at
+ (Improper handling of embedded actions and dollar(-N) in GLR parsers):
+ YYSTYPE is char *, not char const *, so that strcpy ($$, ...) works.
* tests/glr-regression.at (Improper merging of GLR delayed action
sets): Declare yylex before using it.
* tests/Makefile.am (maintainer-check-g++): Fix a stray
properly redirected to new data. */
#define YYHEADROOM 2
-#if (! defined (YYSTACKEXPANDABLE) \
- && (! defined (__cplusplus) \
- || (]b4_location_if([[defined (YYLTYPE_IS_TRIVIAL) && YYLTYPE_IS_TRIVIAL \
- && ]])[defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
-#define YYSTACKEXPANDABLE 1
-#else
-#define YYSTACKEXPANDABLE 0
+#ifndef YYSTACKEXPANDABLE
+# if (! defined (__cplusplus) \
+ || (]b4_location_if([[defined (YYLTYPE_IS_TRIVIAL) && YYLTYPE_IS_TRIVIAL \
+ && ]])[defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))
+# define YYSTACKEXPANDABLE 1
+# else
+# define YYSTACKEXPANDABLE 0
+# endif
#endif
#if YYERROR_VERBOSE
switch (yyn)
{
b4_mergers
+ default: break;
}
}
[
]m4_bmatch([$2], [stmtMerge],
[ static YYSTYPE stmtMerge (YYSTYPE x0, YYSTYPE x1);])[
#define YYINITDEPTH 10
+ #define YYSTACKEXPANDABLE 1
static char *format (char const *, ...);
struct YYLTYPE;
#if YYPURE
/* Reported by S. Eken */
%{
- #define YYSTYPE char const *
+ #define YYSTYPE char *
#define yyfalse 0
#define yytrue 1