Module: Mesa Branch: master Commit: ff10d239af3b48f4ba13a0ef947e97d3302ea818 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff10d239af3b48f4ba13a0ef947e97d3302ea818
Author: Carl Worth <[email protected]> Date: Mon Aug 23 09:29:49 2010 -0700 glcpp: Fix source numbers set with "#line LINE_NUMBER SOURCE_NUMBER" Previously, the YY_USER_ACTION was overwriting the yylloc->source value in every action, (after that value had been carefully set by the handling of the #line directive). Instead, we want to initialize it once in YY_USER_INIT and then not touch it at all in YY_USER_ACTION. --- src/glsl/glcpp/glcpp-lex.l | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l index c81bd04..a90430f 100644 --- a/src/glsl/glcpp/glcpp-lex.l +++ b/src/glsl/glcpp/glcpp-lex.l @@ -38,12 +38,17 @@ void glcpp_set_column (int column_no , yyscan_t yyscanner); #define YY_USER_ACTION \ do { \ - yylloc->source = 0; \ yylloc->first_column = yycolumn + 1; \ yylloc->first_line = yylineno; \ yycolumn += yyleng; \ } while(0); -#define YY_USER_INIT yylineno = 1; yycolumn = 1; + +#define YY_USER_INIT \ + do { \ + yylineno = 1; \ + yycolumn = 1; \ + yylloc->source = 0; \ + } while(0) %} %option bison-bridge bison-locations reentrant noyywrap _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
