mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Fixes internal compiler error with an unused reference to module member.
This commit is contained in:
parent
b0acf5dc86
commit
712d0805eb
@ -8,6 +8,7 @@ Compiler Features:
|
|||||||
|
|
||||||
|
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
* Code generator: Fix internal compiler error when referencing members via module name but not using the reference.
|
||||||
* Type Checker: Fix internal compiler error caused by storage parameters with nested mappings in libraries.
|
* Type Checker: Fix internal compiler error caused by storage parameters with nested mappings in libraries.
|
||||||
* Name Resolver: Fix shadowing/same-name warnings for later declarations.
|
* Name Resolver: Fix shadowing/same-name warnings for later declarations.
|
||||||
|
|
||||||
|
@ -1772,6 +1772,11 @@ bool ExpressionCompiler::visit(MemberAccess const& _memberAccess)
|
|||||||
solAssert(*_memberAccess.annotation().requiredLookup == VirtualLookup::Static, "");
|
solAssert(*_memberAccess.annotation().requiredLookup == VirtualLookup::Static, "");
|
||||||
utils().pushCombinedFunctionEntryLabel(*function);
|
utils().pushCombinedFunctionEntryLabel(*function);
|
||||||
}
|
}
|
||||||
|
else if (auto const* contract = dynamic_cast<ContractDefinition const*>(_memberAccess.annotation().referencedDeclaration))
|
||||||
|
{
|
||||||
|
if (contract->isLibrary())
|
||||||
|
m_context.appendLibraryAddress(contract->fullyQualifiedName());
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
==== Source: s1.sol ====
|
||||||
|
import "s1.sol" as A;
|
||||||
|
|
||||||
|
library L {
|
||||||
|
function f() internal pure {}
|
||||||
|
}
|
||||||
|
|
||||||
|
contract C
|
||||||
|
{
|
||||||
|
function test() public pure {
|
||||||
|
A.L;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// Warning 6133: (s1.sol:127-130): Statement has no effect.
|
Loading…
Reference in New Issue
Block a user