[comp.lang.c] How ANSI is TC++?

westk@bionette.cgrb.orst.edu (Ken West - Entomology) (10/02/90)

Forgive me if this has been posted before, but Borland claims "ANSI compliance"
just how compliant is it really?  Thanks in advance :-)


=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
Kenneth J. West               "Everybody loves to see justice done 
westk@bionette.cgrb.orst.edu   on somebody else"  Bruce Cockburn
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

jamiller@hpcupt1.cup.hp.com (Jim Miller) (10/25/90)

Walter Bright writes:

>In article westk@bionette.cgrb.orst.edu (Ken West - Entomology) writes:
><Forgive me if this has been posted before, but Borland claims
>"ANSI compliance"
><just how compliant is it really?  Thanks in advance :-)
>
>Since there is no ANSI standard for C++, it is a little hard to
>be in compliance with it!
>----------

Well for C++ no, but TC++ is also Borland's C compiler.

To quote Computer Language (Oct '90): "Turbo C++ is also a nearly
compliant ANSI C compiler".

In the area of ANSI compliance in other reviews (I can't remember where)
TC++ came out ahead of a number of other C compilers including (*IF* I
remember correctly) MS-C 6.0.

Please don't fry me if I got that last one about MS-C wrong.

   jim miller
   jamiller@hpmpeb7.cup.hp.com
   (a.k.a James A. Miller; Jim the JAM; stupid; @!?$$!; ... )
   Anything I say will be used against me ...
   But my company doesn't know or approve or condone anything of mine here.
   

mcdonald@aries.scs.uiuc.edu (Doug McDonald) (10/26/90)

In article <5940044@hpcupt1.cup.hp.com> jamiller@hpcupt1.cup.hp.com (Jim Miller) writes:
>
>In the area of ANSI compliance in other reviews (I can't remember where)
>TC++ came out ahead of a number of other C compilers including (*IF* I
>remember correctly) MS-C 6.0.
>
Microsoft is not ANSI compliant. They lack a few of the obscure
things like locale support. I believe that to date there are no
ANSI compliant compilers. Microsoft is extremely close.

Doug McDonald

stevec@wren.inmos.co.uk (Steve Clarke) (10/29/90)

In article <1990Oct26.162147.8767@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
>In article <5940044@hpcupt1.cup.hp.com> jamiller@hpcupt1.cup.hp.com (Jim Miller) writes:
>>
>>In the area of ANSI compliance in other reviews (I can't remember where)
>>TC++ came out ahead of a number of other C compilers including (*IF* I
>>remember correctly) MS-C 6.0.
>>
>Microsoft is not ANSI compliant. They lack a few of the obscure
>things like locale support. I believe that to date there are no
>ANSI compliant compilers. Microsoft is extremely close.
>
>Doug McDonald

The BSI (British Standards Institution) has within the last few weeks announced
an *independent* validation service for ANSI C compilers, based on the Plum-Hall
C Validation Suite (this is an extremely exacting test suite for complete ANSI
conformance).

Currently only three companies have dared to apply for independent validation,
and all three have passed.  These companies are (not surprisingly) all
British: JPI (for the TopSpeed C compiler for MS-DOS), Knowledge Software Ltd.
(for a range of C source checkers), and INMOS (for a range of C compilers
targetted at transputers).

The BSI Validation Service is also recognised by IMQ (an Italian standards
organisation) and AFNOR (a French standards organisation). 

---
Stephen Clarke      INMOS Ltd, Bristol | EMail(UK) ukc!inmos!stevec
The opinions above are my personal     |     or    stevec@inmos.co.uk
views and do not reflect INMOS policy. | Internet: stevec@inmos.com

shankar@hpclscu.HP.COM (Shankar Unni) (10/30/90)

Doug McDonald (mcdonald@aries.scs.uiuc.edu) writes:
> Microsoft is not ANSI compliant. They lack a few of the obscure
> things like locale support. I believe that to date there are no
> ANSI compliant compilers. Microsoft is extremely close.

#pragma drift on

I wish there were a little more context to this assertion of yours: I
presume you mean "no ANSI compliant compilers on DOS". The HP C compilers
on HP-UX 7.0, to take just one example, are totally ANSI-compliant (at
least, as measured by the Plum-Hall validation suite) - one of the very
first compilers to achieve this goal.  I assume that there are now many
others in this category as well.

#pragma drift off

Anyway, to get back to the main query: Walter was not being snippy at all.
He's right - there's no *official* standard for C++. "The ANSI standard"
[sic] (ANSI X3.159) is for the *C* language, not for C++.

C++ is by no means a total superset of ANSI C (there are many subtle but
significant differences). To date, the "de-facto" standard is the AT&T
implementation of "cfront", and the book "The Annotated C++ Reference
Manual" by Margaret Ellis and Bjarne Stroustrup (Addison-Wesley, 1990).

There is now an official ANSI standards committee for C++ (X3J16), headed
by Dmitry Lenkov of HP.  They hope to have a draft standard by late '92 or
so.  At that point, we can talk about "ANSI C++" compilers.
-----
Shankar Unni                                   E-Mail: 
Hewlett-Packard California Language Lab.     Internet: shankar@hpda.hp.com
Phone : (408) 447-5797                           UUCP: ...!hplabs!hpda!shankar

bright@nazgul.UUCP (Walter Bright) (10/31/90)

In article <1990Oct26.162147.8767@ux1.cso.uiuc.edu> mcdonald@aries.scs.uiuc.edu (Doug McDonald) writes:
<In article <5940044@hpcupt1.cup.hp.com> jamiller@hpcupt1.cup.hp.com (Jim Miller) writes:
<>In the area of ANSI compliance in other reviews (I can't remember where)
<>TC++ came out ahead of a number of other C compilers including (*IF* I
<>remember correctly) MS-C 6.0.
<Microsoft is not ANSI compliant. They lack a few of the obscure
<things like locale support. I believe that to date there are no
<ANSI compliant compilers. Microsoft is extremely close.

A lot of people talk about "100% ANSI C compliance". This is impossible,
as it implies there are *no* bugs in the compiler. We all know this
is unattainable (by any known technology!). The best one can say is
it passes so-and-so's test suite, or was validated by such-and-such
outfit.

henry@zoo.toronto.edu (Henry Spencer) (11/02/90)

In article <131@nazgul.UUCP> bright@nazgul.UUCP (Walter Bright) writes:
>A lot of people talk about "100% ANSI C compliance". This is impossible,
>as it implies there are *no* bugs in the compiler. We all know this
>is unattainable (by any known technology!). The best one can say is
>it passes so-and-so's test suite, or was validated by such-and-such...

Oh come now, Walter.  The best we can say is that it passed so-and-so's
test suite, assuming that the hardware wasn't malfunctioning that day
and that the operating system didn't swallow any of the error messages
and that the people running the test hadn't been bought off and etc etc.

All such statements necessarily carry an implicit "to the best of our
knowledge".  That being the case, it is meaningful and proper to speak
of "100% ANSI C compliance".
-- 
"I don't *want* to be normal!"         | Henry Spencer at U of Toronto Zoology
"Not to worry."                        |  henry@zoo.toronto.edu   utzoo!henry

daw@cbnewsh.att.com (David Wolverton) (11/03/90)

In article <131@nazgul.UUCP>, bright@nazgul.UUCP (Walter Bright) writes:
> A lot of people talk about "100% ANSI C compliance". This is impossible,
> as it implies there are *no* bugs in the compiler. We all know this
> is unattainable (by any known technology!). The best one can say is
> it passes so-and-so's test suite, or was validated by such-and-such
> outfit.

And/or, that the vendor's _intent_ is to produce a 100% ANSI C compiler.
An example is the SVR4 compiler, which, while it probably contains bugs,
is intended to be ANSI compliant.  Compare this to, for example,
the THINK C compiler on Macs, which supports some "ANSI features" such
as prototypes, but is not claimed to be an ANSI compiler.  Since
marketing droids can influence product claims, one should of course
approach all such claims of intent with a good deal of skepticism.

Dave Wolverton
daw@attunix.att.com

dhesi%cirrusl@oliveb.ATC.olivetti.com (Rahul Dhesi) (11/04/90)

In <660089@hpclscu.HP.COM> shankar@hpclscu.HP.COM (Shankar Unni) writes:

     I wish there were a little more context to this assertion of
     yours: I presume you mean "no ANSI compliant compilers on DOS".

I think he means MS-DOS, not just any DOS.  (If we're trying to be
precise, let's *be* precise.)
--
Rahul Dhesi <dhesi%cirrusl@oliveb.ATC.olivetti.com>
UUCP:  oliveb!cirrusl!dhesi
A pointer is not an address.  It is a way of finding an address. -- me

gwyn@smoke.brl.mil (Doug Gwyn) (11/07/90)

In article <131@nazgul.UUCP> bright@nazgul.UUCP (Walter Bright) writes:
>A lot of people talk about "100% ANSI C compliance". This is impossible,
>as it implies there are *no* bugs in the compiler. We all know this
>is unattainable (by any known technology!). The best one can say is
>it passes so-and-so's test suite, or was validated by such-and-such
>outfit.

I think you might get an argument from the folks at Metaware, among others.
The technology does exist.  Indeed, the weak point right now seems to be
the fact that the standard is written in English instead of a formal
semantic specification language.  (That was an intentional decision, by the
way, in an attempt to ensure that the standard would be useful to a wide
audience and not just a few specialists in the technology.)

It is true, however, that practically all implementations have not been
proven conformant.  If the implementors of a compiler are not aware of
any shortcomings, and if their product has been subjected to thorough
testing (including as many conformance test suites as possible), then it
would be reasonable to call it "a conforming (hosted/freestanding)
implementation" until such time as proven otherwise.