<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="generator" content="Osso Notes">
    <title></title></head>
<body>
<p>----- Original message -----
<br>&gt; On 08/13/2012 08:30 PM, Balazs Scheidler wrote:
<br>&gt; &gt; ----- Original message -----
<br>&gt; &gt; &gt; Greetings!
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; I am having some difficulties compiling current master (at the time
<br>&gt; &gt; &gt; of this writing) of syslog-ng 3.4. The first error is this:
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; filter-expr-parser.c:30:5: error: conflicting types for
<br>&gt; &gt; &gt; 'filter_expr_parse' In file included from filter-expr-parser.c:27:0:
<br>&gt; &gt; &gt; filter-expr-grammar.h:404:5: note: previous declaration of
<br>&gt; &gt; &gt; 'filter_expr_parse' was here
<br>&gt; &gt; &gt; make[4]: *** [filter-expr-parser.lo] Error
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; Now, at first I thought, since filter-expr-grammar.h is generated, it
<br>&gt; &gt; &gt; might have something to do with my bison version or the likes. But
<br>&gt; &gt; &gt; then I realized that the offending declaration in
<br>&gt; &gt; &gt; filter-expr-parser.c:30:
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; int filter_expr_parse(CfgLexer *lexer, FilterExprNode **node);
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; directly contradicts its use int the same file below (line 74):
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; .parse = (gint (*)(CfgLexer *, gpointer *, gpointer))
<br>&gt; &gt; &gt; filter_expr_parse,
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; filter-expr-parser.c is not generated, so I don't quite get how this
<br>&gt; &gt; &gt; compiles at all for anyone? Am I missing something?
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; The actual usage (line 74) matches the generated declaration, so I
<br>&gt; &gt; &gt; can just comment out the offending one in line 30. But I suspect
<br>&gt; &gt; &gt; this it not how it's supposed to work...
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; Same thing happens for parser-expr-parser and rewrite-expr-parser...
<br>&gt; &gt; 
<br>&gt; &gt; hm. earlier bison versions didn't declare the parse function. I can't
<br>&gt; &gt; remember warnings either, but I'll have to check the code.
<br>&gt; 
<br>&gt; I am using bison 2.6.2, if this information is of any value...
<br>&gt; 
<br>&gt; But still, doesn't the declaration contradict the call below anyways
<br>&gt; (third parameter)?
<br>&gt; 
<br>
<br>these are only called through the pointer, iirc they really only have two params, but I don't know why I haven't seen warnings before.<br></p>
</body>
</html>