mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #8937 from mijovic/sol2YulNewByteN
[Sol->Yul] Enabling new bytes(n)
This commit is contained in:
commit
53bec48d36
@ -1499,8 +1499,6 @@ string YulUtilFunctions::zeroComplexMemoryArrayFunction(ArrayType const& _type)
|
|||||||
|
|
||||||
string YulUtilFunctions::allocateAndInitializeMemoryArrayFunction(ArrayType const& _type)
|
string YulUtilFunctions::allocateAndInitializeMemoryArrayFunction(ArrayType const& _type)
|
||||||
{
|
{
|
||||||
solUnimplementedAssert(!_type.isByteArray(), "");
|
|
||||||
|
|
||||||
string functionName = "allocate_and_zero_memory_array_" + _type.identifier();
|
string functionName = "allocate_and_zero_memory_array_" + _type.identifier();
|
||||||
return m_functionCollector.createFunction(functionName, [&]() {
|
return m_functionCollector.createFunction(functionName, [&]() {
|
||||||
return Whiskers(R"(
|
return Whiskers(R"(
|
||||||
|
@ -56,6 +56,7 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
|
// compileViaYul: also
|
||||||
// EVMVersion: >homestead
|
// EVMVersion: >homestead
|
||||||
// ----
|
// ----
|
||||||
// test_bytes() ->
|
// test_bytes() ->
|
||||||
|
@ -57,6 +57,7 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
|
// compileViaYul: also
|
||||||
// EVMVersion: >homestead
|
// EVMVersion: >homestead
|
||||||
// ----
|
// ----
|
||||||
// test_bytes() ->
|
// test_bytes() ->
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
contract C {
|
||||||
|
function f() public returns (bytes1) {
|
||||||
|
bytes memory x = new bytes(35);
|
||||||
|
assert(x.length == 35);
|
||||||
|
x[34] = "A";
|
||||||
|
return (x[34]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ====
|
||||||
|
// compileViaYul: also
|
||||||
|
// ----
|
||||||
|
// f() -> "A"
|
@ -9,5 +9,7 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ====
|
||||||
|
// compileViaYul: also
|
||||||
// ----
|
// ----
|
||||||
// test() -> 0x20, 0x5, "12345"
|
// test() -> 0x20, 0x5, "12345"
|
||||||
|
Loading…
Reference in New Issue
Block a user