Merge pull request #6396 from ethereum/optSetForAsmStack

Make optimiser settings available to assembly stack.
This commit is contained in:
chriseth
2019-03-28 19:03:23 +01:00
committed by GitHub
17 changed files with 111 additions and 46 deletions
+4 -5
View File
@@ -61,14 +61,13 @@ boost::optional<Error> parseAndReturnFirstError(
AssemblyStack::Machine _machine = AssemblyStack::Machine::EVM
)
{
AssemblyStack stack(dev::test::Options::get().evmVersion(), _language);
AssemblyStack stack(dev::test::Options::get().evmVersion(), _language, dev::solidity::OptimiserSettings::none());
bool success = false;
try
{
success = stack.parseAndAnalyze("", _source);
bool const optimize = false;
if (success && _assemble)
stack.assemble(_machine, optimize);
stack.assemble(_machine);
}
catch (FatalError const&)
{
@@ -124,7 +123,7 @@ Error expectError(
void parsePrintCompare(string const& _source, bool _canWarn = false)
{
AssemblyStack stack(dev::test::Options::get().evmVersion());
AssemblyStack stack(dev::test::Options::get().evmVersion(), AssemblyStack::Language::Assembly, OptimiserSettings::none());
BOOST_REQUIRE(stack.parseAndAnalyze("", _source));
if (_canWarn)
BOOST_REQUIRE(Error::containsOnlyWarnings(stack.errors()));
@@ -598,7 +597,7 @@ BOOST_AUTO_TEST_CASE(print_string_literal_unicode)
{
string source = "{ let x := \"\\u1bac\" }";
string parsed = "object \"object\" {\n code {\n let x := \"\\xe1\\xae\\xac\"\n }\n}\n";
AssemblyStack stack(dev::test::Options::get().evmVersion());
AssemblyStack stack(dev::test::Options::get().evmVersion(), AssemblyStack::Language::Assembly, OptimiserSettings::none());
BOOST_REQUIRE(stack.parseAndAnalyze("", source));
BOOST_REQUIRE(stack.errors().empty());
BOOST_CHECK_EQUAL(stack.print(), parsed);