Re: Bison 3.0 updates - Mailing list pgsql-hackers
| From | Vik Fearing |
|---|---|
| Subject | Re: Bison 3.0 updates |
| Date | |
| Msg-id | 537CCFFF.3020607@dalibo.com Whole thread Raw |
| In response to | Bison 3.0 updates (Tom Lane <tgl@sss.pgh.pa.us>) |
| Responses |
Re: Bison 3.0 updates
|
| List | pgsql-hackers |
<div class="moz-cite-prefix">I'm getting some more of these, including some I thought you had fixed.<br /><br /> Bison
3.0.2on current head.<br /><br /><br /> <><br /> Writing postgres.bki<br /> Writing schemapg.h<br /> Writing
postgres.description<br/> Writing postgres.shdescription<br /> gram.y:172.1-13: warning: deprecated directive, use
‘%name-prefix’[-Wdeprecated]<br /> %name-prefix="base_yy"<br /> ^^^^^^^^^^^^^<br /> Writing fmgroids.h<br /> Writing
fmgrtab.c<br/> bootparse.y:96.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]<br />
%name-prefix="boot_yy"<br/> ^^^^^^^^^^^^^<br /> In file included from gram.y:14004:0:<br /> scan.c: In function
‘yy_try_NUL_trans’:<br/> scan.c:10188:23: warning: unused variable ‘yyg’ [-Wunused-variable]<br /> struct yyguts_t
*yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */<br />
^<br/> repl_gram.y:43.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]<br />
%name-prefix="replication_yy"<br/> ^^^^^^^^^^^^^<br /> preproc.y:576.1-13: warning: deprecated directive, use
‘%name-prefix’[-Wdeprecated]<br /> %name-prefix="base_yy"<br /> ^^^^^^^^^^^^^<br /> pl_gram.y:113.1-13: warning:
deprecateddirective, use ‘%name-prefix’ [-Wdeprecated]<br /> %name-prefix="plpgsql_yy"<br /> ^^^^^^^^^^^^^<br />
cubeparse.y:42.1-13:warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]<br /> %name-prefix="cube_yy"<br
/> ^^^^^^^^^^^^^<br /> segparse.y:45.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]<br />
%name-prefix="seg_yy"<br/> ^^^^^^^^^^^^^<br /> PostgreSQL, contrib, and documentation installation complete.<br />
</><br/><br /><br /><br /> On 07/29/2013 01:05 AM, Tom Lane wrote:<br /></div><blockquote
cite="mid:7367.1375074342@sss.pgh.pa.us"type="cite"><pre wrap="">Buildfarm member anchovy has been failing for the last
coupleof days,
evidently because its owner just couldn't wait to adopt bison 3.0,
which is all of 3 days old. The failures look like
cubeparse.y:42.1-13: warning: deprecated directive, use '%name-prefix'
[-Wdeprecated]%name-prefix="cube_yy"^^^^^^^^^^^^^
(which looks like 3.0 isn't actually ready for prime time, but at least
it's only a warning)
cubeparse.c:163:5: error: conflicting types for 'cube_yyparse'int cube_yyparse (void); ^
cubeparse.y:32:5: note: previous declaration of 'cube_yyparse' was hereint cube_yyparse(void *result); ^
A look in the Bison release notes explains this one: they stopped
supporting YYPARSE_PARAM, which contrib/cube and contrib/seg both use.
The recommended replacement is %parse-param, which is certainly a whole
lot cleaner: it lets you specify the datatype of the extra parser
parameter, instead of having it default to "void *". This option also
changes the signature of yyerror(), but that's not a problem.
At first I thought this was going to make us go through a tool upgrade
exercise, because I couldn't find %parse-param in the documentation for
bison 1.875, which is our oldest supported version. But further
research shows that %parse-param actually was introduced in 1.875,
they just forgot to document it :-(.
So I propose the attached patch, which I've verified still works with
1.875. I don't plan to install 3.0 just to test this, but I assume it's
OK there.
I'm thinking we should apply this to all supported branches, in case
somebody gets the idea to build an older branch with bleeding-edge
tools. Any objections?
regards, tom lane
</pre><br /><fieldset class="mimeAttachmentHeader"></fieldset><br /><pre wrap="">
</pre></blockquote><br /><br /><pre class="moz-signature" cols="72">--
Vik</pre>
pgsql-hackers by date: