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

Reply via email to