Module: Mesa Branch: master Commit: fd1252ab67abb1ea351195e192429f292667a8a2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd1252ab67abb1ea351195e192429f292667a8a2
Author: Chad Versace <[email protected]> Date: Wed Feb 2 10:15:19 2011 -0800 glcpp: Raise error when modulus is zero For example, this now raises an error: #define XXX 1 / 0 Fixes bug: https://bugs.freedesktop.org//show_bug.cgi?id=33507 Fixes Piglit test: spec/glsl-1.10/preprocessor/modulus-by-zero.vert NOTE: This is a candidate for the 7.9 and 7.10 branches. --- src/glsl/glcpp/glcpp-parse.y | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y index aa5a0c4..1f6e67f 100644 --- a/src/glsl/glcpp/glcpp-parse.y +++ b/src/glsl/glcpp/glcpp-parse.y @@ -388,7 +388,12 @@ expression: $$ = $1 + $3; } | expression '%' expression { - $$ = $1 % $3; + if ($3 == 0) { + yyerror (& @1, parser, + "zero modulus in preprocessor directive"); + } else { + $$ = $1 % $3; + } } | expression '/' expression { if ($3 == 0) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
