mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
67 lines
1.9 KiB
Solidity
67 lines
1.9 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: (184-185): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
|
|
// Warning: (145-150): Unreachable code.
|
|
// Warning: (168-173): Unreachable code.
|
|
// TypeError: (411-412): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
|
|
// Warning: (325-330): Unreachable code.
|
|
// TypeError: (635-636): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
|
|
// TypeError: (862-863): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
|
|
// TypeError: (1011-1012): This variable is of storage pointer type and can be accessed without prior assignment, which would lead to undefined behaviour.
|
|
// Warning: (972-977): Unreachable code.
|