Tests and changelog

This commit is contained in:
Harikrishnan Mulackal
2020-09-03 13:15:38 +02:00
parent e2fd41f097
commit 974e35d09c
23 changed files with 615 additions and 96 deletions
+9 -1
View File
@@ -29,6 +29,7 @@
#include <libsolutil/CommonData.h>
#include <test/Metadata.h>
#include <algorithm>
#include <set>
using namespace std;
@@ -1235,9 +1236,16 @@ BOOST_AUTO_TEST_CASE(use_stack_optimization)
BOOST_REQUIRE(contract["evm"]["bytecode"]["object"].isString());
BOOST_CHECK(contract["evm"]["bytecode"]["object"].asString().length() > 20);
// Now disable stack optimizations
// Now disable stack optimizations and UnusedFunctionParameterPruner (p)
// results in "stack too deep"
string optimiserSteps = OptimiserSettings::DefaultYulOptimiserSteps;
optimiserSteps.erase(
remove_if(optimiserSteps.begin(), optimiserSteps.end(), [](char ch) { return ch == 'p'; }),
optimiserSteps.end()
);
parsedInput["settings"]["optimizer"]["details"]["yulDetails"]["stackAllocation"] = false;
parsedInput["settings"]["optimizer"]["details"]["yulDetails"]["optimizerSteps"] = optimiserSteps;
result = compiler.compile(parsedInput);
BOOST_REQUIRE(result["errors"].isArray());
BOOST_CHECK(result["errors"][0]["severity"] == "error");
@@ -17,9 +17,9 @@ contract C {
// optimize-yul: true
// ----
// creation:
// codeDepositCost: 616600
// codeDepositCost: 614600
// executionCost: 651
// totalCost: 617251
// totalCost: 615251
// external:
// a(): 1029
// b(uint256): 2084