aboutsummaryrefslogtreecommitdiff
path: root/tests/sysy_lvX/084_side_effect.sy
diff options
context:
space:
mode:
Diffstat (limited to 'tests/sysy_lvX/084_side_effect.sy')
-rw-r--r--tests/sysy_lvX/084_side_effect.sy29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/sysy_lvX/084_side_effect.sy b/tests/sysy_lvX/084_side_effect.sy
new file mode 100644
index 0000000..064b67e
--- /dev/null
+++ b/tests/sysy_lvX/084_side_effect.sy
@@ -0,0 +1,29 @@
+
+int a = -1, b = 1;
+
+int inc_a()
+{
+ int b = a;
+ b = b + 1;
+ a = b;
+ return a;
+}
+
+int main()
+{
+ int k = 5;
+ while (k >= 0) {
+ if (inc_a() && inc_a() && inc_a()) {
+ putint(a); putch(32); putint(b); putch(10);
+ }
+ if (inc_a() < 14 || inc_a() && inc_a() - inc_a() + 1) {
+ putint(a); putch(10);
+ b = b * 2;
+ } else {
+ inc_a();
+ }
+ k = k - 1;
+ }
+ putint(a); putch(32); putint(b); putch(10);
+ return a;
+}