glsl: Update lexers in glsl and glcpp to hande end position of token.
authorSir Anthony <anthony@adsorbtion.org>
Wed, 5 Feb 2014 15:18:08 +0000 (21:18 +0600)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 8 Mar 2014 09:29:00 +0000 (01:29 -0800)
Reviewed-by: Carl Worth <cworth@cworth.org>
src/glsl/glcpp/glcpp-lex.l
src/glsl/glsl_lexer.ll

index ea3b862..6bf7950 100644 (file)
@@ -47,8 +47,9 @@ void glcpp_set_column (int  column_no , yyscan_t yyscanner);
                if (parser->has_new_source_number)                      \
                        yylloc->source = parser->new_source_number;     \
                yylloc->first_column = yycolumn + 1;                    \
-               yylloc->first_line = yylineno;                          \
+               yylloc->first_line = yylloc->last_line = yylineno;      \
                yycolumn += yyleng;                                     \
+               yylloc->last_column = yycolumn + 1;                     \
                parser->has_new_line_number = 0;                        \
                parser->has_new_source_number = 0;                      \
  } while(0);
index 9fd9b80..7602351 100644 (file)
@@ -38,8 +38,9 @@ static int classify_identifier(struct _mesa_glsl_parse_state *, const char *);
    do {                                                                \
       yylloc->source = 0;                                      \
       yylloc->first_column = yycolumn + 1;                     \
-      yylloc->first_line = yylineno + 1;                       \
+      yylloc->first_line = yylloc->last_line = yylineno + 1;   \
       yycolumn += yyleng;                                      \
+      yylloc->last_column = yycolumn + 1;                      \
    } while(0);
 
 #define YY_USER_INIT yylineno = 0; yycolumn = 0;