mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #1599 from ethereum/fixErrorTagLLL
Fix error tag usage in lll.
This commit is contained in:
commit
c5a501addd
@ -40,7 +40,7 @@ void Assembly::append(Assembly const& _a)
|
|||||||
auto newDeposit = m_deposit + _a.deposit();
|
auto newDeposit = m_deposit + _a.deposit();
|
||||||
for (AssemblyItem i: _a.m_items)
|
for (AssemblyItem i: _a.m_items)
|
||||||
{
|
{
|
||||||
if (i.type() == Tag || i.type() == PushTag)
|
if (i.type() == Tag || (i.type() == PushTag && i != errorTag()))
|
||||||
i.setData(i.data() + m_usedTags);
|
i.setData(i.data() + m_usedTags);
|
||||||
else if (i.type() == PushSub || i.type() == PushSubSize)
|
else if (i.type() == PushSub || i.type() == PushSubSize)
|
||||||
i.setData(i.data() + m_subs.size());
|
i.setData(i.data() + m_subs.size());
|
||||||
|
@ -50,6 +50,13 @@ BOOST_AUTO_TEST_CASE(bare_panic)
|
|||||||
BOOST_REQUIRE(m_output.empty());
|
BOOST_REQUIRE(m_output.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(panic)
|
||||||
|
{
|
||||||
|
char const* sourceCode = "{ (panic) }";
|
||||||
|
compileAndRunWithoutCheck(sourceCode);
|
||||||
|
BOOST_REQUIRE(m_output.empty());
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(exp_operator_const)
|
BOOST_AUTO_TEST_CASE(exp_operator_const)
|
||||||
{
|
{
|
||||||
char const* sourceCode = R"(
|
char const* sourceCode = R"(
|
||||||
|
Loading…
Reference in New Issue
Block a user