Do not define if yyoverflow is defined, or if this is a C++ parser and
either YYSTYPE or YYLTYPE has nontrivial constructors or destructors.
(yymemcpy) [! defined YYSTACK_RELOCATE]: Do not define; not needed.
(yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack.
# define YYSTACK_ALLOC malloc
# define YYSTACK_FREE free
# endif
# define YYSTACK_ALLOC malloc
# define YYSTACK_FREE free
# endif
+#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
/* A type that is properly aligned for any stack member. */
union yyalloc
-#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYMAXDEPTH 10000
#endif
\f
# define YYMAXDEPTH 10000
#endif
\f
-#if ! defined (yyoverflow) && ! defined (yymemcpy)
+#if defined (YYSTACK_RELOCATE) && ! defined (yymemcpy)
# if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
# define yymemcpy __builtin_memcpy
# else /* not GNU C or C++ */
# if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
# define yymemcpy __builtin_memcpy
# else /* not GNU C or C++ */
yyvs = yyvs1;
}
#else /* no yyoverflow */
yyvs = yyvs1;
}
#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
/* Extend the stack our own way. */
if (yystacksize >= YYMAXDEPTH)
goto yyoverflowlab;
/* Extend the stack our own way. */
if (yystacksize >= YYMAXDEPTH)
goto yyoverflowlab;
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;