[Sol->Yul] Enabling new bytes(n)

This commit is contained in:
Djordje Mijovic 2020-05-14 12:34:37 +02:00
parent a6d0067bde
commit 472fb21ee0
5 changed files with 16 additions and 2 deletions

View File

@ -1499,8 +1499,6 @@ string YulUtilFunctions::zeroComplexMemoryArrayFunction(ArrayType const& _type)
string YulUtilFunctions::allocateAndInitializeMemoryArrayFunction(ArrayType const& _type)
{
solUnimplementedAssert(!_type.isByteArray(), "");
string functionName = "allocate_and_zero_memory_array_" + _type.identifier();
return m_functionCollector.createFunction(functionName, [&]() {
return Whiskers(R"(

View File

@ -56,6 +56,7 @@ contract C {
}
}
// ====
// compileViaYul: also
// EVMVersion: >homestead
// ----
// test_bytes() ->

View File

@ -57,6 +57,7 @@ contract C {
}
}
// ====
// compileViaYul: also
// EVMVersion: >homestead
// ----
// test_bytes() ->

View File

@ -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"

View File

@ -9,5 +9,7 @@ contract C {
}
}
// ====
// compileViaYul: also
// ----
// test() -> 0x20, 0x5, "12345"