]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge all changes from the weak-fallback branch except those related to the
authordan <dan@noemail.net>
Sat, 30 Jun 2018 19:12:36 +0000 (19:12 +0000)
committerdan <dan@noemail.net>
Sat, 30 Jun 2018 19:12:36 +0000 (19:12 +0000)
weak-fallback feature itself.

FossilOrigin-Name: aad718fb1afacf1c921966796ab1e149207c31b16409c5672f0371f4fb9d6565

1  2 
manifest
manifest.uuid
tool/lempar.c

diff --cc manifest
index abb0adcf47e5b32126a381fbcaea11d36c72f2a7,ae9a219479b7d3f5e97ab9807fcacf1f63ef6232..324b263409cecfc6262290639652743a8319ca83
+++ 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 76bb105dfef6bcde7f323155ba68895c96c2ebd6,01c135be3bf43e6308659c31061f4be70d5abb56..ffa676ba779a47622029124eb2b2f7eda82486bc
@@@ -1,1 -1,1 +1,1 @@@
- 4383cb68a1241768ddb3f180f8cbb9ea1638f8806210b10aac1384b8a7ecdca2
 -12d819e1c17d8036900352b0989c4bfcbc34193c3735bb9af7ab051f0f129d3d
++aad718fb1afacf1c921966796ab1e149207c31b16409c5672f0371f4fb9d6565
diff --cc tool/lempar.c
index 885cefe1435f221956b729fdca6172834d4d7d09,feb79e3a58bd3ffd23fbf26e93deed1b90e3c186..450dcde4bc9b7b5d79372f6ddc7b3cae59116c92
@@@ -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( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0])
 -       && (iFallback = yyFallback[iLookAhead])!=0
 -      ){
 -        if( iFallback<0 && yy_default[stateno]==YY_ERROR_ACTION ){
 -          /* A weak fallback only happens if current lookahead is a
 -          ** syntax error */
 -          iFallback = -iFallback;
 -        }
 -        if( iFallback>0 ){
 -          /* 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<sizeof(yyFallback)/sizeof(yyFallback[0]) ){
+     return yyFallback[iToken];
+   }
+ #endif
+   return 0;
+ }