aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/inlineasm/AsmParser.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-05-23 18:18:18 +0800
committerGitHub <noreply@github.com>2017-05-23 18:18:18 +0800
commit14b22150a1e3ad66cdbed70bcfacb5487f66aef8 (patch)
treef71af087d97b991da73b7d9e80b471c9ed037968 /libsolidity/inlineasm/AsmParser.cpp
parent74d2e7311aed67e3bb6fcf1f0fa138bc3d304095 (diff)
parentfb46268982f9c19f15e01f0ee50764c58bb351d4 (diff)
downloaddexon-solidity-14b22150a1e3ad66cdbed70bcfacb5487f66aef8.tar
dexon-solidity-14b22150a1e3ad66cdbed70bcfacb5487f66aef8.tar.gz
dexon-solidity-14b22150a1e3ad66cdbed70bcfacb5487f66aef8.tar.bz2
dexon-solidity-14b22150a1e3ad66cdbed70bcfacb5487f66aef8.tar.lz
dexon-solidity-14b22150a1e3ad66cdbed70bcfacb5487f66aef8.tar.xz
dexon-solidity-14b22150a1e3ad66cdbed70bcfacb5487f66aef8.tar.zst
dexon-solidity-14b22150a1e3ad66cdbed70bcfacb5487f66aef8.zip
Merge pull request #2244 from ethereum/inlineasm-let-multi
Support tuple assignment in inline assembly
Diffstat (limited to 'libsolidity/inlineasm/AsmParser.cpp')
-rw-r--r--libsolidity/inlineasm/AsmParser.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/libsolidity/inlineasm/AsmParser.cpp b/libsolidity/inlineasm/AsmParser.cpp
index a96984f5..73f70e3f 100644
--- a/libsolidity/inlineasm/AsmParser.cpp
+++ b/libsolidity/inlineasm/AsmParser.cpp
@@ -258,7 +258,14 @@ assembly::VariableDeclaration Parser::parseVariableDeclaration()
{
VariableDeclaration varDecl = createWithLocation<VariableDeclaration>();
expectToken(Token::Let);
- varDecl.variable = parseTypedName();
+ while (true)
+ {
+ varDecl.variables.push_back(parseTypedName());
+ if (m_scanner->currentToken() == Token::Comma)
+ expectToken(Token::Comma);
+ else
+ break;
+ }
expectToken(Token::Colon);
expectToken(Token::Assign);
varDecl.value.reset(new Statement(parseExpression()));