Avoid switch fallthrough in CompilerUtils

This commit is contained in:
Alex Beregszaszi 2017-09-19 19:02:13 +01:00
parent ccb689701e
commit 3e5d81578a

View File

@ -810,9 +810,8 @@ void CompilerUtils::convertType(
if (_cleanupNeeded)
m_context << Instruction::ISZERO << Instruction::ISZERO;
break;
case Type::Category::Function:
{
if (targetTypeCategory == Type::Category::Integer)
default:
if (stackTypeCategory == Type::Category::Function && targetTypeCategory == Type::Category::Integer)
{
IntegerType const& targetType = dynamic_cast<IntegerType const&>(_targetType);
solAssert(targetType.isAddress(), "Function type can only be converted to address.");
@ -823,9 +822,7 @@ void CompilerUtils::convertType(
m_context << Instruction::POP;
break;
}
}
// fall-through
default:
// All other types should not be convertible to non-equal types.
solAssert(_typeOnStack == _targetType, "Invalid type conversion requested.");
if (_cleanupNeeded && _targetType.canBeStored() && _targetType.storageBytes() < 32)