mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						|
    sstore(0, 0)
 | 
						|
    switch sload(0)
 | 
						|
    case 0 {
 | 
						|
        sstore(0x01, 0x0101)
 | 
						|
    }
 | 
						|
    case 1 {
 | 
						|
        sstore(0x02, 0x0101)
 | 
						|
    }
 | 
						|
    default {
 | 
						|
        sstore(0x03, 0x0101)
 | 
						|
    }
 | 
						|
    sstore(0x04, 0x0101)
 | 
						|
}
 | 
						|
// ----
 | 
						|
// digraph CFG {
 | 
						|
// nodesep=0.7;
 | 
						|
// node[shape=box];
 | 
						|
//
 | 
						|
// Entry [label="Entry"];
 | 
						|
// Entry -> Block0;
 | 
						|
// Block0 [label="\
 | 
						|
// sstore: [ 0x00 0x00 ] => [ ]\l\
 | 
						|
// sload: [ 0x00 ] => [ TMP[sload, 0] ]\l\
 | 
						|
// Assignment(GHOST[0]): [ TMP[sload, 0] ] => [ GHOST[0] ]\l\
 | 
						|
// eq: [ GHOST[0] 0x00 ] => [ TMP[eq, 0] ]\l\
 | 
						|
// "];
 | 
						|
// Block0 -> Block0Exit;
 | 
						|
// Block0Exit [label="{ TMP[eq, 0]| { <0> Zero | <1> NonZero }}" shape=Mrecord];
 | 
						|
// Block0Exit:0 -> Block1;
 | 
						|
// Block0Exit:1 -> Block2;
 | 
						|
//
 | 
						|
// Block1 [label="\
 | 
						|
// eq: [ GHOST[0] 0x01 ] => [ TMP[eq, 0] ]\l\
 | 
						|
// "];
 | 
						|
// Block1 -> Block1Exit;
 | 
						|
// Block1Exit [label="{ TMP[eq, 0]| { <0> Zero | <1> NonZero }}" shape=Mrecord];
 | 
						|
// Block1Exit:0 -> Block3;
 | 
						|
// Block1Exit:1 -> Block4;
 | 
						|
//
 | 
						|
// Block2 [label="\
 | 
						|
// sstore: [ 0x0101 0x01 ] => [ ]\l\
 | 
						|
// "];
 | 
						|
// Block2 -> Block2Exit [arrowhead=none];
 | 
						|
// Block2Exit [label="Jump" shape=oval];
 | 
						|
// Block2Exit -> Block5;
 | 
						|
//
 | 
						|
// Block3 [label="\
 | 
						|
// sstore: [ 0x0101 0x03 ] => [ ]\l\
 | 
						|
// "];
 | 
						|
// Block3 -> Block3Exit [arrowhead=none];
 | 
						|
// Block3Exit [label="Jump" shape=oval];
 | 
						|
// Block3Exit -> Block5;
 | 
						|
//
 | 
						|
// Block4 [label="\
 | 
						|
// sstore: [ 0x0101 0x02 ] => [ ]\l\
 | 
						|
// "];
 | 
						|
// Block4 -> Block4Exit [arrowhead=none];
 | 
						|
// Block4Exit [label="Jump" shape=oval];
 | 
						|
// Block4Exit -> Block5;
 | 
						|
//
 | 
						|
// Block5 [label="\
 | 
						|
// sstore: [ 0x0101 0x04 ] => [ ]\l\
 | 
						|
// "];
 | 
						|
// Block5Exit [label="MainExit"];
 | 
						|
// Block5 -> Block5Exit;
 | 
						|
//
 | 
						|
// }
 |