Heck, virtually any C++ compiler was a big pile of sharp edges back then, by comparison to just a few years later. Especially if you dared to use it for embedded work, not so much due to the "embedded" part but just because the embedded suite compilers were just so much further behind the C++ curve.
Yep, but the commercial compilers generally had better STLs (particularly for debugging), debuggers that could properly mangle/demangle symbols, and precompiled headers --- in addition to different sets of C++ features that did or didn't work properly.
Largely true, but I recall actually isolating one chunk of code and compiling with g++ just to get halfway sane error messaging around a (IIRC) template-related error. I.e. you could do worse. The primary compiler for that code was the circa-2001 ARM tools suite. I wrote a few novels worth of feedback and bug reporting to them...