From: dan Date: Sat, 30 Jun 2018 19:12:36 +0000 (+0000) Subject: Merge all changes from the weak-fallback branch except those related to the X-Git-Tag: version-3.25.0~178^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5001b3314d2d4d0ad6ab299c858cf5d3e89ecd00;p=thirdparty%2Fsqlite.git Merge all changes from the weak-fallback branch except those related to the weak-fallback feature itself. FossilOrigin-Name: aad718fb1afacf1c921966796ab1e149207c31b16409c5672f0371f4fb9d6565 --- 5001b3314d2d4d0ad6ab299c858cf5d3e89ecd00 diff --cc manifest index abb0adcf47,ae9a219479..324b263409 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Add\smissing\sVdbeCoverage()\sand\sVdbeCoverageNeverTaken()\smacros\sto\swindow.c. - D 2018-06-27T20:24:59.489 -C Have\sthe\stokenizer\shandle\sfallback\sfor\stokens\s"OVER"\sand\s"FILTER"\sin\sthe\ssame\nway\sas\sit\sdoes\sfor\s"WINDOW". -D 2018-06-30T18:54:56.070 ++C Merge\sall\schanges\sfrom\sthe\sweak-fallback\sbranch\sexcept\sthose\srelated\sto\sthe\nweak-fallback\sfeature\sitself. ++D 2018-06-30T19:12:36.648 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 0a3a6c81e6fcb969ff9106e882f0a08547014ba463cb6beca4c4efaecc924ee6 @@@ -1662,8 -1663,8 +1663,8 @@@ F tool/genfkey.README cf68fddd4643bbe3f F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5 F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce F tool/kvtest-speed.sh 4761a9c4b3530907562314d7757995787f7aef8f -F tool/lemon.c 93a321bd82b5c73191e95b2f27203048bf4d054fdab4a257b7a6c9541f31828d -F tool/lempar.c afc03d26f33db130c0ca7d5942000aea7eedd638455845ca76f792818896df19 +F tool/lemon.c 33892e2a243865f73e6c6e7cecce3c6eb4bb95db4a3d9d86d146c8064feb92fd - F tool/lempar.c bf7db78e7213f1d51516710483eab506fd52bf632c7abfb3e2e9b885c90c03e1 ++F tool/lempar.c 6f64bc81160495f93d0f2ae27c787cb7cf4d5c7f5d2abf3823bc878ded6d6293 F tool/libvers.c caafc3b689638a1d88d44bc5f526c2278760d9b9 F tool/loadfts.c c3c64e4d5e90e8ba41159232c2189dba4be7b862 F tool/logest.c 11346aa019e2e77a00902aa7d0cabd27bd2e8cca @@@ -1743,7 -1744,8 +1744,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 336de43a47e206fe7629072e5b8c80d4ede17ead8ef4dcf5d8da6833ff22d2f9 - R b7bd98ed0e43c8f2d4cb4f0d7b13d574 -P 5eb4776598f5bba7ef21a2c58c03105544da73d642d7ffc146f84eff1993d71e -R 020addcbc17f30026d883f2e135b0a63 -T +closed a3e9e62c6cafac5b5f103edcff77085b463085fca60c515aa16723c3d0006d44 ++P 4383cb68a1241768ddb3f180f8cbb9ea1638f8806210b10aac1384b8a7ecdca2 12d819e1c17d8036900352b0989c4bfcbc34193c3735bb9af7ab051f0f129d3d ++R 545d939ac542e77e69d38cfd02ddd127 U dan - Z 38db85555459c758350756078d19d70e -Z f871d44af5dded308446b721ea515004 ++Z 6125a1e4d6297855bc74fb4c9cdd182a diff --cc manifest.uuid index 76bb105dfe,01c135be3b..ffa676ba77 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 4383cb68a1241768ddb3f180f8cbb9ea1638f8806210b10aac1384b8a7ecdca2 -12d819e1c17d8036900352b0989c4bfcbc34193c3735bb9af7ab051f0f129d3d ++aad718fb1afacf1c921966796ab1e149207c31b16409c5672f0371f4fb9d6565 diff --cc tool/lempar.c index 885cefe143,feb79e3a58..450dcde4bc --- a/tool/lempar.c +++ b/tool/lempar.c @@@ -519,24 -520,34 +520,24 @@@ static YYACTIONTYPE yy_find_shift_actio do{ i = yy_shift_ofst[stateno]; assert( i>=0 ); - assert( i+YYNTOKEN<=(int)sizeof(yy_lookahead)/sizeof(yy_lookahead[0]) ); - /*assert( i+YYNTOKEN<=YY_NLOOKAHEAD );*/ ++ /* assert( i+YYNTOKEN<=(int)YY_NLOOKAHEAD ); */ assert( iLookAhead!=YYNOCODE ); assert( iLookAhead < YYNTOKEN ); i += iLookAhead; - if( yy_lookahead[i]!=iLookAhead ){ - if( i>=YY_NLOOKAHEAD || yy_lookahead[i]!=iLookAhead - ){ ++ if( i>=YY_NLOOKAHEAD || yy_lookahead[i]!=iLookAhead ){ #ifdef YYFALLBACK - int iFallback; /* Fallback token */ + YYCODETYPE iFallback; /* Fallback token */ if( iLookAhead0 ){ - /* A strong fallback happens regardless */ + && (iFallback = yyFallback[iLookAhead])!=0 ){ #ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", - yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); - } -#endif - assert( yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ - iLookAhead = iFallback; - continue; + if( yyTraceFILE ){ + fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", + yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); } +#endif + assert( yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ + iLookAhead = iFallback; + continue; } #endif #ifdef YYWILDCARD @@@ -1057,3 -1068,17 +1058,16 @@@ void Parse #endif return; } + + /* + ** Return the fallback token corresponding to canonical token iToken, or + ** 0 if iToken has no fallback. + */ + int ParseFallback(int iToken){ + #ifdef YYFALLBACK + if( iToken