]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Lemon bug fix: Do not merge action routines unless their destructors are
authordrh <drh@noemail.net>
Fri, 29 Apr 2016 11:28:35 +0000 (11:28 +0000)
committerdrh <drh@noemail.net>
Fri, 29 Apr 2016 11:28:35 +0000 (11:28 +0000)
also identical.  Problem and suggested fix reported on the mailing list
by Kelvin Sherlock.

FossilOrigin-Name: 4792d6dbba6857f74d27332dcc1468e39c767c71

manifest
manifest.uuid
tool/lemon.c

index da4cac8196c9c04b7d24e3a283bfba5bab388c02..df4dd75c55ac8c014a8a863e985e6f1bcb2fc2c3 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Some\soptimization\scomments\sadded\sto\svdbe.c.\s\sNo\sfunctional\schanges\sto\scode.
-D 2016-04-29T02:55:05.603
+C Lemon\sbug\sfix:\s\sDo\snot\smerge\saction\sroutines\sunless\stheir\sdestructors\sare\nalso\sidentical.\s\sProblem\sand\ssuggested\sfix\sreported\son\sthe\smailing\slist\nby\sKelvin\sSherlock.
+D 2016-04-29T11:28:35.306
 F Makefile.in 9e816d0323e418fbc0f8b2c05fc14e0b3763d9e8
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 71b8b16cf9393f68e2e2035486ca104872558836
@@ -1414,7 +1414,7 @@ F tool/fuzzershell.c 94019b185caceffc9f7c7b678a6489e42bc2aefa
 F tool/genfkey.README cf68fddd4643bbe3ff8e31b8b6d8b0a1b85e20f4
 F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5
 F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce
-F tool/lemon.c cfbfe061a4b2766512f6b484882eee2c86a14506
+F tool/lemon.c 83318dff3911e47f2b85e136e56aa1c4674a2d2b
 F tool/lempar.c 404ea3dc27dbeed343f0e61b1d36e97b9f5f0fb6
 F tool/loadfts.c c3c64e4d5e90e8ba41159232c2189dba4be7b862
 F tool/logest.c 11346aa019e2e77a00902aa7d0cabd27bd2e8cca
@@ -1484,7 +1484,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 9f15a520deb9f1d4ecaa3bfff82bd57ef122aadb
-R 9e8b60c02f680bebef2b9615706e75d6
+P e7c22e3bffce63f3b47fa3683be8c00c42b2a7d3
+R 2a18b1b7e68842336a01e91672c4d16e
 U drh
-Z f25847a4d8f7c8c164def037ab0b4e49
+Z 9e05af624d486885b70c45e730afddce
index 74550e35d8f031b6f64cc41e9a51a5bca462ffad..d7daf8acb81fb8e17149fb611f970b1323d5cac6 100644 (file)
@@ -1 +1 @@
-e7c22e3bffce63f3b47fa3683be8c00c42b2a7d3
\ No newline at end of file
+4792d6dbba6857f74d27332dcc1468e39c767c71
\ No newline at end of file
index 903fe97cfb66d8c8855920e2c30ec7747f884cd0..2f76465d89b7dd10deee57e5b62241f18bb0826f 100644 (file)
@@ -4402,7 +4402,8 @@ void ReportTable(
     writeRuleText(out, rp);
     fprintf(out, " */\n"); lineno++;
     for(rp2=rp->next; rp2; rp2=rp2->next){
-      if( rp2->code==rp->code ){
+      if( rp2->code==rp->code && rp2->codePrefix==rp->codePrefix
+             && rp2->codeSuffix==rp->codeSuffix ){
         fprintf(out,"      case %d: /* ", rp2->iRule);
         writeRuleText(out, rp2);
         fprintf(out," */ yytestcase(yyruleno==%d);\n", rp2->iRule); lineno++;