summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2012-11-26 15:00:05 -0800
committerIan Romanick <ian.d.romanick@intel.com>2013-01-11 10:57:25 -0800
commit93e719ba4da7c45cdddd276060acbcc1a4edceda (patch)
treef45b7d6947776b9479237c8ba22cb134ac2887cb
parent77e1bc9f1db315c68d6fd8c1441a678d33ca4db2 (diff)
downloadexternal_mesa3d-93e719ba4da7c45cdddd276060acbcc1a4edceda.zip
external_mesa3d-93e719ba4da7c45cdddd276060acbcc1a4edceda.tar.gz
external_mesa3d-93e719ba4da7c45cdddd276060acbcc1a4edceda.tar.bz2
glcpp: Make undefined macros illegal in #if and #elif for GLES3
Simply emitting a nicely-formatted error message if any undefined macro is encountered in a parser context expecting an expression. With this commit, the following piglit test now passes: spec/glsl-es-3.00/compiler/undefined-macro.vert Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-rw-r--r--src/glsl/glcpp/glcpp-parse.y2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index 76dcd42..8fba923 100644
--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -363,6 +363,8 @@ integer_constant:
expression:
integer_constant
| IDENTIFIER {
+ if (parser->is_gles)
+ glcpp_error(& @1, parser, "undefined macro %s in expression (illegal in GLES)", $1);
$$ = 0;
}
| expression OR expression {