Targets.cpp in clangDriver MSVC project missing and other issues

After investigating the problem, the main culprit seems to be the
compiler itself. You can't have more than 124~ if/else if chains. It
seems that the compiler translates

if ( /*cond_1*/ ) {
} else if ( /*cond_2*/ ) {
} else if ( /*cond_3*/ ) {
...
}

into

if ( /*cond_1 */ ) {
} else {
if ( /*cond_2*/ ) {
} else {
   if ( /*cond_3*/ ) {
   ...
   }
}
}

Which perfectly explains the 124 limit. The documented limit in the
bug knowledgebase is about 250. Halve that (due to the way the
conditions are nested) and you get about 125-124 as a limit for
if-else if chains. This bug still exists even in MSVC 2008 by the way.

@Anton: Sorry if this got double-sent, still getting used to mailing lists.