Merge pull request #2143 from ethereum/ast-index-fix

Fix source index allocation in CompilerStack
This commit is contained in:
chriseth 2017-04-20 20:36:04 +02:00 committed by GitHub
commit 965de29772
2 changed files with 6 additions and 2 deletions

View File

@ -6,8 +6,11 @@ Features:
path(s) of the supplied source file(s) is always trusted.
Bugfixes:
* Type system: Contract inheriting from base with unimplemented constructor should be abstract.
* Assembly output: Implement missing AssemblyItem types.
* Compiler interface: Fix a bug where source indexes could be inconsistent between Solidity compiled
with different compilers (clang vs. gcc) or compiler settings. The bug was visible in AST
and source mappings.
* Type system: Contract inheriting from base with unimplemented constructor should be abstract.
### 0.4.10 (2017-03-15)

View File

@ -406,8 +406,9 @@ vector<string> CompilerStack::sourceNames() const
map<string, unsigned> CompilerStack::sourceIndices() const
{
map<string, unsigned> indices;
unsigned index = 0;
for (auto const& s: m_sources)
indices[s.first] = indices.size();
indices[s.first] = index++;
return indices;
}