]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bug in lemon that does not effect SQLite. Ticket #1068. (CVS 2208)
authordrh <drh@noemail.net>
Thu, 13 Jan 2005 23:54:06 +0000 (23:54 +0000)
committerdrh <drh@noemail.net>
Thu, 13 Jan 2005 23:54:06 +0000 (23:54 +0000)
FossilOrigin-Name: 7113b5ed8d51718356ce1cc51896a3070875a7e2

manifest
manifest.uuid
tool/lemon.c

index b358c05bab83e8914d93ecdf5b4b24c62d1d916b..e89d69046f97b04f6bb187402b1fb56179bdce2f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Tidy\sup\smalloc.test\sa\sbit.\s(CVS\s2207)
-D 2005-01-13T13:35:58
+C Fix\sa\sbug\sin\slemon\sthat\sdoes\snot\seffect\sSQLite.\s\sTicket\s#1068.\s(CVS\s2208)
+D 2005-01-13T23:54:07
 F Makefile.in 6ce51dde6a8fe82fc12f20dec750572f6a19f56a
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@@ -209,7 +209,7 @@ F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102
 F test/view.test 3f96df86f1c61ee850b945204683773bbbb8643e
 F test/where.test 0d7c9dad0aabb30aa8babdee659cc558db85a274
 F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b
-F tool/lemon.c 250b30bcf3f1f422a2cad24b1597314777058a4b
+F tool/lemon.c eb3b2bbefc0d442fa459f4f1924e598e804eca9c
 F tool/lempar.c 1e61d2b6cb9d8affa264a13336bc0c088498caa4
 F tool/memleak.awk 4e7690a51bf3ed757e611273d43fe3f65b510133
 F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8
@@ -268,7 +268,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
 F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl c3b50d3ac31c54be2a1af9b488a89d22f1e6e746
-P 2c7a1a1698851914de705a0a942ebaaad5545fbc
-R f1470a4facb1a63af2a4c86a82a6a799
-U danielk1977
-Z 17062bc61ce0613e5a4bff945da3ebb7
+P 94cf91cc5dc0d656636211d23350a1ec29aced8a
+R 22751790adbb0fabba4752e324de35f9
+U drh
+Z df8ba3dea9dafef9b539e800490a2365
index 7824c85ead6e58c587e5dfa3a21ae863c3cb6fea..d0d735ad7bb3a3248e1d9736de79a350b47d0dd6 100644 (file)
@@ -1 +1 @@
-94cf91cc5dc0d656636211d23350a1ec29aced8a
\ No newline at end of file
+7113b5ed8d51718356ce1cc51896a3070875a7e2
\ No newline at end of file
index 708b3538d724588078f9fece6dc1e8316eb04f6c..7d72fd82b574c49707dae565f8421784f8e8bd37 100644 (file)
@@ -3664,6 +3664,20 @@ int mhflag;     /* Output in makeheaders format if true */
       fprintf(out,"      break;\n"); lineno++;
     }
   }
+  if( lemp->vardest ){
+    struct symbol *dflt_sp = 0;
+    for(i=0; i<lemp->nsymbol; i++){
+      struct symbol *sp = lemp->symbols[i];
+      if( sp==0 || sp->type==TERMINAL ||
+          sp->index<=0 || sp->destructor!=0 ) continue;
+      fprintf(out,"    case %d:\n",sp->index); lineno++;
+      dflt_sp = sp;
+    }
+    if( dflt_sp!=0 ){
+      emit_destructor_code(out,dflt_sp,lemp,&lineno);
+      fprintf(out,"      break;\n"); lineno++;
+    }
+  }
   for(i=0; i<lemp->nsymbol; i++){
     struct symbol *sp = lemp->symbols[i];
     if( sp==0 || sp->type==TERMINAL || sp->destructor==0 ) continue;
@@ -3683,20 +3697,6 @@ int mhflag;     /* Output in makeheaders format if true */
     emit_destructor_code(out,lemp->symbols[i],lemp,&lineno);
     fprintf(out,"      break;\n"); lineno++;
   }
-  if( lemp->vardest ){
-    struct symbol *dflt_sp = 0;
-    for(i=0; i<lemp->nsymbol; i++){
-      struct symbol *sp = lemp->symbols[i];
-      if( sp==0 || sp->type==TERMINAL ||
-          sp->index<=0 || sp->destructor!=0 ) continue;
-      fprintf(out,"    case %d:\n",sp->index); lineno++;
-      dflt_sp = sp;
-    }
-    if( dflt_sp!=0 ){
-      emit_destructor_code(out,dflt_sp,lemp,&lineno);
-      fprintf(out,"      break;\n"); lineno++;
-    }
-  }
   tplt_xfer(lemp->name,in,out,&lineno);
 
   /* Generate code which executes whenever the parser stack overflows */