From bab2391a7cb5b3a823d8164073e0d307e7e23895 Mon Sep 17 00:00:00 2001 From: chriseth Date: Mon, 29 Apr 2019 16:38:18 +0200 Subject: [PATCH] Test case for loops. --- .../semanticTests/viaYul/loops.sol | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 test/libsolidity/semanticTests/viaYul/loops.sol diff --git a/test/libsolidity/semanticTests/viaYul/loops.sol b/test/libsolidity/semanticTests/viaYul/loops.sol new file mode 100644 index 000000000..02cefc021 --- /dev/null +++ b/test/libsolidity/semanticTests/viaYul/loops.sol @@ -0,0 +1,40 @@ +contract C { + function f() public returns (uint x) { + x = 1; + for (uint a = 0; a < 10; a = a + 1) { + x = x + x; + } + } + function g() public returns (uint x) { + x = 1; + for (uint a = 0; a < 10; a = a + 1) { + x = x + x; + break; + } + } + function h() public returns (uint x) { + x = 1; + uint a = 0; + for (; a < 10; a = a + 1) { + continue; + x = x + x; + } + x = x + a; + } + function i() public returns (uint x) { + x = 1; + uint a; + for (; a < 10; a = a + 1) { + return x; + x = x + x; + } + x = x + a; + } +} +// === +// compileViaYul: true +// ---- +// f() -> 1024 +// g() -> 2 +// h() -> 11 +// i() -> 1