From eb7c8c7fb6e49a04f3fe84a6d438160dc4a14ac0 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 29 Jul 2013 15:27:46 -0700 Subject: [PATCH] glsl: Change the lexer's namespace. Bison 3.0 removes the YYLEX_PARAM macro. In preparation for handling this using %lex-param, the parser needs a wrapper function for the actual Flex lex() function. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67354 Signed-off-by: Kenneth Graunke Reviewed-by: Matt Turner Tested-by: Laurent Carlier Cc: "9.2" mesa-stable@lists.freedesktop.org --- src/glsl/glsl_lexer.ll | 2 +- src/glsl/glsl_parser.yy | 6 ++++++ src/glsl/glsl_parser_extras.h | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll index 9375230..e24df80 100644 --- a/src/glsl/glsl_lexer.ll +++ b/src/glsl/glsl_lexer.ll @@ -149,7 +149,7 @@ literal_integer(char *text, int len, struct _mesa_glsl_parse_state *state, %option bison-bridge bison-locations reentrant noyywrap %option nounput noyy_top_state %option never-interactive -%option prefix="_mesa_glsl_" +%option prefix="_mesa_glsl_lexer_" %option extra-type="struct _mesa_glsl_parse_state *" %x PP PRAGMA diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index bf31236..0b16d1d 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -39,6 +39,12 @@ static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg) { _mesa_glsl_error(loc, st, "%s", msg); } + +static int +_mesa_glsl_lex(YYSTYPE *val, YYLTYPE *loc, void *scanner) +{ + return _mesa_glsl_lexer_lex(val, loc, scanner); +} %} %expect 0 diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h index 7f478df..1e386dd 100644 --- a/src/glsl/glsl_parser_extras.h +++ b/src/glsl/glsl_parser_extras.h @@ -337,8 +337,8 @@ extern void _mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state, extern void _mesa_glsl_lexer_dtor(struct _mesa_glsl_parse_state *state); union YYSTYPE; -extern int _mesa_glsl_lex(union YYSTYPE *yylval, YYLTYPE *yylloc, - void *scanner); +extern int _mesa_glsl_lexer_lex(union YYSTYPE *yylval, YYLTYPE *yylloc, + void *scanner); extern int _mesa_glsl_parse(struct _mesa_glsl_parse_state *); -- 2.7.4