diff --git a/test/val/bug2946.c b/test/val/bug2946.c new file mode 100644 index 000000000..81ba05195 --- /dev/null +++ b/test/val/bug2946.c @@ -0,0 +1,22 @@ + +/* bug #2946: Incomplete, non-removable Rhs asserts in OptStackOps */ + +#include +#include + +unsigned char a, b = 0; +unsigned char c = 10; +unsigned char d = 1; + +int main(void) { + /* 'if' needed to produce a label below, moved by OptJumpTarget3 */ + if (b != 0) { + /* Operation not important; it only affects the removal of one LDX #$00 */ + b = 0; + } + + /* d >= 0 is const, A/X=1 (Warning: Result of comparison is always true) */ + a = c - (d >= 0); + + return !(a == 9); +}