Make optimiser settings available to assembly stack.

This commit is contained in:
chriseth
2019-03-28 18:24:13 +01:00
parent 30da62aa2c
commit 3264e9abf0
17 changed files with 111 additions and 46 deletions
@@ -28,14 +28,18 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* _data, size_t _size)
return 0;
string input(reinterpret_cast<char const*>(_data), _size);
AssemblyStack stack(langutil::EVMVersion(), AssemblyStack::Language::StrictAssembly);
AssemblyStack stack(
langutil::EVMVersion(),
AssemblyStack::Language::StrictAssembly,
dev::solidity::OptimiserSettings::full()
);
if (!stack.parseAndAnalyze("source", input))
return 0;
try
{
MachineAssemblyObject obj = stack.assemble(AssemblyStack::Machine::EVM, /*optimize=*/true);
MachineAssemblyObject obj = stack.assemble(AssemblyStack::Machine::EVM);
solAssert(obj.bytecode, "");
}
catch (StackTooDeepError const&)