Mesa (master): glcpp: Fix source numbers set with " #line LINE_NUMBER SOURCE_NUMBER"
Carl Worth
cworth at kemper.freedesktop.org
Mon Aug 23 17:48:14 UTC 2010
Module: Mesa
Branch: master
Commit: ff10d239af3b48f4ba13a0ef947e97d3302ea818
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff10d239af3b48f4ba13a0ef947e97d3302ea818
Author: Carl Worth <cworth at cworth.org>
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
More information about the mesa-commit
mailing list