diff options
author | chriseth <chris@ethereum.org> | 2017-05-23 18:18:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-23 18:18:18 +0800 |
commit | 14b22150a1e3ad66cdbed70bcfacb5487f66aef8 (patch) | |
tree | f71af087d97b991da73b7d9e80b471c9ed037968 /libsolidity/inlineasm/AsmParser.cpp | |
parent | 74d2e7311aed67e3bb6fcf1f0fa138bc3d304095 (diff) | |
parent | fb46268982f9c19f15e01f0ee50764c58bb351d4 (diff) | |
download | dexon-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.cpp | 9 |
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())); |