C++: Add tests.

This commit is contained in:
Mathias Vorreiter Pedersen
2026-01-26 21:18:57 +00:00
parent e36080061d
commit bd09aad7d5
2 changed files with 96 additions and 0 deletions

View File

@@ -1252,4 +1252,64 @@ namespace globals_without_explicit_def {
calls_set_array();
sink(*global_int_array); // $ ir MISSING: ast
}
}
void crement_test1() {
int x = source();
sink(x++); // $ ir ast
sink(x);
x = source();
sink(x--); // $ ir ast
sink(x);
x = source();
sink(++x); // $ SPURIOUS: ast
sink(x); // $ SPURIOUS: ast
x = source();
sink(--x); // $ SPURIOUS: ast
sink(x); // $ SPURIOUS: ast
x = source();
sink(x += 10); // $ SPURIOUS: ast
sink(x); // $ SPURIOUS: ast
x = source();
sink(x -= 10); // $ SPURIOUS: ast
sink(x); // $ SPURIOUS: ast
}
void crement_test2(bool b, int y) {
int x = source();
sink(b ? x++ : x--); // $ ir ast
sink(x);
x = source();
sink((b ? x : y)++); // $ ast MISSING: ir
sink(x); // $ ir ast
x = source();
sink(++(b ? x : y));
sink(x); // $ ir ast
x = source();
sink(b ? x++ : y); // $ ir ast
sink(x); // $ ir ast
x = source();
sink(b ? x : y++); // $ ir ast
sink(x); // $ ir ast
x = source();
sink(b ? ++x : y); // $ SPURIOUS: ast
sink(x); // $ ir ast
x = source();
sink((long)x++); // $ ir ast
sink(x);
x = source();
sink(b ? (long)x++ : 0); // $ ir ast
sink(x); // $ ir ast
}