C supports `case` in weird places. They are basically `goto` labels, so they may be inside an `if` statement. We need to collect some real-world example for this. If it's common enough, we can solve it by some heavy AST rewrites of those `switch` statements.