mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			778 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			778 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|     sstore(f(1), 1)
 | |
|     sstore(f(2), 1)
 | |
|     sstore(f(3), 1)
 | |
|     function f(a) -> x {
 | |
|         for {let b := 10} iszero(b) { b := sub(b, 1) }
 | |
|         {
 | |
|             a := calldataload(0)
 | |
|             mstore(a, x)
 | |
|             // to prevent f from getting inlined
 | |
|             if iszero(a) { leave }
 | |
|         }
 | |
|     }
 | |
| }
 | |
| // ----
 | |
| // step: fullSuite
 | |
| //
 | |
| // {
 | |
| //     {
 | |
| //         f()
 | |
| //         sstore(0, 1)
 | |
| //         f()
 | |
| //         sstore(0, 1)
 | |
| //         f()
 | |
| //         sstore(0, 1)
 | |
| //     }
 | |
| //     function f()
 | |
| //     {
 | |
| //         let b := 10
 | |
| //         let _1 := 0
 | |
| //         let a := calldataload(_1)
 | |
| //         let _2 := iszero(a)
 | |
| //         for { } iszero(b) { b := add(b, not(0)) }
 | |
| //         {
 | |
| //             mstore(a, _1)
 | |
| //             if _2 { leave }
 | |
| //         }
 | |
| //     }
 | |
| // }
 |