1 is highly unlikely to happen. For me TDM is dead for example (it cannot compile C::B in its last version).
Also I'm not sure we want to have 10 different but kind of the same compilers in the list.
I suppose the code should do a copy when it auto-detects multiple compilers of the same kind, but then it gets really complex about the order and naming.
I see a patch about 3, isn't this the latest version?
I don't see why 4 is a dependency on this one.