aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-04-28 02:20:53 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-04-28 02:20:53 +0800
commit20206a04dd276d1f1d80aa9318328728fea13025 (patch)
tree31f39a8940a2676e40cd7969e369bf7b91617db8
parent8020144d06e035cfac1d2621e732bc7354c56e2c (diff)
downloaddexon-solidity-20206a04dd276d1f1d80aa9318328728fea13025.tar.gz
dexon-solidity-20206a04dd276d1f1d80aa9318328728fea13025.tar.zst
dexon-solidity-20206a04dd276d1f1d80aa9318328728fea13025.zip
Disallow assign from stack in Julia (=: var)
-rw-r--r--libsolidity/inlineasm/AsmParser.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libsolidity/inlineasm/AsmParser.cpp b/libsolidity/inlineasm/AsmParser.cpp
index 848e488d..885e54ff 100644
--- a/libsolidity/inlineasm/AsmParser.cpp
+++ b/libsolidity/inlineasm/AsmParser.cpp
@@ -69,12 +69,14 @@ assembly::Statement Parser::parseStatement()
return parseBlock();
case Token::Assign:
{
+ if (m_julia)
+ break;
assembly::Assignment assignment = createWithLocation<assembly::Assignment>();
m_scanner->next();
expectToken(Token::Colon);
assignment.variableName.location = location();
assignment.variableName.name = m_scanner->currentLiteral();
- if (!m_julia && instructions().count(assignment.variableName.name))
+ if (instructions().count(assignment.variableName.name))
fatalParserError("Identifier expected, got instruction name.");
assignment.location.end = endPosition();
expectToken(Token::Identifier);