mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Enable yul optimizer by default.
This commit is contained in:
@@ -1042,12 +1042,6 @@ BOOST_AUTO_TEST_CASE(optimizer_settings_details_different)
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsAtMostWarnings(result));
|
||||
BOOST_CHECK(containsError(
|
||||
result,
|
||||
"Warning",
|
||||
"The Yul optimiser is still experimental. "
|
||||
"Do not use it in production unless correctness of generated code is verified with extensive tests."
|
||||
));
|
||||
Json::Value contract = getContractResult(result, "fileA", "A");
|
||||
BOOST_CHECK(contract.isObject());
|
||||
BOOST_CHECK(contract["metadata"].isString());
|
||||
|
||||
@@ -63,9 +63,17 @@ SyntaxTest::SyntaxTest(string const& _filename, langutil::EVMVersion _evmVersion
|
||||
|
||||
if (m_settings.count("optimize-yul"))
|
||||
{
|
||||
m_optimiseYul = true;
|
||||
m_validatedSettings["optimize-yul"] = "true";
|
||||
m_settings.erase("optimize-yul");
|
||||
if (m_settings["optimize-yul"] == "true")
|
||||
{
|
||||
m_validatedSettings["optimize-yul"] = "true";
|
||||
m_settings.erase("optimize-yul");
|
||||
}
|
||||
else if (m_settings["optimize-yul"] == "false")
|
||||
{
|
||||
m_validatedSettings["optimize-yul"] = "false";
|
||||
m_settings.erase("optimize-yul");
|
||||
m_optimiseYul = false;
|
||||
}
|
||||
}
|
||||
m_expectations = parseExpectations(file);
|
||||
m_parserErrorRecovery = _parserErrorRecovery;
|
||||
|
||||
@@ -90,7 +90,7 @@ protected:
|
||||
std::map<std::string, std::string> m_sources;
|
||||
std::vector<SyntaxTestError> m_expectations;
|
||||
std::vector<SyntaxTestError> m_errorList;
|
||||
bool m_optimiseYul = false;
|
||||
bool m_optimiseYul = true;
|
||||
langutil::EVMVersion const m_evmVersion;
|
||||
bool m_parserErrorRecovery = false;
|
||||
};
|
||||
|
||||
@@ -8,5 +8,4 @@ contract C {
|
||||
// ====
|
||||
// optimize-yul: true
|
||||
// ----
|
||||
// Warning: The Yul optimiser is still experimental. Do not use it in production unless correctness of generated code is verified with extensive tests.
|
||||
// SyntaxError: (52-101): The msize instruction cannot be used when the Yul optimizer is activated because it can change its semantics. Either disable the Yul optimizer or do not use the instruction.
|
||||
|
||||
@@ -5,4 +5,6 @@ contract C {
|
||||
}
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// optimize-yul: false
|
||||
// ----
|
||||
|
||||
Reference in New Issue
Block a user