summaryrefslogtreecommitdiffstats
path: root/src/compiler
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2016-11-08 11:14:49 -0800
committerEmil Velikov <emil.l.velikov@gmail.com>2016-11-23 14:00:44 +0000
commit953030bbb3635605b1ce8e5369ab6722b8602543 (patch)
treef79864e17e41cdb5e209bc84b17a2bbc78404b42 /src/compiler
parentdfd6b765ba25a3f9a40abbb85111e1369495beb7 (diff)
downloadexternal_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/compiler')
-rw-r--r--src/compiler/glsl/glsl_lexer.ll4
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]; }