From 6e39a8f6ec41b44f41b3c4a710478a2e442efc0a Mon Sep 17 00:00:00 2001 From: Sir Anthony Date: Wed, 5 Feb 2014 20:15:56 +0600 Subject: [PATCH] glcpp: Do not remove spaces to preserve locations. After preprocessing by glcpp all adjacent spaces were replaced by single one and glsl parser received column-shifted shader source. It negatively affected ast location set up and produced wrong error messages for heavily-spaced shaders. Reviewed-by: Kenneth Graunke --- src/glsl/glcpp/glcpp-lex.l | 2 +- src/glsl/glcpp/tests/000-content-with-spaces.c | 2 +- src/glsl/glcpp/tests/000-content-with-spaces.c.expected | 2 +- src/glsl/glcpp/tests/100-macro-with-colon.c.expected | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l index 6bf7950412f..188e454664a 100644 --- a/src/glsl/glcpp/glcpp-lex.l +++ b/src/glsl/glcpp/glcpp-lex.l @@ -338,7 +338,7 @@ HEXADECIMAL_INTEGER 0[xX][0-9a-fA-F]+[uU]? return OTHER; } -{HSPACE}+ { +{HSPACE} { if (yyextra->space_tokens) { return SPACE; } diff --git a/src/glsl/glcpp/tests/000-content-with-spaces.c b/src/glsl/glcpp/tests/000-content-with-spaces.c index 696cb3a74fc..1f2320e6fc1 100644 --- a/src/glsl/glcpp/tests/000-content-with-spaces.c +++ b/src/glsl/glcpp/tests/000-content-with-spaces.c @@ -1 +1 @@ -this is four tokens + this is four tokens with spaces diff --git a/src/glsl/glcpp/tests/000-content-with-spaces.c.expected b/src/glsl/glcpp/tests/000-content-with-spaces.c.expected index 83f7834d547..5e17ec910fa 100644 --- a/src/glsl/glcpp/tests/000-content-with-spaces.c.expected +++ b/src/glsl/glcpp/tests/000-content-with-spaces.c.expected @@ -1,2 +1,2 @@ -this is four tokens + this is four tokens with spaces diff --git a/src/glsl/glcpp/tests/100-macro-with-colon.c.expected b/src/glsl/glcpp/tests/100-macro-with-colon.c.expected index 6cfac257b95..36f98aa3efc 100644 --- a/src/glsl/glcpp/tests/100-macro-with-colon.c.expected +++ b/src/glsl/glcpp/tests/100-macro-with-colon.c.expected @@ -2,7 +2,7 @@ switch (1) { - case 1 + 2: - break; + case 1 + 2: + break; } -- 2.30.2