[Mesa-dev] [PATCH] glcpp: Fix locations when encounting "#<NEWLINE>".

Kenneth Graunke kenneth at whitecape.org
Wed Mar 9 03:09:20 UTC 2016


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 <kenneth at whitecape.org>
---
 src/compiler/glsl/glcpp/glcpp-lex.l                             | 3 +++
 src/compiler/glsl/glcpp/tests/146-version-first-hash.c.expected | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/glcpp/glcpp-lex.l b/src/compiler/glsl/glcpp/glcpp-lex.l
index 071918e..d09441a 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 2872090..e8e4497 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
 
 
-- 
2.7.2



More information about the mesa-dev mailing list