diff options
author | Ryan Casey <ryepdx@gmail.com> | 2017-03-10 09:04:26 +0800 |
---|---|---|
committer | Ryan Casey <ryepdx@gmail.com> | 2017-03-10 09:04:26 +0800 |
commit | fe8d09a3c117b6e521638450e5ff14dc0d658b70 (patch) | |
tree | 2e1993d96f58ef8aed5ba02bf8a2b850699df90b | |
parent | 797e05ba085d13d096bb4221fc0cec3a3161a876 (diff) | |
download | dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar.gz dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar.bz2 dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar.lz dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar.xz dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.tar.zst dexon-solidity-fe8d09a3c117b6e521638450e5ff14dc0d658b70.zip |
Fix 'ambiguous overload for operator==' Boost error.
-rw-r--r-- | libsolidity/ast/Types.cpp | 10 |
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)); |