revive-integration 1.2.0

revive compiler integration test cases
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// Probe: `mulmod(a, b, 0)` — sibling of `AddModZeroProbe`. EVM = 0.
object "MulModZeroProbe" {
    code {
        let size := datasize("MulModZeroProbe_deployed")
        codecopy(0, dataoffset("MulModZeroProbe_deployed"), size)
        return(0, size)
    }
    object "MulModZeroProbe_deployed" {
        code {
            let tag := calldataload(0)
            let a := calldataload(32)
            let b := calldataload(64)
            let modulus := sub(shl(8, 1), shl(8, 1))
            mstore(0, xor(mulmod(a, b, modulus), tag))
            return(0, 32)
        }
    }
}