From: Kenneth Graunke <kenn...@whitecape.org> Without this, in the <PP> state, we would hit Flex's default rule, which prints tokens to stdout, rather than returning them as tokens. (Or, after the previous commit, we would hit the new catch-all rule and generate an internal compiler error.)
With this commit in place, we generate the desired syntax error. This manifested as a weird bug where shaders with semicolons after extension directives, such as: #extension GL_foo_bar : enable; would print semicolons to the screen, but otherwise compile just fine (even though this is illegal). Fixes Piglit's extension-semicolon.frag test. Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> Reviewed-by: Carl Worth <cwo...@cworth.org> --- src/glsl/glsl_lexer.ll | 1 + 1 file changed, 1 insertion(+) diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll index 1cadf1f..1a0dde2 100644 --- a/src/glsl/glsl_lexer.ll +++ b/src/glsl/glsl_lexer.ll @@ -239,6 +239,7 @@ HASH ^{SPC}#{SPC} return INTCONSTANT; } <PP>\n { BEGIN 0; yylineno++; yycolumn = 0; return EOL; } +<PP>. { return yytext[0]; } \n { yylineno++; yycolumn = 0; } -- 2.0.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev