diff options
author | Carl Worth <[email protected]> | 2010-08-23 09:29:49 -0700 |
---|---|---|
committer | Carl Worth <[email protected]> | 2010-08-23 10:48:10 -0700 |
commit | ff10d239af3b48f4ba13a0ef947e97d3302ea818 (patch) | |
tree | d9e1e2f9d7ffd7bf4e7be897b5a1792b44a00d44 /src/glsl/glcpp/glcpp-lex.l | |
parent | 2a9e791fdeb45080a98042d41c153ea19c17caae (diff) |
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.
Diffstat (limited to 'src/glsl/glcpp/glcpp-lex.l')
-rw-r--r-- | 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 c81bd044a2a..a90430f255b 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 |