Mesa (master): glsl: Parse 0 as a preprocessor INTCONSTANT
Ian Romanick
idr at kemper.freedesktop.org
Thu Nov 10 18:58:36 UTC 2016
Module: Mesa
Branch: master
Commit: c8c46641af43edd106528ac0293db5aa02a2364e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8c46641af43edd106528ac0293db5aa02a2364e
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 8 11:14:49 2016 -0800
glsl: Parse 0 as a preprocessor INTCONSTANT
This allows a more reasonable error message for '#version 0' of
0:1(10): error: GLSL 0.00 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES
instead of
0:1(10): error: syntax error, unexpected $undefined, expecting INTCONSTANT
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97420
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Cc: mesa-stable at lists.freedesktop.org
Cc: Juan A. Suarez Romero <jasuarez at igalia.com>
Cc: Karol Herbst <karolherbst at gmail.com>
---
src/compiler/glsl/glsl_lexer.ll | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/compiler/glsl/glsl_lexer.ll b/src/compiler/glsl/glsl_lexer.ll
index b473af7..0e722cb 100644
--- a/src/compiler/glsl/glsl_lexer.ll
+++ b/src/compiler/glsl/glsl_lexer.ll
@@ -253,6 +253,10 @@ HASH ^{SPC}#{SPC}
yylval->n = strtol(yytext, NULL, 10);
return INTCONSTANT;
}
+<PP>0 {
+ yylval->n = 0;
+ return INTCONSTANT;
+ }
<PP>\n { BEGIN 0; yylineno++; yycolumn = 0; return EOL; }
<PP>. { return yytext[0]; }
More information about the mesa-commit
mailing list