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.
This commit is contained in:
Chad Versace
2011-02-02 10:15:19 -08:00
parent e7c1f058d1
commit fd1252ab67

View File

@@ -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) {