[project @ 2004-09-15 11:45:24 by simonmar]
Add a couple of cases to mk_switch to catch the case when we have a tag range that has a lot of default cases at either end, and we're not using a single switch. In situations like this we want to eliminate the default cases with an if-statement, before dealing with the rest of the branches, which might then be suitable for a switch. Also, ignore empty tag slots at either end of the range if there is no default case. This might work around a gcc 2.95 bug that we tickled with the code being generated before.
Showing with 40 additions and 3 deletions