diff options
Diffstat (limited to 'tests/sysy_lvX/026_func_if_return.sy')
| -rw-r--r-- | tests/sysy_lvX/026_func_if_return.sy | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/sysy_lvX/026_func_if_return.sy b/tests/sysy_lvX/026_func_if_return.sy new file mode 100644 index 0000000..2c612fd --- /dev/null +++ b/tests/sysy_lvX/026_func_if_return.sy @@ -0,0 +1,42 @@ +int foo() +{ + int a = 0, b = 1, c = 2; + if (a) { + return b; + } + if (b) + return c; + return a; +} + +void bar() +{ + int a = 1, b = 0, c; + if (b) { + c = a; + return; + } + b = 2; + if (a) { + c = b; + return; + } + a = 3; + return; +} + +int main() +{ + bar(); + bar(); + int a = foo(); + bar(); + a = 159; + bar(); + bar(); + a = foo(); + bar(); + bar(); + bar(); + return a; +}
\ No newline at end of file |
