mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| contract C {
 | |
|     function f() public {
 | |
|         assembly {
 | |
|             datasize(0)
 | |
|             dataoffset(0)
 | |
|             datacopy(0, 1, 2)
 | |
|             setimmutable(0, "x", 1)
 | |
|             loadimmutable("x")
 | |
|             linkersymbol("x")
 | |
|             memoryguard(0)
 | |
|             verbatim_1i_1o(hex"600202", 0)
 | |
| 
 | |
|             pop(msize())
 | |
|             pop(pc())
 | |
|         }
 | |
|     }
 | |
| }
 | |
| // ----
 | |
| // SyntaxError 6553: (47-362): The msize instruction cannot be used when the Yul optimizer is activated because it can change its semantics. Either disable the Yul optimizer or do not use the instruction.
 | |
| // DeclarationError 4619: (70-78): Function "datasize" not found.
 | |
| // DeclarationError 4619: (94-104): Function "dataoffset" not found.
 | |
| // DeclarationError 4619: (120-128): Function "datacopy" not found.
 | |
| // DeclarationError 4619: (150-162): Function "setimmutable" not found.
 | |
| // DeclarationError 4619: (186-199): Function "loadimmutable" not found.
 | |
| // DeclarationError 4619: (217-229): Function "linkersymbol" not found.
 | |
| // DeclarationError 4619: (247-258): Function "memoryguard" not found.
 | |
| // DeclarationError 4619: (274-288): Function "verbatim_1i_1o" not found.
 | |
| // SyntaxError 2450: (347-349): PC instruction is a low-level EVM feature. Because of that PC is disallowed in strict assembly.
 |