{dgn,lev}_lex.c - suppress yyunput() complaint

When dgn_comp.l and lev_comp.l are processed by older versions of
flex, 'gcc -Wunused' complains when compiling dgn_lex.c and lev_lex.c
because flex creates 'static void yyunput()' and nethack doesn't use
it.  Newer versions honor macro YY_NO_UNPUT to hide the offending
code, but that doesn't help with older versions (like the one
masquerading as 'lex' on OSX).  Adding a dummy usage would probably
cause problems with other lexers, so change it from static to
'void yyunput()' as a 'sed' fixup in util/Makefile after flex has
finished.  That will be a no-op when yyunput doesn't exist or isn't
static.

In addition to the sys/unix/Makefile.utl change, this checks in new
sys/share/{dgn,lev}_lex.c with the fixup in place.
This commit is contained in:
PatR
2018-03-27 16:34:47 -07:00
parent a2f6a7bec9
commit a365dc3450
3 changed files with 16 additions and 9 deletions

View File

@@ -503,7 +503,7 @@ int yy_flex_debug = 0;
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
/* NetHack 3.6 dgn_comp.l $NHDT-Date: 1455415233 2016/02/14 02:00:33 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.19 $ */
/* NetHack 3.6 dgn_comp.l $NHDT-Date: 1522193682 2018/03/27 23:34:42 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.20 $ */
/* Copyright (c) 1989 by Jean-Christophe Collet */
/* Copyright (c) 1990 by M. Stephenson */
/* NetHack may be freely redistributed. See license for details. */
@@ -617,7 +617,7 @@ extern int yywrap FDECL(FDECL_dummy, (void ));
#ifndef YY_NO_UNPUT
static void yyunput FDECL(FDECL_dummy, (int c,char *buf_ptr ));
void yyunput FDECL(FDECL_dummy, (int c,char *buf_ptr ));
#endif
#ifndef yytext_ptr
@@ -1282,7 +1282,7 @@ static yy_state_type yy_try_NUL_trans (yy_current_state )
#ifndef YY_NO_UNPUT
static void yyunput (c,yy_bp )
void yyunput (c,yy_bp )
int c;
char * yy_bp;
{

View File

@@ -1024,7 +1024,7 @@ int yy_flex_debug = 0;
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
/* NetHack 3.6 lev_comp.l $NHDT-Date: 1455415237 2016/02/14 02:00:37 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.27 $ */
/* NetHack 3.6 lev_comp.l $NHDT-Date: 1522193683 2018/03/27 23:34:43 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.28 $ */
/* Copyright (c) 1989 by Jean-Christophe Collet */
/* NetHack may be freely redistributed. See license for details. */
@@ -1161,7 +1161,7 @@ extern int yywrap FDECL(FDECL_dummy, (void ));
#ifndef YY_NO_UNPUT
static void yyunput FDECL(FDECL_dummy, (int c,char *buf_ptr ));
void yyunput FDECL(FDECL_dummy, (int c,char *buf_ptr ));
#endif
#ifndef yytext_ptr
@@ -2525,7 +2525,7 @@ static yy_state_type yy_try_NUL_trans (yy_current_state )
#ifndef YY_NO_UNPUT
static void yyunput (c,yy_bp )
void yyunput (c,yy_bp )
int c;
char * yy_bp;
{