Topic: Quality of compilers (was enums still worthless in C++)


Author: lcoller@netcom.com (Lee D. Coller)
Date: 1995/04/23
Raw View
marnold@netcom.com (Matt Arnold) writes:

>Unlikely, Borland C++'s language support is top-notch.  In a recent PC
>Magazine review of C++ compilers, Borland C++ 4.5 rated 8.0 (on a scale of
>10---10 representing "perfect" C++ support as documented in the current
>draft standard) while Microsoft Dismal (uh, a mean "Visual") C++ 1.51 scored
>2.6 using the "Plum-Hall Validation Suite for C++".  Even VC++ 2.0 only
>scored an underwhelming 5.3 out of 10.  Borland was tied with MetaWare's
>High C/C++ 3.3 in the same review.  In the specific Plum-Hall catagory of
>"General coverage of C++ features", Borland C++ scored a 10.

Having used Borland 4.5 and several compilers on various UNIX platforms, I
can attest that Borland does a pretty good job of covering language
features. In fact, I wouldn't be surprised to find that it covered more C++
features than any other implementation. My complaint about Borland is that
it accepts some code that is not legal C++, making it less portable. I'm
not refering to "far", "near", etc. which are easilty taken care of with
"-Dfar=", etc. on the command line but their acceptance of code such as
(float)i = 1.0. It's true that a compiler switch can be turned on to reject
such code, but that code will also reject the "near", "far", etc. that is
usually necessary in real application code. Borland's own class libraries
will not compile with this flag set.

The compiler I've actually been impressed with is Sun's current C++
compiler (v4.x). In porting some applications to the Sun, this compiler
flagged a few things that I first thought indicated bugs in the compiler,
but in reality represented code that should had been rejected but had been
accepted by several other compilers. One of these was an ambiguous function
call that the other compilers had missed (which of course prompted the
question, which function are those other compilers calling?).

--
Lee D. Coller E-Mail: lcoller@netcom.com Home: +1 (310) 371-0335
4762 191st St., Torrance, CA  90503-1412   Fax: +1 (310) 793-3266