Even if it is legal, mixing case and non-case labels in the body of a switch statement is very confusing, and could mislead developers discovering this piece of code.

Noncompliant Code Example

switch (variable) {
  case 0:
    /* ... */
  myLabel:           // Noncompliant
    result = 0;
    break;
  case 1:
    /* ... */
  default:
    /* ... */
}

Compliant Solution

switch (variable) {
  case 0:
    /* ... */
    result = 0;
    break;
  case 1:
    /* ... */
  default:
    /* ... */
}