Better error messages during parsing functional instructions

This commit is contained in:
Alex Beregszaszi 2017-05-24 13:13:05 +01:00
parent 451acd4c9f
commit 56fe3a6ab9
2 changed files with 13 additions and 0 deletions

View File

@ -1,5 +1,9 @@
### 0.4.12 (unreleased)
Features:
* AST: export all attributes to Json format
* Inline Assembly: Present proper error message when not supplying enough arguments to a functional
instruction.
Bugfixes:
* Unused variable warnings no longer issued for variables used inside inline assembly

View File

@ -321,6 +321,15 @@ assembly::Statement Parser::parseCall(assembly::Statement&& _instruction)
unsigned args = unsigned(instrInfo.args);
for (unsigned i = 0; i < args; ++i)
{
/// check for premature closing parentheses
if (m_scanner->currentToken() == Token::RParen)
fatalParserError(string(
"Expected " +
boost::lexical_cast<string>(args) +
" arguments, but received " +
boost::lexical_cast<string>(i)
));
ret.arguments.emplace_back(parseExpression());
if (i != args - 1)
{