From 2ae8bb8964d04ea9138453f2b9c3fafb7af9d2e6 Mon Sep 17 00:00:00 2001 From: marius Date: Mon, 24 Jun 2013 21:33:19 +0000 Subject: [PATCH] A set of MFCs allowing stable/9 to be built again on head after r250881: r250227: Improve compatibility with recent flex from flex.sourceforge.net. r250914: Improve compatibility with old flex and fix build with GCC. r250926 (partial): Work around build breakages with GCC 4.2. git-svn-id: svn://svn.freebsd.org/base/stable/9@252181 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- contrib/binutils/binutils/arlex.l | 4 ++-- contrib/binutils/ld/ldlex.l | 8 ++++---- contrib/openbsm/bin/auditdistd/token.l | 1 + lib/libc/net/nslexer.l | 5 ++--- lib/libipsec/policy_token.l | 4 ++-- sbin/devd/token.l | 5 +++-- sbin/hastd/hast.h | 2 -- sbin/hastd/parse.y | 2 ++ sbin/hastd/token.l | 3 +++ usr.bin/ar/acplex.l | 6 ++++-- usr.bin/bc/scan.l | 1 + usr.bin/csup/token.l | 3 +-- usr.bin/mklocale/lex.l | 2 ++ usr.bin/xlint/lint1/scan.l | 3 ++- usr.sbin/apmd/apmdlex.l | 8 ++++---- usr.sbin/bluetooth/bthidd/lexer.l | 2 ++ usr.sbin/config/lang.l | 8 +++++--- usr.sbin/jail/jaillex.l | 8 +++++--- usr.sbin/kbdcontrol/lex.l | 5 +++-- usr.sbin/ndiscvt/inf-token.l | 5 +++-- usr.sbin/rrenumd/lexer.l | 4 ++-- 21 files changed, 53 insertions(+), 36 deletions(-) diff --git a/contrib/binutils/binutils/arlex.l b/contrib/binutils/binutils/arlex.l index 156029432..e0992f2fd 100644 --- a/contrib/binutils/binutils/arlex.l +++ b/contrib/binutils/binutils/arlex.l @@ -28,13 +28,13 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. #include "libiberty.h" #include "arparse.h" -#define YY_NO_UNPUT - extern int yylex (void); int linenumber; %} +%option nounput + %a 10000 %o 25000 diff --git a/contrib/binutils/ld/ldlex.l b/contrib/binutils/ld/ldlex.l index b0313d9b1..2f76c5af4 100644 --- a/contrib/binutils/ld/ldlex.l +++ b/contrib/binutils/ld/ldlex.l @@ -63,8 +63,6 @@ const char *lex_string = NULL; #undef YY_INPUT #define YY_INPUT(buf,result,max_size) yy_input (buf, &result, max_size) -#define YY_NO_UNPUT - #define MAX_INCLUDE_DEPTH 10 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; static const char *file_name_stack[MAX_INCLUDE_DEPTH]; @@ -72,7 +70,7 @@ static unsigned int lineno_stack[MAX_INCLUDE_DEPTH]; static unsigned int include_stack_ptr = 0; static int vers_node_nesting = 0; -static void yy_input (char *, int *, int); +static void yy_input (char *, yy_size_t *, yy_size_t); static void comment (void); static void lex_warn_invalid (char *where, char *what); @@ -94,6 +92,8 @@ int yywrap (void) { return 1; } #endif %} +%option nounput + %a 4000 %o 5000 @@ -612,7 +612,7 @@ ldlex_popstate (void) either the number of characters read, or 0 to indicate EOF. */ static void -yy_input (char *buf, int *result, int max_size) +yy_input (char *buf, yy_size_t *result, yy_size_t max_size) { *result = 0; if (YY_CURRENT_BUFFER->yy_input_file) diff --git a/contrib/openbsm/bin/auditdistd/token.l b/contrib/openbsm/bin/auditdistd/token.l index 9cebac1e2..9f44833f5 100644 --- a/contrib/openbsm/bin/auditdistd/token.l +++ b/contrib/openbsm/bin/auditdistd/token.l @@ -52,6 +52,7 @@ int depth; int lineno; #define DP do { } while (0) +#define YY_DECL int yylex(void) %} %option noinput diff --git a/lib/libc/net/nslexer.l b/lib/libc/net/nslexer.l index 0f705cf72..bc36ea2b9 100644 --- a/lib/libc/net/nslexer.l +++ b/lib/libc/net/nslexer.l @@ -53,11 +53,10 @@ static char *rcsid = #include "nsparser.h" -#define YY_NO_INPUT -#define YY_NO_UNPUT - %} +%option noinput +%option nounput %option yylineno BLANK [ \t] diff --git a/lib/libipsec/policy_token.l b/lib/libipsec/policy_token.l index 2a79d5e4b..219cce446 100644 --- a/lib/libipsec/policy_token.l +++ b/lib/libipsec/policy_token.l @@ -139,8 +139,8 @@ void __policy__strbuffer__init__(msg) char *msg; { - if (yy_current_buffer) - yy_delete_buffer(yy_current_buffer); + if (YY_CURRENT_BUFFER) + yy_delete_buffer(YY_CURRENT_BUFFER); strbuffer = (YY_BUFFER_STATE)yy_scan_string(msg); yy_switch_to_buffer(strbuffer); diff --git a/sbin/devd/token.l b/sbin/devd/token.l index 7a63bec36..b3441c3a0 100644 --- a/sbin/devd/token.l +++ b/sbin/devd/token.l @@ -37,8 +37,6 @@ #include "y.tab.h" int lineno = 1; -#define YY_NO_UNPUT -#define YY_NO_INPUT static void update_lineno(const char *cp) @@ -50,6 +48,9 @@ update_lineno(const char *cp) %} +%option nounput +%option noinput + %% [ \t]+ ; diff --git a/sbin/hastd/hast.h b/sbin/hastd/hast.h index 6c8aa9537..d9f90f5fd 100644 --- a/sbin/hastd/hast.h +++ b/sbin/hastd/hast.h @@ -259,8 +259,6 @@ struct hast_resource { struct hastd_config *yy_config_parse(const char *config, bool exitonerror); void yy_config_free(struct hastd_config *config); -void yyerror(const char *); -int yylex(void); int yyparse(void); #endif /* !_HAST_H_ */ diff --git a/sbin/hastd/parse.y b/sbin/hastd/parse.y index 9cc859be8..c03a0cd6c 100644 --- a/sbin/hastd/parse.y +++ b/sbin/hastd/parse.y @@ -75,6 +75,8 @@ static char depth1_provname[PATH_MAX]; static char depth1_localpath[PATH_MAX]; static int depth1_metaflush; +extern void yyerror(const char *); +extern int yylex(void); extern void yyrestart(FILE *); static int diff --git a/sbin/hastd/token.l b/sbin/hastd/token.l index a20efd7d0..e8f676094 100644 --- a/sbin/hastd/token.l +++ b/sbin/hastd/token.l @@ -42,6 +42,9 @@ int depth; int lineno; #define DP do { } while (0) +#define YY_DECL int yylex(void) + +extern int yylex(void); %} %option noinput diff --git a/usr.bin/ar/acplex.l b/usr.bin/ar/acplex.l index 0acf5b79d..589888e6d 100644 --- a/usr.bin/ar/acplex.l +++ b/usr.bin/ar/acplex.l @@ -36,14 +36,16 @@ __FBSDID("$FreeBSD$"); #include "y.tab.h" -#define YY_NO_UNPUT -#define YY_NO_INPUT int lineno = 1; int yylex(void); +#define YY_DECL int yylex(void) + %} +%option nounput +%option noinput %option noyywrap %% diff --git a/usr.bin/bc/scan.l b/usr.bin/bc/scan.l index 5d60bb37c..71cb29595 100644 --- a/usr.bin/bc/scan.l +++ b/usr.bin/bc/scan.l @@ -46,6 +46,7 @@ static void init_strbuf(void); static void add_str(const char *); static int bc_yyinput(char *, int); +#define YY_DECL int yylex(void) #define YY_NO_INPUT #undef YY_INPUT #define YY_INPUT(buf,retval,max) \ diff --git a/usr.bin/csup/token.l b/usr.bin/csup/token.l index 267e61fef..69f5ea4b6 100644 --- a/usr.bin/csup/token.l +++ b/usr.bin/csup/token.l @@ -35,12 +35,11 @@ #include "misc.h" #include "token.h" -#define YY_NO_UNPUT - int lineno = 1; %} +%option nounput %option noyywrap %% diff --git a/usr.bin/mklocale/lex.l b/usr.bin/mklocale/lex.l index d931df7d4..08fa54a4b 100644 --- a/usr.bin/mklocale/lex.l +++ b/usr.bin/mklocale/lex.l @@ -47,6 +47,8 @@ __FBSDID("$FreeBSD$"); #include "ldef.h" #include "y.tab.h" #include "extern.h" + +#define YY_DECL int yylex(void) %} ODIGIT [0-7] diff --git a/usr.bin/xlint/lint1/scan.l b/usr.bin/xlint/lint1/scan.l index 65d2d11c9..013a79520 100644 --- a/usr.bin/xlint/lint1/scan.l +++ b/usr.bin/xlint/lint1/scan.l @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include "cgram.h" #define CHAR_MASK (~(~0 << CHAR_BIT)) -#define YY_NO_UNPUT /* Current position (its also updated when an included file is parsed) */ pos_t curr_pos = { 1, "", 0 }; @@ -86,6 +85,8 @@ static int wcstrg(void); %} +%option nounput + L [_A-Za-z] D [0-9] NZD [1-9] diff --git a/usr.sbin/apmd/apmdlex.l b/usr.sbin/apmd/apmdlex.l index dc7664dd6..b002feb3f 100644 --- a/usr.sbin/apmd/apmdlex.l +++ b/usr.sbin/apmd/apmdlex.l @@ -36,14 +36,14 @@ #include "apmd.h" #include "y.tab.h" -/* We don't need it, avoid the warning. */ -#define YY_NO_UNPUT -#define YY_NO_INPUT - int lineno; int first_time; %} +/* We don't need it, avoid the warning. */ +%option nounput +%option noinput + %s TOP %% diff --git a/usr.sbin/bluetooth/bthidd/lexer.l b/usr.sbin/bluetooth/bthidd/lexer.l index 54821daa3..b9f62a1e7 100644 --- a/usr.sbin/bluetooth/bthidd/lexer.l +++ b/usr.sbin/bluetooth/bthidd/lexer.l @@ -37,6 +37,8 @@ #include "parser.h" int yylex (void); + +#define YY_DECL int yylex(void) %} %option yylineno noyywrap nounput noinput diff --git a/usr.sbin/config/lang.l b/usr.sbin/config/lang.l index 81f820f44..3e4e11560 100644 --- a/usr.sbin/config/lang.l +++ b/usr.sbin/config/lang.l @@ -38,9 +38,6 @@ #include "y.tab.h" #include "config.h" -#define YY_NO_UNPUT -#define YY_NO_INPUT - /* * Data for returning to previous files from include files. */ @@ -96,7 +93,12 @@ unsigned int octal(const char *); unsigned int hex(const char *); int yyerror(const char *); +#define YY_DECL int yylex(void) %} + +%option nounput +%option noinput + ID [A-Za-z_][-A-Za-z_0-9]* PATH [./][-/.%^A-Za-z_0-9]+ %START TOEOL diff --git a/usr.sbin/jail/jaillex.l b/usr.sbin/jail/jaillex.l index 0a2fcd72a..04de85f2a 100644 --- a/usr.sbin/jail/jaillex.l +++ b/usr.sbin/jail/jaillex.l @@ -36,17 +36,19 @@ __FBSDID("$FreeBSD$"); #include "jailp.h" #include "y.tab.h" -#define YY_NO_INPUT -#define YY_NO_UNPUT - extern int yynerrs; static ssize_t text2lval(size_t triml, size_t trimr, int tovar); static int instr; static int lineno = 1; + +#define YY_DECL int yylex(void) %} +%option noinput +%option nounput + %start _ DQ %% diff --git a/usr.sbin/kbdcontrol/lex.l b/usr.sbin/kbdcontrol/lex.l index e9ca2bc61..c49ced5b4 100644 --- a/usr.sbin/kbdcontrol/lex.l +++ b/usr.sbin/kbdcontrol/lex.l @@ -31,11 +31,12 @@ %{ #include "lex.h" -#define YY_NO_UNPUT -#define YY_NO_INPUT %} +%option nounput +%option noinput + D [0-9] X [0-9a-fA-F] A . diff --git a/usr.sbin/ndiscvt/inf-token.l b/usr.sbin/ndiscvt/inf-token.l index 1f290e1e1..3e2a1278d 100644 --- a/usr.sbin/ndiscvt/inf-token.l +++ b/usr.sbin/ndiscvt/inf-token.l @@ -43,8 +43,6 @@ __FBSDID("$FreeBSD$"); #include "y.tab.h" int lineno = 1; -#define YY_NO_UNPUT -#define YY_NO_INPUT int yylex(void); void yyerror(const char *); @@ -59,6 +57,9 @@ update_lineno(const char *cp) %} +%option nounput +%option noinput + %% [ \t]+ ; diff --git a/usr.sbin/rrenumd/lexer.l b/usr.sbin/rrenumd/lexer.l index bd0d3c0f3..6e55f9e88 100644 --- a/usr.sbin/rrenumd/lexer.l +++ b/usr.sbin/rrenumd/lexer.l @@ -32,8 +32,6 @@ */ %{ -#define YY_NO_UNPUT - #include #include #include @@ -64,6 +62,8 @@ void yyerror(const char *); int yylex(void); %} +%option nounput + /* common section */ nl \n ws [ \t]+ -- 2.45.0