[Debian-med-packaging] bison/flex (?) issue: error: cannot convert 'UserLevelRewritingContext::ParseResult*' to 'char*'

Sergio Durigan Junior sergiodj at debian.org
Wed Sep 19 05:50:37 BST 2018


On Sunday, September 16 2018, Andreas Tille wrote:

> Hi,
>
> in the latest version of maude[1] I get:
>
> ...
> g++ -DHAVE_CONFIG_H -I. -I../..  -I../../src/Utility -I../../src/Temporal -I../../src/Interface -I../../src/Core -I../../src/Variable -I../../src/FullCompiler -I../../src/Higher -I../../src/CUI_Theory -I../../src/S_Theory -I../../src/NA_Theory -I../../src/FreeTheory -I../../src/ObjectSystem -I../../src/Mixfix -I../../src/BuiltIn -I../../src/MSCP10 -I../../src/IO_Stuff -I../../src/ACU_Persistent -I../../src/ACU_Theory -I../../src/AU_Persistent -I../../src/AU_Theory -I../../src/Meta -I../../src/3rdParty -I../../src/FullCompiler -I../../src/StrategyLanguage -I../../src/SMT -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/build/maude-2.7.1=. -fstack-protector-strong -Wformat -Werror=format-security -fpermissive -c -o libmixfix_a-surface.o `test -f 'surface.cc' || echo './'`surface.cc
> surface.c: In function 'int yyparse(void*, UserLevelRewritingContext::ParseResult*)':
> surface.c:5382:16: warning: invalid conversion from 'void*' to 'UserLevelRewritingContext::ParseResult*' [-fpermissive]
> surface.c:5382:31: error: cannot convert 'UserLevelRewritingContext::ParseResult*' to 'char*'
> surface.yy:97:80: note:   initializing argument 2 of 'void yyerror(UserLevelRewritingContext::ParseResult*, char*)'
>  static void yyerror(UserLevelRewritingContext::ParseResult* parseResult, char *s);
>                                                                           ~~~~~~^
> surface.c:5526:12: warning: invalid conversion from 'void*' to 'UserLevelRewritingContext::ParseResult*' [-fpermissive]
> surface.c:5526:27: error: cannot convert 'UserLevelRewritingContext::ParseResult*' to 'char*'
> surface.yy:97:80: note:   initializing argument 2 of 'void yyerror(UserLevelRewritingContext::ParseResult*, char*)'
>  static void yyerror(UserLevelRewritingContext::ParseResult* parseResult, char *s);
>                                                                           ~~~~~~^
> surface.yy:313:12: warning: ignoring return value of 'int system(const char*)', declared with attribute warn_unused_result [-Wunused-result]
>       system((string("ls") + $3).c_str());
>       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
> make[6]: *** [Makefile:1110: libmixfix_a-surface.o] Error 1
> ...
>
> I suspect bison/flex might have created a broken C++ file.  Any idea how
> to fix this?

Hey Andreas,

Short:

Yeah, if you remove debian/patches/bison-parse-param.patch, it compiles
successfully.

Long:

I haven't investigated a lot, but apparently the parser used
YYPARSE_PARAM to define 'UserLevelRewritingContext::ParseResult*' as a
possible argument for the reentrant parser.  However, at some point the
code was rewritten to explicitly use and pass
'UserLevelRewritingContext::ParseResult*', without resorting to
YYPARSE_PARAM.  For that reason, there's no need to define "%parse-param
{void* YYPARSE_PARAM}" in the beginning of the parser code anymore.



Now, after this fix, I'm seeing another error:

  variableGenerator.cc: In member function 'CVC4::Expr VariableGenerator::dagToCVC4(DagNode*)':
  variableGenerator.cc:326:73: error: 'IFF' is not a member of 'CVC4::kind'
        return exprManager->mkExpr(((smtType == SMT_Info::BOOLEAN) ? kind::IFF : kind::EQUAL), exprs[0], exprs[1]);
                                                                           ^~~

CVC4 indeed doesn't have any 'kind::IFF'.  I spent some time looking at
its source code, but couldn't find anything helpful.  I can try to work
more later.

Cheers,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20180919/4719c416/attachment.sig>


More information about the Debian-med-packaging mailing list