aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
diff options
context:
space:
mode:
authorRyan Casey <ryepdx@gmail.com>2017-03-10 09:04:26 +0800
committerRyan Casey <ryepdx@gmail.com>2017-03-10 09:04:26 +0800
commitfe8d09a3c117b6e521638450e5ff14dc0d658b70 (patch)
tree2e1993d96f58ef8aed5ba02bf8a2b850699df90b /libsolidity/ast
parent797e05ba085d13d096bb4221fc0cec3a3161a876 (diff)
downloaddexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar.gz
dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar.zst
dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.zip
Fix 'ambiguous overload for operator==' Boost error.
Diffstat (limited to 'libsolidity/ast')
-rw-r--r--libsolidity/ast/Types.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index 7f267cc9..d2793b6d 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -650,12 +650,12 @@ bool RationalNumberType::isImplicitlyConvertibleTo(Type const& _convertTo) const
if (_convertTo.category() == Category::Integer)
{
auto targetType = dynamic_cast<IntegerType const*>(&_convertTo);
- if (m_value == 0)
+ if (m_value == rational(0))
return true;
if (isFractional())
return false;
int forSignBit = (targetType->isSigned() ? 1 : 0);
- if (m_value > 0)
+ if (m_value > rational(0))
{
if (m_value.numerator() <= (u256(-1) >> (256 - targetType->numBits() + forSignBit)))
return true;
@@ -776,13 +776,13 @@ TypePointer RationalNumberType::binaryOperatorResult(Token::Value _operator, Typ
value = m_value * other.m_value;
break;
case Token::Div:
- if (other.m_value == 0)
+ if (other.m_value == rational(0))
return TypePointer();
else
value = m_value / other.m_value;
break;
case Token::Mod:
- if (other.m_value == 0)
+ if (other.m_value == rational(0))
return TypePointer();
else if (fractional)
{
@@ -887,7 +887,7 @@ u256 RationalNumberType::literalValue(Literal const*) const
solAssert(shiftedValue <= u256(-1), "Integer constant too large.");
solAssert(shiftedValue >= -(bigint(1) << 255), "Number constant too small.");
- if (m_value >= 0)
+ if (m_value >= rational(0))
value = u256(shiftedValue);
else
value = s2u(s256(shiftedValue));