mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
159f50e189
These were marked IR-only, but they do pass on the old codegen too. Also add old codegen version of semantictests/revertStrings/function_entry_checks.
39 lines
725 B
Solidity
39 lines
725 B
Solidity
contract C {
|
|
function f() public returns (uint x) {
|
|
x = 1;
|
|
uint a = 0;
|
|
for (; a < 10; a = a + 1) {
|
|
continue;
|
|
x = x + x;
|
|
}
|
|
x = x + a;
|
|
}
|
|
function g() public returns (uint x) {
|
|
x = 1;
|
|
uint a = 0;
|
|
while (a < 10) {
|
|
a = a + 1;
|
|
continue;
|
|
x = x + x;
|
|
}
|
|
x = x + a;
|
|
}
|
|
function h() public returns (uint x) {
|
|
x = 1;
|
|
uint a = 0;
|
|
do {
|
|
a = a + 1;
|
|
continue;
|
|
x = x + x;
|
|
} while (a < 4);
|
|
x = x + a;
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: also
|
|
// compileToEwasm: also
|
|
// ----
|
|
// f() -> 11
|
|
// g() -> 11
|
|
// h() -> 5
|