Index: third_party/sqlite/src/src/lempar.c |
diff --git a/third_party/sqlite/src/src/lempar.c b/third_party/sqlite/src/src/lempar.c |
index fb52490e4c14cb74b6ccfadbd44f46c70893760e..ba0837c0ab303f3e281c4967aa2fa80274a34b73 100644 |
--- a/third_party/sqlite/src/src/lempar.c |
+++ b/third_party/sqlite/src/src/lempar.c |
@@ -271,9 +271,9 @@ static void yyGrowStack(yyParser *p){ |
** A pointer to a parser. This pointer is used in subsequent calls |
** to Parse and ParseFree. |
*/ |
-void *ParseAlloc(void *(*mallocProc)(size_t)){ |
+void *ParseAlloc(void *(*mallocProc)(u64)){ |
yyParser *pParser; |
- pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) ); |
+ pParser = (yyParser*)(*mallocProc)( (u64)sizeof(yyParser) ); |
if( pParser ){ |
pParser->yyidx = -1; |
#ifdef YYTRACKMAXSTACKDEPTH |
@@ -608,6 +608,7 @@ static void yy_reduce( |
*/ |
%% |
}; |
+ assert( yyruleno>=0 && yyruleno<sizeof(yyRuleInfo)/sizeof(yyRuleInfo[0]) ); |
yygoto = yyRuleInfo[yyruleno].lhs; |
yysize = yyRuleInfo[yyruleno].nrhs; |
yypParser->yyidx -= yysize; |
@@ -716,7 +717,9 @@ void Parse( |
){ |
YYMINORTYPE yyminorunion; |
int yyact; /* The parser action. */ |
+#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) |
int yyendofinput; /* True if we are at the end of input */ |
+#endif |
#ifdef YYERRORSYMBOL |
int yyerrorhit = 0; /* True if yymajor has invoked an error */ |
#endif |
@@ -739,7 +742,9 @@ void Parse( |
yypParser->yystack[0].major = 0; |
} |
yyminorunion.yy0 = yyminor; |
+#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) |
yyendofinput = (yymajor==0); |
+#endif |
ParseARG_STORE; |
#ifndef NDEBUG |
@@ -751,7 +756,6 @@ void Parse( |
do{ |
yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor); |
if( yyact<YYNSTATE ){ |
- assert( !yyendofinput ); /* Impossible to shift the $ token */ |
yy_shift(yypParser,yyact,yymajor,&yyminorunion); |
yypParser->yyerrcnt--; |
yymajor = YYNOCODE; |