diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2016-11-08 11:14:49 -0800 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2016-11-23 14:00:44 +0000 |
commit | 953030bbb3635605b1ce8e5369ab6722b8602543 (patch) | |
tree | f79864e17e41cdb5e209bc84b17a2bbc78404b42 /src | |
parent | dfd6b765ba25a3f9a40abbb85111e1369495beb7 (diff) | |
download | external_mesa3d-953030bbb3635605b1ce8e5369ab6722b8602543.zip external_mesa3d-953030bbb3635605b1ce8e5369ab6722b8602543.tar.gz external_mesa3d-953030bbb3635605b1ce8e5369ab6722b8602543.tar.bz2 |
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@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97420
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Cc: mesa-stable@lists.freedesktop.org
Cc: Juan A. Suarez Romero <jasuarez@igalia.com>
Cc: Karol Herbst <karolherbst@gmail.com>
(cherry picked from commit c8c46641af43edd106528ac0293db5aa02a2364e)
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/glsl/glsl_lexer.ll | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/glsl/glsl_lexer.ll b/src/compiler/glsl/glsl_lexer.ll index d5e5d4c..450faeb 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]; } |