#include <cstdio>
void test(void) {
bool foo = false;
for (int i=0;i<4;++i) {
int var = 1;
switch (var) {
CASE1: case 1:
if (foo) goto END; //same as break
goto CASE2; //same as fallthrough
CASE2: case 2:
break;
CASE3: case 3:
goto CASE2; //fall *up*
CASE4: case 4:
return; //no break, but also no fallthrough!
DEFAULT: default:
continue; //similar, if you're in a loop
}
END:
printf("Loop!\n");
}
}
int main(int argc, char* argv[]) {
test();
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KCgp2b2lkIHRlc3Qodm9pZCkgewoJYm9vbCBmb28gPSBmYWxzZTsKCglmb3IgKGludCBpPTA7aTw0OysraSkgewoJCWludCB2YXIgPSAxOwoJCXN3aXRjaCAodmFyKSB7CgkJICAgIENBU0UxOiBjYXNlIDE6CgkJICAgICAgICBpZiAoZm9vKSBnb3RvIEVORDsgLy9zYW1lIGFzIGJyZWFrCgkJICAgICAgICBnb3RvIENBU0UyOyAvL3NhbWUgYXMgZmFsbHRocm91Z2gKCQkgICAgQ0FTRTI6IGNhc2UgMjoKCQkgICAgICAgIGJyZWFrOwoJCSAgICBDQVNFMzogY2FzZSAzOgoJCSAgICAgICAgZ290byBDQVNFMjsgLy9mYWxsICp1cCoKCQkgICAgQ0FTRTQ6IGNhc2UgNDoKCQkgICAgICAgIHJldHVybjsgLy9ubyBicmVhaywgYnV0IGFsc28gbm8gZmFsbHRocm91Z2ghCgkJICAgIERFRkFVTFQ6IGRlZmF1bHQ6CgkJICAgICAgICBjb250aW51ZTsgLy9zaW1pbGFyLCBpZiB5b3UncmUgaW4gYSBsb29wCgkJfQoJCUVORDoKCQkJcHJpbnRmKCJMb29wIVxuIik7Cgl9Cn0KCmludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKCXRlc3QoKTsKCXJldHVybiAwOwp9