diff --git a/libevmasm/SemanticInformation.cpp b/libevmasm/SemanticInformation.cpp index eeb93c182..14a717e5f 100644 --- a/libevmasm/SemanticInformation.cpp +++ b/libevmasm/SemanticInformation.cpp @@ -239,6 +239,8 @@ bool SemanticInformation::isJumpInstruction(AssemblyItem const& _item) bool SemanticInformation::altersControlFlow(AssemblyItem const& _item) { + if (_item.type() == evmasm::RetF) + return true; if (_item.type() != evmasm::Operation) return false; switch (_item.instruction()) diff --git a/libyul/backends/evm/StackLayoutGenerator.cpp b/libyul/backends/evm/StackLayoutGenerator.cpp index 440e9f50b..352fc87ff 100644 --- a/libyul/backends/evm/StackLayoutGenerator.cpp +++ b/libyul/backends/evm/StackLayoutGenerator.cpp @@ -736,7 +736,7 @@ void StackLayoutGenerator::fillInJunk(CFG::BasicBlock const& _block, CFG::Functi _addChild(_conditionalJump.zero); _addChild(_conditionalJump.nonZero); }, - [&](CFG::BasicBlock::FunctionReturn const&) { yulAssert(false); }, + [&](CFG::BasicBlock::FunctionReturn const&) { yulAssert(m_layout.useFunctions); }, [&](CFG::BasicBlock::Terminated const&) {}, }, _block->exit); });