mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			615 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			615 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
contract C {
 | 
						|
    function f() public {
 | 
						|
        assembly {
 | 
						|
            let d:= 0x10
 | 
						|
 | 
						|
            function asmfun(a, b, c) -> x, y, z {
 | 
						|
                x := g(a)
 | 
						|
                function g(r) -> s {
 | 
						|
                    s := mul(r, r)
 | 
						|
                }
 | 
						|
                y := g(b)
 | 
						|
                z := 7
 | 
						|
            }
 | 
						|
            let a1, b1, c1 := asmfun(1, 2, 3)
 | 
						|
            mstore(0x00, a1)
 | 
						|
            mstore(0x20, b1)
 | 
						|
            mstore(0x40, c1)
 | 
						|
            mstore(0x60, d)
 | 
						|
            return (0, 0x80)
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
// ====
 | 
						|
// compileViaYul: also
 | 
						|
// compileToEwasm: also
 | 
						|
// ----
 | 
						|
// f() -> 0x1, 0x4, 0x7, 0x10
 |