codegen: truncate a boolean calldata down to one bit

This commit is contained in:
Yoichi Hirai 2016-11-10 11:33:15 +01:00
parent b16cdbb57e
commit 03ccc6df70
No known key found for this signature in database
GPG Key ID: E7B75D080FCF7992
2 changed files with 3 additions and 0 deletions

View File

@ -5,6 +5,7 @@ Features:
Bugfixes:
* Type checker: string literals that are not valid UTF-8 cannot be converted to string type
* Code generator: higher bits in a boolean argument are ignored.
### 0.4.6 (2016-11-22)

View File

@ -925,6 +925,8 @@ unsigned CompilerUtils::loadFromMemoryHelper(Type const& _type, bool _fromCallda
if (leftAligned)
m_context << shiftFactor << Instruction::MUL;
}
if (_fromCalldata && _type.category() == Type::Category::Bool)
m_context << Instruction::ISZERO << Instruction::ISZERO;
return numBytes;
}