glsl/glcpp: Don't include any newline characters in #error token
authorCarl Worth <cworth@cworth.org>
Thu, 3 Jul 2014 05:20:43 +0000 (22:20 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 7 Aug 2014 23:08:29 +0000 (16:08 -0700)
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

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/glcpp/glcpp-lex.l

index 48cc62c1109fe1a00b158bcc33f52a4618d6d632..98d500ec0be18cfda86c03acc1dd215f49526b2f 100644 (file)
@@ -353,7 +353,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_TOKEN);
 }