[Mesa-dev] [PATCH 3/5] glsl/glcpp: Don't include any newline characters in #error token

Carl Worth cworth at cworth.org
Wed Jul 2 23:05:11 PDT 2014


Some tests were failing because the message printed by #error was including a
'\r' character from the source file in its output.

This is easily avoided by fixing the regular expression for #error to never
include any of the possible newline characters, (neither '\r' nor '\n').

With this commit 2 tests are fixed for each of the '\r' and '\r\n' cases.

Current results after the commit are:

	\r:	137/143 tests pass
	\r\n	142/143 tests pass
	\n\r:	139/143 tests pass
---
 src/glsl/glcpp/glcpp-lex.l | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l
index bcc1337..d078339 100644
--- a/src/glsl/glcpp/glcpp-lex.l
+++ b/src/glsl/glcpp/glcpp-lex.l
@@ -348,7 +348,7 @@ HEXADECIMAL_INTEGER	0[xX][0-9a-fA-F]+[uU]?
 	RETURN_TOKEN_NEVER_SKIP (ENDIF);
 }
 
-<HASH>error.* {
+<HASH>error[^\r\n]* {
 	BEGIN INITIAL;
 	RETURN_STRING_TOKEN (ERROR);
 }
-- 
2.0.0



More information about the mesa-dev mailing list