aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libsolidity/SolidityOptimizer.cpp29
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)
{