[Mesa-dev] [PATCH] glcpp: Fix locations when encounting "#<NEWLINE>".
Iago Toral
itoral at igalia.com
Wed Mar 9 15:23:30 UTC 2016
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
On Tue, 2016-03-08 at 19:09 -0800, Kenneth Graunke wrote:
> 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
>
>
More information about the mesa-dev
mailing list