diff options
-rw-r--r-- | src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c | 11 | ||||
-rw-r--r-- | src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c.expected | 15 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c b/src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c index a9c6f36def8..04497b17913 100644 --- a/src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c +++ b/src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c @@ -1,2 +1,13 @@ +/* glcpp is generating a division-by-zero error for this case. It's + * easy to argue that it should be short-circuiting the evaluation and + * not generating the diagnostic (which happens to be what gcc does). + * But it doesn't seem like we should force this behavior on our + * pre-processor, (and, as always, the GLSL specification of the + * pre-processor is too vague on this point). + * + * If a short-circuit evaluation optimization does get added to the + * pre-processor then it would legitimate to update the expected file + * for this test. +*/ #if 1 || (1 / 0) #endif diff --git a/src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c.expected b/src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c.expected new file mode 100644 index 00000000000..84fdc50c920 --- /dev/null +++ b/src/glsl/glcpp/tests/094-divide-by-zero-short-circuit.c.expected @@ -0,0 +1,15 @@ +0:12(17): preprocessor error: division by 0 in preprocessor directive + + + + + + + + + + + + + + |