glsl: Change the lexer's namespace.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 29 Jul 2013 22:27:46 +0000 (15:27 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 31 Jul 2013 18:49:30 +0000 (11:49 -0700)
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 <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Tested-by: Laurent Carlier <lordheavym@gmail.com>
Cc: "9.2" mesa-stable@lists.freedesktop.org
src/glsl/glsl_lexer.ll
src/glsl/glsl_parser.yy
src/glsl/glsl_parser_extras.h

index 93752307da484b4f7cb8e7b8f215b3190bab22b2..e24df8096c38b67a24256f5916f68c274c2af684 100644 (file)
@@ -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
index bf312366b85dc954a4bc9d445d8e86db88744970..0b16d1d4a59a3afee4a52596b19dc5ca54ebc1df 100644 (file)
@@ -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
index 7f478df80623d82e3a94a29561e9998bd573efe1..1e386dd3132a60fa8f55e3b1754093e958e5f928 100644 (file)
@@ -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 *);