diff options
author | Kenneth Graunke <[email protected]> | 2016-03-08 19:03:11 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2016-03-10 11:23:26 -0800 |
commit | e032e4ad5a3f73dffb1a8babcfd333954a574ffa (patch) | |
tree | e8bfcb081c2857e59826cf9206248129741a1971 /src/compiler | |
parent | 84f857bef79d66d229a001554719e9299ebe0881 (diff) |
glcpp: Fix locations when encounting "#<NEWLINE>".
We were failing to reset our location tracking when encountering a
NEWLINE in the <HASH> state. Rip the code from the <*>{NEWLINE} rule,
which handles this properly.
Also, update 146-version-first-hash.c to have proper expectations.
When I introduced the test, I didn't verify that the line/column
numbers were correct, and it turns out they varied based on the type
of newline ending.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94447
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/glsl/glcpp/glcpp-lex.l | 3 | ||||
-rw-r--r-- | src/compiler/glsl/glcpp/tests/146-version-first-hash.c.expected | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/glsl/glcpp/glcpp-lex.l b/src/compiler/glsl/glcpp/glcpp-lex.l index 071918e5692..d09441aac88 100644 --- a/src/compiler/glsl/glcpp/glcpp-lex.l +++ b/src/compiler/glsl/glcpp/glcpp-lex.l @@ -320,6 +320,9 @@ HEXADECIMAL_INTEGER 0[xX][0-9a-fA-F]+[uU]? <HASH>{NEWLINE} { BEGIN INITIAL; + yyextra->space_tokens = 0; + yylineno++; + yycolumn = 0; RETURN_TOKEN_NEVER_SKIP (NEWLINE); } diff --git a/src/compiler/glsl/glcpp/tests/146-version-first-hash.c.expected b/src/compiler/glsl/glcpp/tests/146-version-first-hash.c.expected index 2872090333d..e8e449793fd 100644 --- a/src/compiler/glsl/glcpp/tests/146-version-first-hash.c.expected +++ b/src/compiler/glsl/glcpp/tests/146-version-first-hash.c.expected @@ -1,3 +1,3 @@ -0:1(3): preprocessor error: #version must appear on the first line +0:2(1): preprocessor error: #version must appear on the first line |