We accidentally had support for null directives, (that is, a line with "#" and
nothing else) in two places: the lexer and the parser.

The support in the lexer was broken, (expecting the '#' to be followed
immediately by a newline), so it caused failures if the '#' was followed
immediately by whitespace before the newline.

So all we have to do here is to remove the rule from the lexer so that the
parser's correct rule can actuall see and handle the null directive.
---
 src/glsl/glcpp/glcpp-lex.l | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l
index 09dba35..1537694 100644
--- a/src/glsl/glcpp/glcpp-lex.l
+++ b/src/glsl/glcpp/glcpp-lex.l
@@ -381,11 +381,6 @@ HEXADECIMAL_INTEGER        0[xX][0-9a-fA-F]+[uU]?
        RETURN_TOKEN (UNDEF);
 }
 
-<HASH>{NEWLINE} {
-       BEGIN INITIAL;
-       RETURN_TOKEN (HASH_TOKEN);
-}
-
 <HASH>{HSPACE}+ {
        /* Nothing to do here. Importantly, don't leave the <HASH>
         * start condition, since it's legal to have space between the
-- 
2.0.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to