From 7786e6d5610c2e5c6676c6ed01afe4a3d1223685 Mon Sep 17 00:00:00 2001 From: hrkrshnn Date: Thu, 11 Feb 2021 14:44:55 +0100 Subject: [PATCH] Fix IR bug when modifier parameter was function return variable The bug was that function return variables were not part of the m_context.localVariable during the modifier generation and a looking up them was throwing. --- libsolidity/codegen/ir/IRGenerator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsolidity/codegen/ir/IRGenerator.cpp b/libsolidity/codegen/ir/IRGenerator.cpp index 2f817d5db..22670500c 100644 --- a/libsolidity/codegen/ir/IRGenerator.cpp +++ b/libsolidity/codegen/ir/IRGenerator.cpp @@ -323,7 +323,7 @@ string IRGenerator::generateModifier( t("functionName", functionName); vector retParamsIn; for (auto const& varDecl: _function.returnParameters()) - retParamsIn += IRVariable(*varDecl).stackSlots(); + retParamsIn += m_context.addLocalVariable(*varDecl).stackSlots(); vector params = retParamsIn; for (auto const& varDecl: _function.parameters()) params += m_context.addLocalVariable(*varDecl).stackSlots();