[ ... ]
Would be interesting to see where you get your data. Personal
experience would dictate that, at least based on standard conformance,
g++ wins hands down over VC++. I've found numerous compiler bugs in
VC++ that simply don't happen with the same code in g++.
I'm also going from personal use, and would say exactly the same, but
in reverse. Some here have probably seen me say it before, but I'll
repeat: I suspect people adapt to their compiler of choice, so they
have a strong tendency to avoid writing code it won't handle. That's
probably happened to both of us.
Perhaps g++ really is tied with VC++ for conformance, rather than
being behind -- and possibly it's even slightly better (though that
certainly doesn't match my own experience). I'm pretty sure I could
easily write an "objective" benchmark showing that either had clearly
superior conformance to the other.
Looking back at the failures I've seen from the two, I'd probably
agree that looking strictly at the compiler itself, g++ really is
better -- but I've yet to see a standard library for g++ that's comes
nearly as close to conforming as VC++'s.
It seems to me that any time I "push the boundaries of the
standard", and even when I'm not, VC++ fails long before g++ has
any troubles. In fact I can't think of the last time g++ crashed
on me but I got a VC++ crash only a couple months ago (the internal
class thing).
Which seems to go back to what I said above. I probably run g++ once
every couple of weeks or so, and can count on at least one crash
virtually every time I try to use it. I run VC++ virtually every day,
and I believe I've had it crash once this year...