mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-10-26 21:49:52 +00:00
Supported `polkadot-sdk` rev: `2603` ### Changed - Updated `LLVM` from `21.1.8` to LLVM `22.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).min` and `-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). - Fix `mulmod` returning out-of-range result for large moduli. --------- Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
60 lines
1.5 KiB
TOML
60 lines
1.5 KiB
TOML
[package]
|
|
name = "resolc"
|
|
version = "1.2.0"
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
repository.workspace = true
|
|
authors = [
|
|
"Oleksandr Zarudnyi <a.zarudnyy@matterlabs.dev>",
|
|
"Cyrill Leutwiler <cyrill@parity.io>",
|
|
]
|
|
description = "Solidity frontend for the revive compiler"
|
|
|
|
[[bin]]
|
|
name = "resolc"
|
|
path = "src/resolc/main.rs"
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
clap = { workspace = true }
|
|
hex = { workspace = true }
|
|
inkwell = { workspace = true }
|
|
log = { workspace = true }
|
|
path-slash = { workspace = true }
|
|
rayon = { workspace = true, optional = true }
|
|
semver = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
which = { workspace = true }
|
|
normpath = { workspace = true }
|
|
|
|
revive-common = { workspace = true }
|
|
revive-llvm-context = { workspace = true }
|
|
revive-solc-json-interface = { workspace = true, features = ["resolc"] }
|
|
revive-yul = { workspace = true }
|
|
|
|
[target.'cfg(target_env = "musl")'.dependencies]
|
|
mimalloc = { version = "0.1.46", default-features = false }
|
|
|
|
[target.'cfg(target_os = "emscripten")'.dependencies]
|
|
libc = { workspace = true }
|
|
inkwell = { workspace = true, features = ["target-riscv", "llvm22-1-no-llvm-linking"]}
|
|
|
|
[build-dependencies]
|
|
git2 = { workspace = true, default-features = false }
|
|
|
|
[dev-dependencies]
|
|
criterion = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
|
|
[features]
|
|
parallel = ["rayon", "revive-solc-json-interface/parallel"]
|
|
default = ["parallel"]
|
|
|
|
[[bench]]
|
|
name = "compile"
|
|
harness = false
|