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: `shr(256, x)` — LLVM `lshr i256 x, 256` is UB; EVM defines SHR with
/// count >= 256 as 0.
object "ShrOverflowProbe" {
    code {
        let size := datasize("ShrOverflowProbe_deployed")
        codecopy(0, dataoffset("ShrOverflowProbe_deployed"), size)
        return(0, size)
    }
    object "ShrOverflowProbe_deployed" {
        code {
            let tag := calldataload(0)
            let value := calldataload(32)
            let count := shl(8, 1)
            mstore(0, xor(shr(count, value), tag))
            return(0, 32)
        }
    }
}