mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Test for buggy behaviour.
This commit is contained in:
parent
dccc06cc29
commit
a27b063c10
@ -0,0 +1,36 @@
|
||||
contract C {
|
||||
event ev0(uint[] i0, uint);
|
||||
bytes public s2;
|
||||
function h() external returns (bytes memory) {
|
||||
uint[] memory x = new uint[](2);
|
||||
emit ev0(x, 0x21);
|
||||
bytes memory m = new bytes(63);
|
||||
s2 = m;
|
||||
s2.push();
|
||||
return s2;
|
||||
}
|
||||
function g() external returns (bytes memory) {
|
||||
bytes memory m = new bytes(63);
|
||||
assembly {
|
||||
mstore8(add(m, add(32, 63)), 0x42)
|
||||
}
|
||||
s2 = m;
|
||||
s2.push();
|
||||
return s2;
|
||||
}
|
||||
function f(bytes calldata c) external returns (bytes memory) {
|
||||
s2 = c;
|
||||
s2.push();
|
||||
return s2;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileViaYul: false
|
||||
// ----
|
||||
// constructor() ->
|
||||
// gas legacy: 616124
|
||||
// gas legacyOptimized: 450817
|
||||
// h() -> 0x20, 0x40, 0x00, 2
|
||||
// ~ emit ev0(uint256[],uint256): 0x40, 0x21, 0x02, 0x00, 0x00
|
||||
// g() -> 0x20, 0x40, 0, 0x42
|
||||
// f(bytes): 0x20, 33, 0, -1 -> 0x20, 0x22, 0, 0xffff000000000000000000000000000000000000000000000000000000000000
|
Loading…
Reference in New Issue
Block a user