tip: 241
title: Adaptation to solidity-v0.5.16
author: yanghang8612<[email protected]>
status: Draft
type: Standards Track
category: VM
created: 2021-03-08
An adaptation to solidity-v0.5.16
Ethereum released version 0.5.16 of solidity to fix a bug. Solidity in tron should be updated to follow this release.
The release of solidity-v0.5.16 means this bugfix about Yul Optimizer is very necessary. We should update solidity to follow this release as soon as possible.
The Yul optimizer has a stage that removes assignments to variables that are overwritten again or are not used in all following control-flow branches. This logic incorrectly removes such assignments to variables declared inside a for loop if they can be removed in a control-flow branch that ends with break
or continue
even though they cannot be removed in other control-flow branches. Variables declared outside of the respective for loop are not affected. So we should update Tron Solidity to fix this bug.