mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Passing eofVersion down
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
#include <libevmasm/Disassemble.h>
|
||||
#include <libyul/Exceptions.h>
|
||||
|
||||
#include <test/Common.h>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <algorithm>
|
||||
@@ -59,15 +60,15 @@ BOOST_AUTO_TEST_CASE(all_assembly_items)
|
||||
{ "sub.asm", 1 },
|
||||
{ "verbatim.asm", 2 }
|
||||
};
|
||||
Assembly _assembly{false, {}};
|
||||
Assembly _assembly{false, solidity::test::CommonOptions::get().eofVersion(), {}};
|
||||
auto root_asm = make_shared<string>("root.asm");
|
||||
_assembly.setSourceLocation({1, 3, root_asm});
|
||||
|
||||
Assembly _subAsm{false, {}};
|
||||
Assembly _subAsm{false, solidity::test::CommonOptions::get().eofVersion(), {}};
|
||||
auto sub_asm = make_shared<string>("sub.asm");
|
||||
_subAsm.setSourceLocation({6, 8, sub_asm});
|
||||
|
||||
Assembly _verbatimAsm(true, "");
|
||||
Assembly _verbatimAsm(true, solidity::test::CommonOptions::get().eofVersion(), "");
|
||||
auto verbatim_asm = make_shared<string>("verbatim.asm");
|
||||
_verbatimAsm.setSourceLocation({8, 18, verbatim_asm});
|
||||
|
||||
@@ -243,7 +244,7 @@ BOOST_AUTO_TEST_CASE(immutables_and_its_source_maps)
|
||||
{ *subName, 1 }
|
||||
};
|
||||
|
||||
auto subAsm = make_shared<Assembly>(false, string{});
|
||||
auto subAsm = make_shared<Assembly>(false, solidity::test::CommonOptions::get().eofVersion(), string{});
|
||||
for (char i = 0; i < numImmutables; ++i)
|
||||
{
|
||||
for (int r = 0; r < numActualRefs; ++r)
|
||||
@@ -253,7 +254,7 @@ BOOST_AUTO_TEST_CASE(immutables_and_its_source_maps)
|
||||
}
|
||||
}
|
||||
|
||||
Assembly assembly{true, {}};
|
||||
Assembly assembly{true, solidity::test::CommonOptions::get().eofVersion(), {}};
|
||||
for (char i = 1; i <= numImmutables; ++i)
|
||||
{
|
||||
assembly.setSourceLocation({10*i, 10*i + 3+i, assemblyName});
|
||||
@@ -302,11 +303,11 @@ BOOST_AUTO_TEST_CASE(immutable)
|
||||
{ "root.asm", 0 },
|
||||
{ "sub.asm", 1 }
|
||||
};
|
||||
Assembly _assembly{true, {}};
|
||||
Assembly _assembly{true, solidity::test::CommonOptions::get().eofVersion(), {}};
|
||||
auto root_asm = make_shared<string>("root.asm");
|
||||
_assembly.setSourceLocation({1, 3, root_asm});
|
||||
|
||||
Assembly _subAsm{false, {}};
|
||||
Assembly _subAsm{false, solidity::test::CommonOptions::get().eofVersion(), {}};
|
||||
auto sub_asm = make_shared<string>("sub.asm");
|
||||
_subAsm.setSourceLocation({6, 8, sub_asm});
|
||||
_subAsm.appendImmutable("someImmutable");
|
||||
@@ -395,10 +396,10 @@ BOOST_AUTO_TEST_CASE(immutable)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(subobject_encode_decode)
|
||||
{
|
||||
Assembly assembly{true, {}};
|
||||
Assembly assembly{true, solidity::test::CommonOptions::get().eofVersion(), {}};
|
||||
|
||||
shared_ptr<Assembly> subAsmPtr = make_shared<Assembly>(false, string{});
|
||||
shared_ptr<Assembly> subSubAsmPtr = make_shared<Assembly>(false, string{});
|
||||
shared_ptr<Assembly> subAsmPtr = make_shared<Assembly>(false, solidity::test::CommonOptions::get().eofVersion(), string{});
|
||||
shared_ptr<Assembly> subSubAsmPtr = make_shared<Assembly>(false, solidity::test::CommonOptions::get().eofVersion(), string{});
|
||||
|
||||
assembly.appendSubroutine(subAsmPtr);
|
||||
subAsmPtr->appendSubroutine(subSubAsmPtr);
|
||||
|
||||
@@ -1250,8 +1250,8 @@ BOOST_AUTO_TEST_CASE(jumpdest_removal_subassemblies)
|
||||
// tag unifications (due to block deduplication) is also
|
||||
// visible at the super-assembly.
|
||||
|
||||
Assembly main{false, {}};
|
||||
AssemblyPointer sub = make_shared<Assembly>(true, string{});
|
||||
Assembly main{false, solidity::test::CommonOptions::get().eofVersion(), {}};
|
||||
AssemblyPointer sub = make_shared<Assembly>(true, solidity::test::CommonOptions::get().eofVersion(), string{});
|
||||
|
||||
sub->append(u256(1));
|
||||
auto t1 = sub->newTag();
|
||||
|
||||
@@ -87,6 +87,7 @@ evmasm::AssemblyItems compileContract(std::shared_ptr<CharStream> _sourceCode)
|
||||
{
|
||||
Compiler compiler(
|
||||
solidity::test::CommonOptions::get().evmVersion(),
|
||||
solidity::test::CommonOptions::get().eofVersion(),
|
||||
RevertStrings::Default,
|
||||
solidity::test::CommonOptions::get().optimize ? OptimiserSettings::standard() : OptimiserSettings::minimal()
|
||||
);
|
||||
|
||||
@@ -144,6 +144,7 @@ bytes compileFirstExpression(
|
||||
|
||||
CompilerContext context(
|
||||
solidity::test::CommonOptions::get().evmVersion(),
|
||||
solidity::test::CommonOptions::get().eofVersion(),
|
||||
RevertStrings::Default
|
||||
);
|
||||
context.resetVisitedNodes(contract);
|
||||
|
||||
@@ -66,7 +66,7 @@ TestCase::TestResult EVMCodeTransformTest::run(ostream& _stream, string const& _
|
||||
return TestResult::FatalError;
|
||||
}
|
||||
|
||||
evmasm::Assembly assembly{false, {}};
|
||||
evmasm::Assembly assembly{false, nullopt, {}};
|
||||
EthAssemblyAdapter adapter(assembly);
|
||||
EVMObjectCompiler::compile(
|
||||
*stack.parserResult(),
|
||||
|
||||
@@ -189,7 +189,7 @@ void FuzzerUtil::testConstantOptimizer(string const& _input, bool _quiet)
|
||||
|
||||
for (bool isCreation: {false, true})
|
||||
{
|
||||
Assembly assembly{isCreation, {}};
|
||||
Assembly assembly{isCreation, nullopt, {}};
|
||||
for (u256 const& n: numbers)
|
||||
{
|
||||
if (!_quiet)
|
||||
|
||||
Reference in New Issue
Block a user