mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
58 lines
1.3 KiB
Solidity
58 lines
1.3 KiB
Solidity
contract C {
|
|
uint256[1024] s;
|
|
function g() public returns (uint256) {
|
|
// try to prevent inlining
|
|
return f() + f() + f() + f() + f();
|
|
}
|
|
function f() public returns (uint256 x) {
|
|
x = 42;
|
|
uint256 x0 = s[0];
|
|
uint256 x1 = s[1];
|
|
uint256 x2 = s[2];
|
|
uint256 x3 = s[3];
|
|
uint256 x4 = s[4];
|
|
uint256 x5 = s[5];
|
|
uint256 x6 = s[6];
|
|
uint256 x7 = s[7];
|
|
uint256 x8 = s[8];
|
|
uint256 x9 = s[9];
|
|
uint256 x10 = s[10];
|
|
uint256 x11 = s[11];
|
|
uint256 x12 = s[12];
|
|
uint256 x13 = s[13];
|
|
uint256 x14 = s[14];
|
|
uint256 x15 = s[15];
|
|
uint256 x16 = s[16];
|
|
uint256 x17 = s[17];
|
|
uint256 x18 = s[18];
|
|
s[1000] = x0 + 2;
|
|
s[118] = x18;
|
|
s[117] = x17;
|
|
s[116] = x16;
|
|
s[115] = x15;
|
|
s[114] = x14;
|
|
s[113] = x13;
|
|
s[112] = x12;
|
|
s[111] = x11;
|
|
s[110] = x10;
|
|
s[109] = x9;
|
|
s[108] = x8;
|
|
s[107] = x7;
|
|
s[106] = x6;
|
|
s[105] = x5;
|
|
s[104] = x4;
|
|
s[103] = x3;
|
|
s[102] = x2;
|
|
s[101] = x1;
|
|
s[100] = x0;
|
|
}
|
|
function test() public view returns(uint256) {
|
|
return s[1000];
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: true
|
|
// ----
|
|
// f() -> 0x2a
|
|
// test() -> 2
|