Changelog
Supported polkadot-sdk rev: 2603
Changed
- Updated
LLVMfrom21.1.8to LLVM22.1.4
Added
- Support for solc v0.8.35.
Fixed
- A constant folding bug causing incorrect translation of a signed remainder edge case. The affected pattern (Solidity % or Yul smod):
- SREM over the two constant operands
type(int256).minand-1. - At least one of the two constants needs folding (i.e. not just
type(int256).min % -1),
and is written specifically such that solc doesn't fold but LLVM does, resulting in UB (signed-overflow).
- SREM over the two constant operands
- Fix
mulmodreturning out-of-range result for large moduli.
Note for macOS Users
The macOS binary is unsigned and it needs to be made runnable using xattr -c resolc-universal-apple-darwin.