From 1c9baafe268e48459da07c463749489928cab8d4 Mon Sep 17 00:00:00 2001 From: chriseth Date: Mon, 16 Aug 2021 14:20:16 +0200 Subject: [PATCH] fixup! Fixed point type conversions. --- libsolidity/codegen/YulUtilFunctions.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libsolidity/codegen/YulUtilFunctions.cpp b/libsolidity/codegen/YulUtilFunctions.cpp index 99d5c6ea4..12fef1b85 100644 --- a/libsolidity/codegen/YulUtilFunctions.cpp +++ b/libsolidity/codegen/YulUtilFunctions.cpp @@ -494,7 +494,8 @@ string YulUtilFunctions::typedShiftRightFunction(Type const& _type, Type const& string YulUtilFunctions::fixedPointShiftFunction(int _digits, bool _signed) { - string const functionName = "fixed_point_shift_" + to_string(_digits) + (_signed ? "_signed" : "_unsigned"); + string digitsStr = _digits < 0 ? ("n_" + to_string(-_digits)) : to_string(_digits); + string const functionName = "fixed_point_shift_" + digitsStr + (_signed ? "_signed" : "_unsigned"); return m_functionCollector.createFunction(functionName, [&](vector& _args, vector& _ret) { _args = {"value"}; _ret = {"result"};