aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-04-05 20:57:40 +0800
committerchriseth <c@ethdev.com>2016-04-06 18:31:31 +0800
commit26a91109a781d583cf632a96561504ae520753c0 (patch)
treeabfbb12a13b11ea75477de3b506c6263ecdf0661 /libsolidity
parent12797ed6c9afacd7f5a2b8538ccf0032bbc15a19 (diff)
downloaddexon-solidity-26a91109a781d583cf632a96561504ae520753c0.tar
dexon-solidity-26a91109a781d583cf632a96561504ae520753c0.tar.gz
dexon-solidity-26a91109a781d583cf632a96561504ae520753c0.tar.bz2
dexon-solidity-26a91109a781d583cf632a96561504ae520753c0.tar.lz
dexon-solidity-26a91109a781d583cf632a96561504ae520753c0.tar.xz
dexon-solidity-26a91109a781d583cf632a96561504ae520753c0.tar.zst
dexon-solidity-26a91109a781d583cf632a96561504ae520753c0.zip
Allow "byte" in inline assembly.
Diffstat (limited to 'libsolidity')
-rw-r--r--libsolidity/inlineasm/AsmParser.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libsolidity/inlineasm/AsmParser.cpp b/libsolidity/inlineasm/AsmParser.cpp
index 124a5d26..3f794351 100644
--- a/libsolidity/inlineasm/AsmParser.cpp
+++ b/libsolidity/inlineasm/AsmParser.cpp
@@ -73,6 +73,7 @@ assembly::Statement Parser::parseStatement()
return assembly::Assignment{assembly::Identifier{name}};
}
case Token::Return: // opcode
+ case Token::Byte: // opcode
default:
break;
}
@@ -143,10 +144,13 @@ assembly::Statement Parser::parseElementaryOperation(bool _onlySinglePusher)
{
case Token::Identifier:
case Token::Return:
+ case Token::Byte:
{
string literal;
if (m_scanner->currentToken() == Token::Return)
literal = "return";
+ else if (m_scanner->currentToken() == Token::Byte)
+ literal = "byte";
else
literal = m_scanner->currentLiteral();
// first search the set of instructions.