diff options
author | chriseth <chris@ethereum.org> | 2018-08-14 19:00:26 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-14 19:00:26 +0800 |
commit | 8f0c2a46db787de166f7bcaed2180fcab9248d12 (patch) | |
tree | 412051802e1811e77d8254d2085096de4d62463e | |
parent | d01ffd1ad9737a13a7d39e33246d101b36b5cd93 (diff) | |
parent | 17cac588d053429ff74c53fd82648da7c8c55db9 (diff) | |
download | dexon-solidity-8f0c2a46db787de166f7bcaed2180fcab9248d12.tar.gz dexon-solidity-8f0c2a46db787de166f7bcaed2180fcab9248d12.tar.zst dexon-solidity-8f0c2a46db787de166f7bcaed2180fcab9248d12.zip |
Merge pull request #4813 from ethereum/replace_safety_stop
Replace safety stop by invalid
-rw-r--r-- | libevmasm/Assembly.cpp | 4 | ||||
-rw-r--r-- | test/libevmasm/Assembler.cpp | 2 | ||||
-rw-r--r-- | test/libsolidity/LibSolc.cpp | 8 | ||||
-rw-r--r-- | test/libsolidity/StandardCompiler.cpp | 2 |
4 files changed, 8 insertions, 8 deletions
diff --git a/libevmasm/Assembly.cpp b/libevmasm/Assembly.cpp index 28ae9577..e49e675d 100644 --- a/libevmasm/Assembly.cpp +++ b/libevmasm/Assembly.cpp @@ -617,8 +617,8 @@ LinkerObject const& Assembly::assemble() const } if (!m_subs.empty() || !m_data.empty() || !m_auxiliaryData.empty()) - // Append a STOP just to be sure. - ret.bytecode.push_back(0); + // Append an INVALID here to help tests find miscompilation. + ret.bytecode.push_back(byte(Instruction::INVALID)); for (size_t i = 0; i < m_subs.size(); ++i) { diff --git a/test/libevmasm/Assembler.cpp b/test/libevmasm/Assembler.cpp index 8992430e..bc652f56 100644 --- a/test/libevmasm/Assembler.cpp +++ b/test/libevmasm/Assembler.cpp @@ -96,7 +96,7 @@ BOOST_AUTO_TEST_CASE(all_assembly_items) _assembly.assemble().toHex(), "5b6001600220606773__someLibrary___________________________" "6000567f556e75736564206665617475726520666f722070757368696e" - "6720737472696e605f6001605e7300000000000000000000000000000000000000000000" + "6720737472696e605f6001605e73000000000000000000000000000000000000000000fe" "fe010203044266eeaa" ); BOOST_CHECK_EQUAL( diff --git a/test/libsolidity/LibSolc.cpp b/test/libsolidity/LibSolc.cpp index 9d5ffa27..61e5ebba 100644 --- a/test/libsolidity/LibSolc.cpp +++ b/test/libsolidity/LibSolc.cpp @@ -111,12 +111,12 @@ BOOST_AUTO_TEST_CASE(basic_compilation) BOOST_CHECK(contract["bytecode"].isString()); BOOST_CHECK_EQUAL( dev::test::bytecodeSansMetadata(contract["bytecode"].asString()), - "6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00" + "6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfe" ); BOOST_CHECK(contract["runtimeBytecode"].isString()); BOOST_CHECK_EQUAL( dev::test::bytecodeSansMetadata(contract["runtimeBytecode"].asString()), - "6080604052600080fd00" + "6080604052600080fdfe" ); BOOST_CHECK(contract["functionHashes"].isObject()); BOOST_CHECK(contract["gasEstimates"].isObject()); @@ -153,12 +153,12 @@ BOOST_AUTO_TEST_CASE(single_compilation) BOOST_CHECK(contract["bytecode"].isString()); BOOST_CHECK_EQUAL( dev::test::bytecodeSansMetadata(contract["bytecode"].asString()), - "6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00" + "6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfe" ); BOOST_CHECK(contract["runtimeBytecode"].isString()); BOOST_CHECK_EQUAL( dev::test::bytecodeSansMetadata(contract["runtimeBytecode"].asString()), - "6080604052600080fd00" + "6080604052600080fdfe" ); BOOST_CHECK(contract["functionHashes"].isObject()); BOOST_CHECK(contract["gasEstimates"].isObject()); diff --git a/test/libsolidity/StandardCompiler.cpp b/test/libsolidity/StandardCompiler.cpp index 4b0a2d13..3aa1dc24 100644 --- a/test/libsolidity/StandardCompiler.cpp +++ b/test/libsolidity/StandardCompiler.cpp @@ -261,7 +261,7 @@ BOOST_AUTO_TEST_CASE(basic_compilation) BOOST_CHECK(contract["evm"]["bytecode"]["object"].isString()); BOOST_CHECK_EQUAL( dev::test::bytecodeSansMetadata(contract["evm"]["bytecode"]["object"].asString()), - "6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00" + "6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfe" ); BOOST_CHECK(contract["evm"]["assembly"].isString()); BOOST_CHECK(contract["evm"]["assembly"].asString().find( |