Re: git: 5dda778db634 - main - Use correct function declaration for yyerror
- In reply to: Jessica Clarke : "Re: git: 5dda778db634 - main - Use correct function declaration for yyerror"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 03 Jun 2024 18:38:50 UTC
On Mon, Jun 3, 2024 at 12:19 PM Jessica Clarke <jrtc27@freebsd.org> wrote: > On 3 Jun 2024, at 19:14, Warner Losh <imp@FreeBSD.org> wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=5dda778db63407214394c3cf63fb1312a4981024 > > > > commit 5dda778db63407214394c3cf63fb1312a4981024 > > Author: Dapeng Gao <dg612@cam.ac.uk> > > AuthorDate: 2024-06-03 17:30:52 +0000 > > Commit: Warner Losh <imp@FreeBSD.org> > > CommitDate: 2024-06-03 18:14:10 +0000 > > > > Use correct function declaration for yyerror > > > > According to the POSIX standard at > > https://pubs.opengroup.org/onlinepubs/9699919799/utilities/yacc.html > > `yyerror` should return `int`. Add unreachable since errx never > returns. > > > > Reviewed by: imp, kib > > Differential Revision: https://reviews.freebsd.org/D45447 > > --- > > usr.sbin/config/config.y | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/usr.sbin/config/config.y b/usr.sbin/config/config.y > > index a5a9e1546c36..148959fbff2e 100644 > > --- a/usr.sbin/config/config.y > > +++ b/usr.sbin/config/config.y > > @@ -88,7 +88,7 @@ int maxusers; > > > > #define ns(s) strdup(s) > > int include(const char *, int); > > -void yyerror(const char *s); > > +int yyerror(const char *s); > > int yywrap(void); > > > > static void newdev(char *name); > > @@ -299,11 +299,13 @@ NoDevice: > > > > %% > > > > -void > > +int > > yyerror(const char *s) > > { > > > > errx(1, "%s:%d: %s", yyfile, yyline + 1, s); > > + __unreachable(); > > + return (0); > > } > > This should just be: > > int > yyerror(const char *s) > { > errx(1, "%s:%d: %s", yyfile, yyline + 1, s); > } > > errx is __dead2. See bin/expr/expr.y for an example of this in-tree. > OK. Wasn't sure, but you're comments remove all doubt in my mind. will fix. Warner