Re: Bison 3.0 updates
| От | Vik Fearing |
|---|---|
| Тема | Re: Bison 3.0 updates |
| Дата | |
| Msg-id | 537CCFFF.3020607@dalibo.com обсуждение исходный текст |
| Ответ на | Bison 3.0 updates (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: Bison 3.0 updates
|
| Список | pgsql-hackers |
I'm getting some more of these, including some I thought you had fixed.
Bison 3.0.2 on current head.
<>
Writing postgres.bki
Writing schemapg.h
Writing postgres.description
Writing postgres.shdescription
gram.y:172.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="base_yy"
^^^^^^^^^^^^^
Writing fmgroids.h
Writing fmgrtab.c
bootparse.y:96.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="boot_yy"
^^^^^^^^^^^^^
In file included from gram.y:14004:0:
scan.c: In function ‘yy_try_NUL_trans’:
scan.c:10188:23: warning: unused variable ‘yyg’ [-Wunused-variable]
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
^
repl_gram.y:43.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="replication_yy"
^^^^^^^^^^^^^
preproc.y:576.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="base_yy"
^^^^^^^^^^^^^
pl_gram.y:113.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="plpgsql_yy"
^^^^^^^^^^^^^
cubeparse.y:42.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="cube_yy"
^^^^^^^^^^^^^
segparse.y:45.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="seg_yy"
^^^^^^^^^^^^^
PostgreSQL, contrib, and documentation installation complete.
</>
On 07/29/2013 01:05 AM, Tom Lane wrote:
Bison 3.0.2 on current head.
<>
Writing postgres.bki
Writing schemapg.h
Writing postgres.description
Writing postgres.shdescription
gram.y:172.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="base_yy"
^^^^^^^^^^^^^
Writing fmgroids.h
Writing fmgrtab.c
bootparse.y:96.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="boot_yy"
^^^^^^^^^^^^^
In file included from gram.y:14004:0:
scan.c: In function ‘yy_try_NUL_trans’:
scan.c:10188:23: warning: unused variable ‘yyg’ [-Wunused-variable]
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
^
repl_gram.y:43.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="replication_yy"
^^^^^^^^^^^^^
preproc.y:576.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="base_yy"
^^^^^^^^^^^^^
pl_gram.y:113.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="plpgsql_yy"
^^^^^^^^^^^^^
cubeparse.y:42.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="cube_yy"
^^^^^^^^^^^^^
segparse.y:45.1-13: warning: deprecated directive, use ‘%name-prefix’ [-Wdeprecated]
%name-prefix="seg_yy"
^^^^^^^^^^^^^
PostgreSQL, contrib, and documentation installation complete.
</>
On 07/29/2013 01:05 AM, Tom Lane wrote:
Buildfarm member anchovy has been failing for the last couple of 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
-- Vik
В списке pgsql-hackers по дате отправления: