Proper error message for missing variables in inline assembly

This commit is contained in:
Alex Beregszaszi
2019-02-20 10:36:55 +00:00
parent c5577145d3
commit 52496ea719
4 changed files with 23 additions and 1 deletions
+3 -1
View File
@@ -298,11 +298,13 @@ bool ReferencesResolver::visit(InlineAssembly const& _inlineAssembly)
}
declarations = m_resolver.nameFromCurrentScope(realName);
}
if (declarations.size() != 1)
if (declarations.size() > 1)
{
declarationError(_identifier.location, "Multiple matching identifiers. Resolving overloaded identifiers is not supported.");
return size_t(-1);
}
else if (declarations.size() == 0)
return size_t(-1);
if (auto var = dynamic_cast<VariableDeclaration const*>(declarations.front()))
if (var->isLocalVariable() && _crossesFunctionBoundary)
{