Mesa (master): glcpp: Do not remove spaces to preserve locations.

Kenneth Graunke kwg at kemper.freedesktop.org
Sat Mar 8 09:45:06 UTC 2014


Module: Mesa
Branch: master
Commit: 6e39a8f6ec41b44f41b3c4a710478a2e442efc0a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e39a8f6ec41b44f41b3c4a710478a2e442efc0a

Author: Sir Anthony <anthony at adsorbtion.org>
Date:   Wed Feb  5 20:15:56 2014 +0600

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 <kenneth at whitecape.org>

---

 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 6bf7950..188e454 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 696cb3a..1f2320e 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 83f7834..5e17ec9 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 6cfac25..36f98aa 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;
 }
 




More information about the mesa-commit mailing list