bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: parse-datetime.y: yylex declaration and definition differ


From: Tim Rühsen
Subject: Re: parse-datetime.y: yylex declaration and definition differ
Date: Sun, 14 Dec 2014 20:14:56 +0100
User-agent: KMail/4.14.2 (Linux/3.16.0-4-amd64; KDE/4.14.2; x86_64; ; )

Am Sonntag, 14. Dezember 2014, 18:20:13 schrieb Pádraig Brady:
> On 14/12/14 17:03, Tim Rühsen wrote:
> > Hi,
> > 
> > libgnutls fails to compile here due to an issue with gnulib.
> > 
> > The maintainer (Nikos Mavrogiannopoulos <address@hidden>) asked me to
> > report it here.
> > 
> > 
> > The declaration and definition of yylex() function differ (and maybe I get
> > an error because of gcc's -Wstrict-prototypes, but did not verify it).
> > 
> > This patch fixes it for me:
> > 
> > diff --git a/src/gl/parse-datetime.y b/src/gl/parse-datetime.y
> > index 52e6a0c..72d6c38 100644
> > --- a/src/gl/parse-datetime.y
> > +++ b/src/gl/parse-datetime.y
> > @@ -1031,7 +1031,7 @@ lookup_word (parser_control const *pc, char *word)
> > 
> >  }
> >  
> >  static int
> > 
> > -yylex (YYSTYPE *lvalp, parser_control *pc)
> > +yylex (union YYSTYPE *lvalp, parser_control *pc)
> > 
> >  {
> >  
> >    unsigned char c;
> >    size_t count;
> > 
> > Regards, Tim
> 
> What version of compiler and what compile flags are you using?

Thanks for having a look, Pádraig.

I am on Debian unstable.

$ gcc --version
gcc (Debian 4.9.2-7) 4.9.2

After some testing I have to admit that I used 'byacc' instead of 'bison'.
That makes the difference.

My CFLAGS are
-std=gnu99 -g -fPIC -Wall -Wstrict-prototypes -Wold-style-definition -Wmissing-
prototypes -Wwrite-strings -Wformat=2 -Wformat -Wformat-security -Wsign-
compare -Wextra -D_FORTIFY_SOURCE=2 -Wcast-align -O2 -Wlogical-op -Wmissing-
declarations


> Also would it be better to remove the "union" from the declaration.
> I.E. not have "union" in any of the declarations as there are
> many uses of YYSTYPE in that file.

Feel free to do it either way.
I'am not sure if 'byacc' is an alternative to 'bison', but I guess yes.

Now that I changed to bison, parse-datetime.c compiles without issue.

Regards, Tim

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]