mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| contract C {
 | |
|     struct S { bool f; }
 | |
|     S s;
 | |
|     function f() internal view {
 | |
|         S storage c;
 | |
|         do {
 | |
|             break;
 | |
|             c = s;
 | |
|         } while(false);
 | |
|         c;
 | |
|     }
 | |
|     function g() internal view {
 | |
|         S storage c;
 | |
|         do {
 | |
|             if (s.f) {
 | |
|                 continue;
 | |
|                 c = s;
 | |
|             }
 | |
|             else {
 | |
|             }
 | |
|         } while(false);
 | |
|         c;
 | |
|     }
 | |
|     function h() internal view {
 | |
|         S storage c;
 | |
|         do {
 | |
|             if (s.f) {
 | |
|                 break;
 | |
|             }
 | |
|             else {
 | |
|                 c = s;
 | |
|             }
 | |
|         } while(false);
 | |
|         c;
 | |
|     }
 | |
|     function i() internal view {
 | |
|         S storage c;
 | |
|         do {
 | |
|             if (s.f) {
 | |
|                 continue;
 | |
|             }
 | |
|             else {
 | |
|                 c = s;
 | |
|             }
 | |
|         } while(false);
 | |
|         c;
 | |
|     }
 | |
|     function j() internal view {
 | |
|         S storage c;
 | |
|         do {
 | |
|             continue;
 | |
|             c = s;
 | |
|         } while(false);
 | |
|         c;
 | |
|     }
 | |
| }
 | |
| // ----
 | |
| // TypeError 3464: (184-185): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
 | |
| // Warning 5740: (145-150): Unreachable code.
 | |
| // Warning 5740: (168-173): Unreachable code.
 | |
| // TypeError 3464: (411-412): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
 | |
| // Warning 5740: (325-330): Unreachable code.
 | |
| // TypeError 3464: (635-636): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
 | |
| // TypeError 3464: (862-863): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
 | |
| // TypeError 3464: (1011-1012): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
 | |
| // Warning 5740: (972-977): Unreachable code.
 |