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: