Обсуждение: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...
CVSROOT: /cvsroot Module name: pgsql Changes by: meskes@postgresql.org 02/07/20 04:24:19 Modified files: src/interfaces/ecpg: ChangeLog src/interfaces/ecpg/lib: execute.c src/interfaces/ecpg/preproc: keywords.c pgc.l preproc.y Log message: Synced parser yet again. Michael
Re: pgsql/src/interfaces/ecpg ChangeLog lib/execut ...
От
nconway@klamath.dyndns.org (Neil Conway)
Дата:
On Sat, Jul 20, 2002 at 04:24:19AM -0400, Michael Meskes wrote: > CVSROOT: /cvsroot > Module name: pgsql > Changes by: meskes@postgresql.org 02/07/20 04:24:19 > > Modified files: > src/interfaces/ecpg: ChangeLog > src/interfaces/ecpg/lib: execute.c > src/interfaces/ecpg/preproc: keywords.c pgc.l preproc.y > > Log message: > Synced parser yet again. I get this with CVS HEAD, bison 1.35: make[4]: Entering directory `/home/nconway/pgsql/src/interfaces/ecpg/preproc' bison -y -d preproc.y 19 rules never reduced preproc.y contains 7 useless nonterminals and 19 useless rules Cheers, Neil -- Neil Conway <neilconway@rogers.com> PGP Key ID: DB3C29FC
On Sat, Jul 20, 2002 at 01:30:57PM -0400, Neil Conway wrote: > I get this with CVS HEAD, bison 1.35: > > make[4]: Entering directory > `/home/nconway/pgsql/src/interfaces/ecpg/preproc' > bison -y -d preproc.y > 19 rules never reduced > preproc.y contains 7 useless nonterminals and 19 useless rules Frankly I am at a loss here. This happened because I committed something from my ecpg_big_bison branch. But it went into HEAD again. The tags simply were lost on my directory. I have no clue at all how this could happen. BTW the actual preproc.y file does compile fine with bison 1.49, but then ecpg gives me syntax errors where none should be. After removing some 30k of rules from the bison file ecpg works as it should. Maybe this is just another bison bug. Michael -- Michael Meskes Michael@Fam-Meskes.De Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
Michael Meskes <meskes@postgresql.org> writes: > BTW the actual preproc.y file does compile fine with bison 1.49, but > then ecpg gives me syntax errors where none should be. After removing some 30k > of rules from the bison file ecpg works as it should. Maybe this is just > another bison bug. Scary. Have you mentioned it to the bison people? They might like to use ecpg as a test case ... regards, tom lane
On Sun, Jul 21, 2002 at 09:48:36AM -0400, Tom Lane wrote: > Michael Meskes <meskes@postgresql.org> writes: > > BTW the actual preproc.y file does compile fine with bison 1.49, but > > then ecpg gives me syntax errors where none should be. After removing some 30k > > of rules from the bison file ecpg works as it should. Maybe this is just > > another bison bug. > > Scary. Have you mentioned it to the bison people? They might like to > use ecpg as a test case ... I did mail them as soon as I found out and offered my sources as test case. No reply yet, but then it's weekend. :-) Michael -- Michael Meskes Michael@Fam-Meskes.De Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
> Frankly I am at a loss here. This happened because I committed something > from my ecpg_big_bison branch. But it went into HEAD again. The tags > simply were lost on my directory. I have no clue at all how this could > happen. Are you using remote cvs? Perhaps you created the branch (hmm, no I did that didn't I)? If you had created the branch remotely, then I would have guessed that after creating the branch you didn't move your tree *to* the branch using cvs update -r ecpg_big_bison src/interfaces/ecpg The symptom is that you have checked out something on the main branch, or created a tag but did not move your tree to the branch. Or moved your tree back to the main branch accidentally, before committing. Try cvs update -r ecpg_big_bison src/interfaces/ecpg Ah, perhaps you are updating the rest of the tree using cvs update -A pgsql The -A flag forces the code to the main branch, so stay away from it. If something was checked out on a branch (yours or the main one) it will stay there unless cvs is directed to change that. So once you've got your checked-out tree the way you want (mostly on the main branch, src/interfaces/ecpg on ecpg_big_bison) then say away from "-r" and "-A" and things should stay the way you want. You can verify the status of your file(s) *before* committing them by doing a cvs status <filename> hth - Thomas