Mesa (glsl2): glcpp: Support #if(expression) with no intervening space.

Ian Romanick idr at kemper.freedesktop.org
Wed Jul 21 00:07:47 UTC 2010


Module: Mesa
Branch: glsl2
Commit: 17f9beb6c313b41ca08984add7b76ecb84a7339e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=17f9beb6c313b41ca08984add7b76ecb84a7339e

Author: Carl Worth <cworth at cworth.org>
Date:   Tue Jul 20 13:16:17 2010 -0700

glcpp: Support #if(expression) with no intervening space.

And add a test case to ensure that this works.

---

 src/glsl/glcpp/glcpp-lex.l                         |    2 +-
 src/glsl/glcpp/tests/066-if-nospace-expression.c   |    3 +++
 .../tests/066-if-nospace-expression.c.expected     |    4 ++++
 3 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l
index 53e8555..a81c8f9 100644
--- a/src/glsl/glcpp/glcpp-lex.l
+++ b/src/glsl/glcpp/glcpp-lex.l
@@ -99,7 +99,7 @@ HEXADECIMAL_INTEGER	0[xX][0-9a-fA-F]+[uU]?
 	return HASH_IFNDEF;
 }
 
-{HASH}if{HSPACE}/.*\n {
+{HASH}if{HSPACE}*/[^_a-zA-Z0-9].*\n {
 	yyextra->lexing_if = 1;
 	yyextra->space_tokens = 0;
 	return HASH_IF;
diff --git a/src/glsl/glcpp/tests/066-if-nospace-expression.c b/src/glsl/glcpp/tests/066-if-nospace-expression.c
new file mode 100644
index 0000000..3b0b473
--- /dev/null
+++ b/src/glsl/glcpp/tests/066-if-nospace-expression.c
@@ -0,0 +1,3 @@
+#if(1)
+success
+#endif
diff --git a/src/glsl/glcpp/tests/066-if-nospace-expression.c.expected b/src/glsl/glcpp/tests/066-if-nospace-expression.c.expected
new file mode 100644
index 0000000..0e84a7c
--- /dev/null
+++ b/src/glsl/glcpp/tests/066-if-nospace-expression.c.expected
@@ -0,0 +1,4 @@
+
+success
+
+




More information about the mesa-commit mailing list