diff options
author | chriseth <c@ethdev.com> | 2015-05-15 19:25:44 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2015-05-15 19:25:44 +0800 |
commit | 5f8a5f672d64a626f59f3f190ab835773faa8283 (patch) | |
tree | 934db80161b4b1d4a54716da2cd0f12de8990781 /libsolidity | |
parent | 7d5bebd464b3ad8a4a66865c9306f7c9c896a06d (diff) | |
download | dexon-solidity-5f8a5f672d64a626f59f3f190ab835773faa8283.tar dexon-solidity-5f8a5f672d64a626f59f3f190ab835773faa8283.tar.gz dexon-solidity-5f8a5f672d64a626f59f3f190ab835773faa8283.tar.bz2 dexon-solidity-5f8a5f672d64a626f59f3f190ab835773faa8283.tar.lz dexon-solidity-5f8a5f672d64a626f59f3f190ab835773faa8283.tar.xz dexon-solidity-5f8a5f672d64a626f59f3f190ab835773faa8283.tar.zst dexon-solidity-5f8a5f672d64a626f59f3f190ab835773faa8283.zip |
Store copied assembly items in test. Fixes OSX issues.
Diffstat (limited to 'libsolidity')
-rw-r--r-- | libsolidity/SolidityOptimizer.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/libsolidity/SolidityOptimizer.cpp b/libsolidity/SolidityOptimizer.cpp index e8cc2d5b..744fc48a 100644 --- a/libsolidity/SolidityOptimizer.cpp +++ b/libsolidity/SolidityOptimizer.cpp @@ -97,7 +97,7 @@ public: { eth::KnownState state; for (auto const& item: addDummyLocations(_input)) - state.feedItem(item); + state.feedItem(item, true); return state; } @@ -884,21 +884,18 @@ BOOST_AUTO_TEST_CASE(cse_sha3_twice_same_content_noninterfering_store_in_between BOOST_CHECK_EQUAL(1, count(output.begin(), output.end(), AssemblyItem(Instruction::SHA3))); } -// ****************************** -// DISABLED DUE TO FAILURE ON OSX -// ****************************** -//BOOST_AUTO_TEST_CASE(cse_with_initially_known_stack) -//{ -// eth::KnownState state = createInitialState(AssemblyItems{ -// u256(0x12), -// u256(0x20), -// Instruction::ADD -// }); -// AssemblyItems input{ -// u256(0x12 + 0x20) -// }; -// checkCSE(input, AssemblyItems{Instruction::DUP1}, state); -//} +BOOST_AUTO_TEST_CASE(cse_with_initially_known_stack) +{ + eth::KnownState state = createInitialState(AssemblyItems{ + u256(0x12), + u256(0x20), + Instruction::ADD + }); + AssemblyItems input{ + u256(0x12 + 0x20) + }; + checkCSE(input, AssemblyItems{Instruction::DUP1}, state); +} BOOST_AUTO_TEST_CASE(cse_equality_on_initially_known_stack) { |