Topic: Standard-conforming C++ compilers on PC ?


Author: Christopher Eltschka <celtschk@physik.tu-muenchen.de>
Date: 1998/09/24
Raw View
> In article <0LoK1.4237$w%4.214518@newscene.newscene.com>,
>   "Al Stevens" <alstevens@midifitz.com> wrote:
> > How do you turn off the long long built-in types? -pedantic issues a
> > warning, but still supports the type.

If you want gcc/egcs to treat std violations as errors, you can
use -pedantic-errors. (I'm not sure if -ansi is required in addition,
however it won't hurt.)

BTW, it might not catch errors where no diagnostic is required.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: lisa_lippincott@advisories.com (Lisa Lippincott)
Date: 1998/09/17
Raw View

Al Stevens <alstevens@midifitz.com> wrote:

> How do you turn off the long long built-in types? -pedantic issues a
> warning, but still supports the type.

Oleg Zabluda <zabluda@math.psu.edu> wrote:

> g++ -pedantic -Werror

Does this really turn it off?  For example, I think the standard requires
that the expression "-1 == ULONG_MAX" be true, but (IMHO) a compiler
with a longer-than-long signed type should say it's false.

                                             --Lisa Lippincott


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Oleg Zabluda <zabluda@math.psu.edu>
Date: 1998/09/16
Raw View
Al Stevens <alstevens@midifitz.com> wrote:
: >Is this a troll?  Of course it's easy to turn off extensions in Egcs.

: How do you turn off the long long built-in types? -pedantic issues a
: warning, but still supports the type.

g++ -pedantic -Werror

Oleg.
--=20
Life is a sexually transmitted, 100% lethal disease.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: AllanW@my-dejanews.com
Date: 1998/09/16
Raw View

> >Is this a troll?  Of course it's easy to turn off extensions in Egcs.

In article <0LoK1.4237$w%4.214518@newscene.newscene.com>,
  "Al Stevens" <alstevens@midifitz.com> wrote:
> How do you turn off the long long built-in types? -pedantic issues a
> warning, but still supports the type.

I don't know Egcs, but I do know this:

When you run a compiler in whatever mode it requires for full ANSI
compliance, it is required to issue a "diagnostic" if you use
non-standard features such as long long. Having issued the
diagnostic, the compiler is free to do whatever it wishes --
including accepting it as intended and continuing.

My point is, if -pendantic forces the compiler to issue a warning,
you're free to treat it as an error message, ignore the generated
output, fix the "error" and recompile. What else do you want the
compiler to do? Edit the source code for you?

--
AllanW@my-dejanews.com is a "Spam Magnet" -- never read.
Please reply in USENET only, sorry.

-----=3D=3D Posted via Deja News, The Leader in Internet Discussion =3D=3D=
-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Edward Diener <eddielee@abraxis.com>
Date: 1998/09/12
Raw View
I believe you represent a skewed viewpoint in your report that you can not use
the STL in real commercial projects for Windows. I have used the STL in real
commercial products using the Borland C++ Builder compiler and have encountered
really minimal problems that were easily overcome. There are features of the
STL that can not be used completely because neither Borland or Microsoft ( or
Symantec or Watcom ) currently implement the full Ansi C++ standard but that
certainly does not mean that these compilers and their implementation of the
STL and C++ are unusable.

Wil Evers wrote:

> Pete Becker <petebecker@acm.org> wrote in article
> <35F01067.5224AE0B@acm.org>...
>
> > Wil Evers wrote:
> > >
> > >At the moment, C++
> > > programmers who want to write portable programs on a Windows system are
> > > effectively denied access to the C++ standard library
> >
> > That's quite an overstatement. Code that uses the Standard C++ Library
> > and compiles and runs on a compiler that does not support member
> > templates is portable to compilers that support member templates. What
> > you don't get that's part of the Standard C++ Library is the full
> > generality of being able to copy elements from one container to another
> > when the two containers have different iterator types. That's not a big
> > loss, because it's rare, and it's easily worked around.
>
> I only referred to the lack of support for member templates in some  recent
> versions of both Visual C++ and Borland C++ to illustrate my claim that
> these compilers are still far from standard conforming in many ways. The
> standard library implementation I'm most familiar with (Rogue Wave) is
> littered with macros that provide workarounds for all sorts of compiler
> quirks, and the header file that triggers these macros lists at least a
> dozen major incompatibilities for each of these compilers.
>
> As a programmer working on the Windows platform, I made many attempts to
> actually use the STL in real commercial projects. So far, all of them
> failed. Typical symptoms are incomprehensible and often incorrect compiler
> messages, gross code bloat, trouble with dynamic linking and serious
> performance degradation. In each case, I ended up reinventing a few wheels
> or using some proprietary framework.
>
> That said, I'd like to add that I have the highest respect for people like
> you and Plauger who are working hard to bring the C++ standard library to
> the masses. However, even the best possible library implementation will
> suffer from a compiler that is out of date, unreliable or both.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Matt Austern <austern@sgi.com>
Date: 1998/09/12
Raw View
scott@softbase.com writes:

> REMEMBER THIS: One of Microsoft's biggest goals is to lure corporate
> software development from UNIX to NT, and to do that they need a
> standards conforming compiler. They have a vested interest in doing
> it. (Whether this strategy will work or not remains to be seen, but
> a Standard C++ compiler is a huge part of it.)
>
> Maybe Visual C++ is a "Windows compiler", but name any other compiler
> vendor who has implemented the standard better.

Depends on what criteria you use for "implementing the standard".
Quality of optimization in the back end?  Number of bugs in the front
end?  Number of unimplemented parts of the language and/or library?
Number of features that are implemented in a non-conforming way?

There are a few important parts of the core language that aren't
implemented in the latest Microsoft compiler.  (And one or two parts
of the core language that aren't implemented in any shipping C++
compiler that I know of.)  Whether that matters to you, of course,
depends on whether you're trying to write programs that use those
features.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Al Stevens" <alstevens@midifitz.com>
Date: 1998/09/12
Raw View
>Is this a troll?  Of course it's easy to turn off extensions in Egcs.

How do you turn off the long long built-in types? -pedantic issues a
warning, but still supports the type.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: miker3@ix.netcom.com (Michael Rubenstein)
Date: 1998/09/12
Raw View
On 12 Sep 98 14:36:41 GMT, "Al Stevens" <alstevens@midifitz.com>
wrote:

>>Is this a troll?  Of course it's easy to turn off extensions in Egcs.
>
>How do you turn off the long long built-in types? -pedantic issues a
>warning, but still supports the type.

In other words, it produces a diagnostic, which is exactly what the
standard requires.  Nothing in the standard requires (or should
require) anthing more than that for incorrect code.
--
Michael M Rubenstein


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Gabriel Dos Reis <dosreis@DPTMaths.ens-cachan.fr>
Date: 1998/09/12
Raw View
>>>>> Al Stevens <alstevens@midifitz.com> wrote:

>> Is this a troll?  Of course it's easy to turn off extensions in Egcs.
> How do you turn off the long long built-in types? -pedantic issues a
> warning, but still supports the type.

EGCS does issue a diagnostic. With -pedantic-errors it rejects the code.

--=20
Gabriel Dos Reis                   |  Centre de Math=E9matiques et de=20
dosreis@cmla.ens-cachan.fr         |         Leurs Applications
Fax : (33) 01 47 40 21 69          |   ENS de Cachan -- CNRS (URA 1611)
               61, Avenue du Pdt Wilson, 94235 Cachan - Cedex
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Tony@ask.me (Tony)
Date: 1998/09/13
Raw View
In article <fxtogsmip0n.fsf@isolde.engr.sgi.com>, austern@sgi.com says...
> Whether that matters to you, of course,
> depends on whether you're trying to write programs that use those
> features.

Right.  And I for instance have lately been contemplating doing some
weeding of my code to remove that which requires some of the more complex
features of C++ like templates.

Tony


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: ncm@nospam.cantrip.org (Nathan Myers)
Date: 1998/09/09
Raw View
Michel Michaud<micm19@removethis.mail2.cstjean.qc.ca> wrote:
>PJPlauger wrote:
>>I don't pretend to speak for Microsoft, but I do know the attitudes of
>>several of the key technical people there. I, for one, am pleased that
>>people like these are the stewards of such an important product as VC++.
>
>I can understand a big company like MS to hold still while things are
>moving, however as they did not hold still completely, we may question
>the choices they made (they did implement bool, explicit, if (int x=...),
>etc. but they do not warn against void main()...).

I, also, am acquainted with some of key technical people who (probably
still) work on Microsoft C++.  The key corporate policy which I have
heard them repeat to one another, when questions of standard conformance
arose, was this:

 "We are not building a C++ compiler, we are building a Windows compiler."

I found this _very_ enlightening; it explains many of their otherwise-
incomprehensible choices.  Unfortunately, it was sometimes used to
justify failing to implement (or, worse, mis-implementing) standard
language features.

This suggests to me that, as applied, the policy means that Microsoft
management believes that people programming for Windows have lesser
needs than other C++ programmers.

--
Nathan Myers
ncm@nospam.cantrip.org  http://www.cantrip.org/



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Mike Davies <mike_davies@noco.demon.co.uk>
Date: 1998/09/09
Raw View
In article <fxt1zpmjufg.fsf@isolde.engr.sgi.com>, Matt Austern
<austern@sgi.com> writes

>I don't know of any freeware C++ test suites.

I don't know exactly what you mean by a "test suite", but the GNU
compilers come with a big stack of compiler tests you can run after you
build the compiler.

--
Mike Davies


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Ron Natalie <ron@sensor.com>
Date: 1998/09/09
Raw View
Crazy Pete wrote:

> The egcs compiler is getting
> there although I would not call it an ISO standard compiler since the
> last time I looked, the iostreams were not templated and cannot be
> made to throw an ios_base::failure on file error, and a few other
> things.


Furthermore, there is no way of disabling all of the silly
GNU extensions.



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: David R Tribble <david.tribble@noSPAM.central.beasys.com>
Date: 1998/09/10
Raw View
Tony <Tony@ask.me> writes
>> ...snip...
>> Could the more complex features of C++ be implemented orthogonally

Mike Davies wrote:
> IMO they have been. You can with many compilers switch out RTTI, and
> exception handling using compiler switches. Templates you don't need
> to use (I hear there are even versions of container libraries that
> don't use templates).

But none that implement the STL, which requires templates.  Of
course, you can choose not to use the STL containers.

> Multiple inheritance is used at your option. I'm
> trying to think what I've left out, but certainly you can basically
> mix and match a feature set from C++ to suit your own requirements.

Just be sure you link with the correct libraries that are compatible
with the compiler options your code was compiled with.

Some implementations only give you one runtime library.  What this
means is that even if your code doesn't use exception handling, for
instance, their library code does.  So you must be careful about the
baggage you get for free.

-- David R. Tribble, dtribble@technologist.com --


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: AllanW@my-dejanews.com
Date: 1998/09/10
Raw View
In article <6t6k7g$4gs$1@shell7.ba.best.com>,
  ncm@nospam.cantrip.org (Nathan Myers) wrote:

> Michel Michaud<micm19@removethis.mail2.cstjean.qc.ca> wrote:
> >PJPlauger wrote:
> >>I don't pretend to speak for Microsoft, but I do know the attitudes of
> >>several of the key technical people there. I, for one, am pleased that
> >>people like these are the stewards of such an important product as VC++.
> >
> >I can understand a big company like MS to hold still while things are
> >moving, however as they did not hold still completely, we may question
> >the choices they made (they did implement bool, explicit, if (int x=...),
> >etc. but they do not warn against void main()...).

> I, also, am acquainted with some of key technical people who (probably
> still) work on Microsoft C++.  The key corporate policy which I have
> heard them repeat to one another, when questions of standard conformance
> arose, was this:

>  "We are not building a C++ compiler, we are building a Windows compiler."

> I found this _very_ enlightening; it explains many of their otherwise-
> incomprehensible choices.  Unfortunately, it was sometimes used to
> justify failing to implement (or, worse, mis-implementing) standard
> language features.

> This suggests to me that, as applied, the policy means that Microsoft
> management believes that people programming for Windows have lesser
> needs than other C++ programmers.

This same exact sentance could be interpreted as meaning that people
programming for Windows have greater needs than other C++ programmers.
I'm not saying that this is what they did mean -- I never heard it
before -- I'm just saying that we need more context.

However, from my personal experience, I can think of a few things that
C++ programmers need that Windows programmers don't need, such as
namespaces. (Windows programmers are forced to rely on globals, so
namespaces won't help much.) I can also think of many things that
Windows programmers need (or at least have come to expect) that C++
programmers in general don't need, such as __declspec(export).
(This specifies that a symbol will be used by a seperately-linked
program, as opposed to C++'s "extern" which specifies only seperate
compilation.) Neither is a strict subset of the other, but the
Windows requirements seem at least marginally stricter.

--
AllanW@my-dejanews.com is a "Spam Magnet" -- never read.
Please reply in USENET only, sorry.

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Jason Merrill <jason@cygnus.com>
Date: 1998/09/10
Raw View
>>>>> Ron Natalie <ron@sensor.com> writes:

 > Crazy Pete wrote:

 >> The egcs compiler is getting there although I would not call it an ISO
 >> standard compiler since the last time I looked, the iostreams were not
 >> templated and cannot be made to throw an ios_base::failure on file
 >> error, and a few other things.

 > Furthermore, there is no way of disabling all of the silly
 > GNU extensions.

Nonsense.  That's what -pedantic is for.

Jason
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: ncm@nospam.cantrip.org (Nathan Myers)
Date: 1998/09/10
Raw View
Ron Natalie <ron@sensor.com> wrote:
>Crazy Pete wrote:
>
>> The egcs compiler is getting
>> there although I would not call it an ISO standard compiler since the
>> last time I looked, the iostreams were not templated and cannot be
>> made to throw an ios_base::failure on file error, and a few other
>> things.

The library currently included with the Egcs-1.1 compiler is backward,
but the language features it supports are quite modern.  It's about
as nearly-conforming as any other compiler available.

>Furthermore, there is no way of disabling all of the silly
>GNU extensions.

Is this a troll?  Of course it's easy to turn off extensions in Egcs.

--
Nathan Myers
ncm@nospam.cantrip.org  http://www.cantrip.org/
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Jason Merrill <jason@cygnus.com>
Date: 1998/09/10
Raw View
>>>>> Mike Davies <mike_davies@noco.demon.co.uk> writes:

 > In article <fxt1zpmjufg.fsf@isolde.engr.sgi.com>, Matt Austern
 > <austern@sgi.com> writes

 >> I don't know of any freeware C++ test suites.

 > I don't know exactly what you mean by a "test suite", but the GNU
 > compilers come with a big stack of compiler tests you can run after you
 > build the compiler.

Yes, but that testsuite is composed mainly of bug reports.  No effort has
been made to achieve full coverage of the language.

Jason
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Al Stevens" <alstevens@midifitz.com>
Date: 1998/09/10
Raw View
>This suggests to me that, as applied, the policy means that Microsoft
>management believes that people programming for Windows have lesser
>needs than other C++ programmers.

Or, perhaps, different needs. Such as continued support for the many legacy
programs that predate the standard by years. It becomes a matter of
priorities. And we all know how strapped MS is for resources.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Wil Evers" <WEvers@nospam.PCL-Software.nl>
Date: 1998/09/10
Raw View
Pete Becker <petebecker@acm.org> wrote in article
<35F01067.5224AE0B@acm.org>...

> Wil Evers wrote:
> >
> >At the moment, C++
> > programmers who want to write portable programs on a Windows system are
> > effectively denied access to the C++ standard library
>
> That's quite an overstatement. Code that uses the Standard C++ Library
> and compiles and runs on a compiler that does not support member
> templates is portable to compilers that support member templates. What
> you don't get that's part of the Standard C++ Library is the full
> generality of being able to copy elements from one container to another
> when the two containers have different iterator types. That's not a big
> loss, because it's rare, and it's easily worked around.

I only referred to the lack of support for member templates in some  recent
versions of both Visual C++ and Borland C++ to illustrate my claim that
these compilers are still far from standard conforming in many ways. The
standard library implementation I'm most familiar with (Rogue Wave) is
littered with macros that provide workarounds for all sorts of compiler
quirks, and the header file that triggers these macros lists at least a
dozen major incompatibilities for each of these compilers.

As a programmer working on the Windows platform, I made many attempts to
actually use the STL in real commercial projects. So far, all of them
failed. Typical symptoms are incomprehensible and often incorrect compiler
messages, gross code bloat, trouble with dynamic linking and serious
performance degradation. In each case, I ended up reinventing a few wheels
or using some proprietary framework.

That said, I'd like to add that I have the highest respect for people like
you and Plauger who are working hard to bring the C++ standard library to
the masses. However, even the best possible library implementation will
suffer from a compiler that is out of date, unreliable or both.

- Wil

--
sender's address is spam-protected -
please remove 'nospam.' when replying by email
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: scott@softbase.com
Date: 1998/09/10
Raw View
REMEMBER THIS: One of Microsoft's biggest goals is to lure corporate
software development from UNIX to NT, and to do that they need a
standards conforming compiler. They have a vested interest in doing
it. (Whether this strategy will work or not remains to be seen, but
a Standard C++ compiler is a huge part of it.)

Maybe Visual C++ is a "Windows compiler", but name any other compiler
vendor who has implemented the standard better. There's probably not
more than 1 or 2, and those are minor compilers. MS has done as good a
job as you can expect a big, slow-moving company to do on such a
project. MS's C++ compiler is definitely in the still waters of the
company. It has an almost yearly release cycle now after the failed
"subscription" pay-for-bug-fixes attempt, with occasional service
packs. The standard was finalized during the middle to final stages of
Visual C++ 6, the current release.

The main thing I like about VC++ is that it uses the Dinkum
STL and Standard C++ library. Plauger really knows his stuff, and
you know the library will be the best one available.

Scott
--
Look at Softbase Systems' client/server tools, www.softbase.com
Check out the Essential 97 package for Windows 95 www.skwc.com/essent
All my other cool web pages are available from that site too!
My demo tape, artwork, poetry, The Windows 95 Book FAQ, and more.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: stephen.clamage@sun.com (Steve Clamage)
Date: 1998/09/10
Raw View
"Al Stevens" <alstevens@midifitz.com> writes:

>Steve Clamage wrote in message <6t3o4u$o39$1@engnews1.eng.sun.com>...

>>Details of STL (and indeed, of the entire standard library) have
>>changed in every internal draft of the C++ standard, right down to
>>the final draft. That's why they are called drafts.  Even the Final
>>Committee Draft of December 1996 ("CD2") was known not be complete
>>or correct, and said so right on its cover.
>>
>>C++ implementors have to decide whether trying to provide the
>>latest features, knowing they will change soon, is more important
>>to their customers than stability. Different implementors, with
>>different customer bases, come to different conclusions.


>In late 1997 I said something similar in the C Programming Column of Dr.
>Dobb's Journal. In January of this year I published (with his approval)
>Bjarne Stroustrup's reply to what I had written, an excerpt of which
>follows:

>"This is really misleading. I know of no major language or library feature
>that has been withdrawn after it has been present in a draft standard. In
>two cases, I had to throw my full weight against a proposal that would
>otherwise have passed to stop that from happening. Major changes took about
>a year of preparation to reach a vote."

>He was talking about withdrawn features based on how I worded my comments,
>which implied that vendors were reluctant to implement things that might go
>away in the next vote, but the conversation here reminds me of that
>exchange.

There are at least two different sets of concerns.

1. As a programmer, what code can I write and expect it to remain
pretty close to valid as the standard undergoes final tweaking?

2. As a C++ implementor, what features can I put in my
implementation and expect that incompatible changes will not later
be necessary as the standard undergoes final tweaking?

Bjarne was, I believe, addressing the first question. Except
for auto_ptr, user code that followed, for example, CD2 would
have remained pretty valid. In fact, lots of old code remains
valid, if we ignore namespace std issues.

I was addressing the second question. Some implementors don't mind
requiring that users recompile all of their code with each new
compiler release. Others want their users to be able to use existing
object files along with new source compiled by later compilers. You
can't keep modifying the standard library, for example, without
invalidating object code due to the One-Definition Rule.

--
Steve Clamage, stephen.clamage@sun.com


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Tony@ask.me (Tony)
Date: 1998/09/10
Raw View
In article <6t6k7g$4gs$1@shell7.ba.best.com>, ncm@nospam.cantrip.org
says...
>  "We are not building a C++ compiler, we are building a Windows compiler."

Yep, they're so caught up in their own little protected world over there
that they can't see the big picture: their conflicting interests make
them an unsuitable vendor of C++ tools.

Tony


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Tony@ask.me (Tony)
Date: 1998/09/10
Raw View
In article <35f7ca4f.0@news.new-era.net>, scott@softbase.com says...
> The main thing I like about VC++ is that it uses the Dinkum
> STL and Standard C++ library. Plauger really knows his stuff, and
> you know the library will be the best one available.

Ooo.. that's good info.  The Rogue-Wave stuff that came with BC forced me
to move to SGI STL.

I believe the way of keeping the vendors honest and out from anti-trust
violation is to not allow a single vendor all of these pieces: Compiler,
IDE, libraries.  They've proven to be untrustworthy given so much
freedom.  Time to nip it in the bud.

Tony


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "Al Stevens" <alstevens@midifitz.com>
Date: 1998/09/11
Raw View
>There are at least two different sets of concerns.
>
>1. As a programmer, what code can I write and expect it to remain
>pretty close to valid as the standard undergoes final tweaking?
>
>2. As a C++ implementor, what features can I put in my
>implementation and expect that incompatible changes will not later
>be necessary as the standard undergoes final tweaking?
>
>Bjarne was, I believe, addressing the first question.

No, he was addressing the second question in response to what I said about
compiler vendor concerns.

>I was addressing the second question. Some implementors don't mind
>requiring that users recompile all of their code with each new
>compiler release. Others want their users to be able to use existing
>object files along with new source compiled by later compilers. You
>can't keep modifying the standard library, for example, without
>invalidating object code due to the One-Definition Rule.


I think that the concerns of either set of vendors are more about how much
effort they should invest in something that might change than about their
users. But that's just my suspicious nature kicking in.




[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Matt Austern <austern@sgi.com>
Date: 1998/09/08
Raw View
Tony@ask.me (Tony) writes:

> Could the more complex features of C++ be implemented orthogonally so
> that one could choose specified subsets and perhaps even a C++ Lite
> compiler as opposed to a billion-dollar-company's compiler as a standard?
> The motives here being keeping the complexity down, keeping the
> capitalists honest while allowing them to be in the market too.

One of the best C++ front ends that I know of is written by a three-
person company.

It just isn't true that implementing a conforming C++ compiler is a
billion-dollar investment.  Companies choose their priorities.



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: stephen.clamage@sun.com (Steve Clamage)
Date: 1998/09/08
Raw View
brownsta@concentric.net (Stan Brown) writes:

>matt.reece@iname.com (matt.reece@iname.com) wrote:
>>I won't criticize
>>[...] for not having  full support for the standard at this point,
>>because as you said, the standard is still very new.

>I hear this repeated over and over again, like a mantra, to justify
>companies in not having standard-conforming products.

>While the standard is new de jure, it is almost two years old de facto.
>Changes after CD2 were minor relative to changes before it.

>For that matter, the STL is older than that, and a certain market-leading
>compiler still won't compile the STL headers that ship with it -- even
>though its own database registered the "bug" a year and a half ago and it
>has issued major updates since then.

The changes that qualify as "minor" are determined by which features
you are using. :-)

Details of STL (and indeed, of the entire standard library) have
changed in every internal draft of the C++ standard, right down to
the final draft. That's why they are called drafts.  Even the Final
Committee Draft of December 1996 ("CD2") was known not be complete
or correct, and said so right on its cover.

C++ implementors have to decide whether trying to provide the
latest features, knowing they will change soon, is more important
to their customers than stability. Different implementors, with
different customer bases, come to different conclusions.

Some have chosen to try to track the fast-moving target of draft
standards. By the time a new release comes out, the standard has
moved again -- a new draft was produced every 4 months, and few
vendors can release a new implementation on such a schedule.

The changes mean for customers that all binaries must be recompiled,
and often source code changes are needed. (For example, the members
and semantics of class auto_ptr have changed drastically with nearly
every draft. Witness the many questions each week in this forum
about validity of auto_ptr code.)

Other implementors have chose stability, refusing to put into an
implementation any feature that seemed likely to change in any
important way.

Whichever strategy is chosen, some customers will complain.
Some customers like to try out the latest features, and don't
care about having to recompile or modify their code. Others, with
multi-million-line projects that take a week to build, cannot
afford an unstable implementation -- they want bug fixes, but
insist that no change invalidate any of their existing source
code or binary files. (They are willing to bite the bullet and
suffer drastic changes once, to meet a stable standard, but not
changes of uknown stability.)

Until about 3 months ago, the fate of the standard was unknown.
In fact, the actual standard has not yet been published, although
its contents are known. It is reasonable to expect reasonably-
confoming implementations in the near future. Exactly when a
paticular vendor will supply one depends on their development
schedules, which typically are not and can not be geared to
unpredictable release dates of standards.

--
Steve Clamage, stephen.clamage@sun.com


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: MWRon@metrowerks.com (MW Ron)
Date: 1998/09/08
Raw View
In article <35f16eca.0@news.new-era.net>, scott@softbase.com wrote:


> Well, how do you explain gcc, then? It doesn't support Standard C++
> completely yet either, and you'd assume it was "focused" on
> implementing the standard. Have you read the standard? I've barely read
> some of the C++ Primer, and it is such an obtuse book I can only go a
> page or two before MEGO sets in. Imagine reading the language of the
> standard itself! A Standard C++ compiler isn't something you do
> overnight.

It has taken CodeWarrior about 4 years to get where it is at, and that was
possible as a new compiler, not a remake of older technology.

> If there was a market for a "standard" C++ compiler that couldn't do
> anything but what the standard said it could do, someone would write
> one.

Metrowerks has, "CodeWarrior"

There isn't any test that I know of for C++ implementations so I can't
say  exactly what language features CodeWarrior does not have, but it is
very short list (in our next release later this month).   While Metrowerks
does not fully implement all C++ language requirements it does conform to
the  Standard C++ Language.

The question in this thread IMHO is what compilers violate the ANSI/ISO
standards.  For example if they allow this statement

main()  without an error they violate the ANSI/ISO standards ( there are
no longer implicit int returns)

if they allow

for(int i = 0; i < 2; i++ ) {}
 int x = i;

they are in violation of the standards ( i is out of scope)

If they don't throw exceptions when required, they vilolate the standard.

If for instance you can't intermix struct and class you violate the standard.

Sure it seems I'm picking on VC++ here but my point is you first need to
not violate, once you do that you conform.   Only after conforming can you
discuss how many features are implmented.

Just my opinion,

--
Special offers and update extensions on Pro 3
www.metrowerks.com for full information

METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Matt Austern <austern@sgi.com>
Date: 1998/09/08
Raw View
MWRon@metrowerks.com (MW Ron) writes:

> There isn't any test that I know of for C++ implementations so I can't
> say  exactly what language features CodeWarrior does not have, but it is
> very short list (in our next release later this month).   While Metrowerks
> does not fully implement all C++ language requirements it does conform to
> the  Standard C++ Language.


I know of three companies that sell commercial C++ test suites.
(Plum-Hall, Modena, and Perennial.)  I don't know of any freeware C++
test suites.



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Mike Davies <mike_davies@noco.demon.co.uk>
Date: 1998/09/08
Raw View
In article <MPG.105e282de83a29c89896c4@netnews.worldnet.att.net>, Tony
<Tony@ask.me> writes

...snip...

>Could the more complex features of C++ be implemented orthogonally

IMO they have been. You can with many compilers switch out RTTI, and
exception handling using compiler switches. Templates you don't need to
use (I hear there are even versions of container libraries that don't
use templates). Multiple inheritance is used at your option. I'm trying
to think what I've left out, but certainly you can basically mix and
match a feature set from C++ to suit your own requirements.


Regards,

--
Mike Davies


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: matt.reece@iname.com
Date: 1998/09/08
Raw View
In article <01bdda47$8c78c4a0$c91ec2d0@porky>,
  "P.J. Plauger" <pjp@dinkumware.com> wrote:
>
> matt.reece@iname.com wrote in article <6su6ur$nd7$1@nnrp1.dejanews.com>...
> > From what I understand, Microsoft Visual C++ 6 does have support for member
> > templates. This seems to be a step in the right direction. I won't criticize
> > Microsoft for not having  full support for the standard at this point,
> > because as you said, the standard is still very new. However, I think
> > standardizing the C++ compiler should be a bigger priority for companies
like
> > Microsoft and Inprise.

(more comments snipped)

>>Microsoft and
> > other compiler developers need to realize that when we buy a "C++ compiler"
> > we expect a *C++* compiler.
>
> From my perspective, Microsoft *does* seem to realize just that. But life is
never
> simple. First, VC++ must serve many masters, and standards conformance is
> just one of them.

I understand this, and in fact that's why I use VC++. Even though I find MFC
poorly designed in places, it's still very useful at times. I've used
ActiveX, DAO, and other features I wouldn't be able to get (or wouldn't be
able to get as easily) with other Windows compilers. Still, as someone else
pointed out, the standard has basically stayed still for a few years. We can
only take the excuse of "it wasn't finalized" to a certain point. Microsoft
could have at least started implementing new features with earlier versions
of the compilers. If they devoted more time to templates back in VC++ 5,
maybe VC++ 6 could have added more obscure features, and they would be well
on their way to a standard conforming compiler. Another thing - I'm glad
Microsoft is devoting a lot of energy to their class libraries like the
Microsoft Foundation Classes and the Active Template Library. Those are
useful and greatly reduce the effort needed to write a program. I think some
of Microsoft's other new additions, however, are pretty pointless. I don't
care about more Wizards, or Intellisense. These are merely conveniences at
best, and often large parts of the Wizard code need to be completely
rewritten anyway. Why not devote all the time that was spent on these
features to actually improving the compiler?

-------------------------
Matthew Reece
matt.reece@iname.com
swarsmatt@aol.com
-------------------------

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Tony@ask.me (Tony)
Date: 1998/09/08
Raw View
In article <fxt67eyk0xt.fsf@isolde.engr.sgi.com>, austern@sgi.com says...
>
> Tony@ask.me (Tony) writes:
>
> > Could the more complex features of C++ be implemented orthogonally so
> > that one could choose specified subsets and perhaps even a C++ Lite
> > compiler as opposed to a billion-dollar-company's compiler as a standard?
> > The motives here being keeping the complexity down, keeping the
> > capitalists honest while allowing them to be in the market too.
>
> One of the best C++ front ends that I know of is written by a three-
> person company.

But can I buy a compiler/IDE from them?  Sounds like the kind of company
I would like to "ally" with perhaps if they create a complete product.

> It just isn't true that implementing a conforming C++ compiler is a
> billion-dollar investment.  Companies choose their priorities.

Yeah, but only practical choices seem to come from there: BC++ (dead
now), VC++.

Tony


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: MWRon@metrowerks.com (MW Ron)
Date: 1998/09/09
Raw View
In article <fxt1zpmjufg.fsf@isolde.engr.sgi.com>, Matt Austern
<austern@sgi.com> wrote:


> I know of three companies that sell commercial C++ test suites.
> (Plum-Hall, Modena, and Perennial.)  I don't know of any freeware C++
> test suites.

Metrowerks uses these tests and must pass them for release.  These tests
do not test for C++ feature implementations.  I don't think anyone even
has a list of features, I know our Sales division would dearly love one :)

Ron

--
Special offers and update extensions on Pro 3
www.metrowerks.com for full information

METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: peter.garner@toward.com (Crazy Pete)
Date: 1998/09/09
Raw View
> >
> > One of the best C++ front ends that I know of is written by a three-
> > person company.
>
> But can I buy a compiler/IDE from them?  Sounds like the kind of company
> I would like to "ally" with perhaps if they create a complete product.
>
> > It just isn't true that implementing a conforming C++ compiler is a
> > billion-dollar investment.  Companies choose their priorities.
>
> Yeah, but only practical choices seem to come from there: BC++ (dead
> now), VC++.

There at least two others, KAI C++ and egcs.  The latter being free!
Both run on Linux for the PC.  There is more to life than Windows.
(You may want to change the name of this thread to
"Standard-conforming C++ compilers under Windows. ;-)  KAI C++ is very
close to the ISO standard.  (The biggest bother is that it doesn't
support template template arguments.)  The egcs compiler is getting
there although I would not call it an ISO standard compiler since the
last time I looked, the iostreams were not templated and cannot be
made to throw an ios_base::failure on file error, and a few other
things.

Peace
Peter
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Michel Michaud" <micm19@removethis.mail2.cstjean.qc.ca>
Date: 1998/09/09
Raw View
>From my perspective, Microsoft *does* seem to realize just that. But life
is never
[...]

>I don't pretend to speak for Microsoft, but I do know the attitudes of
several of the
>key technical people there. I, for one, am pleased that people like these
are the
>stewards of such an important product as VC++.
>
>P.J. Plauger
>Dinkumware, Ltd.
This is a very encouraging news. Coming from you, I believe it. It is still
hard to understand why these people don't say those things.

I can understand a big company like MS to hold still while things are
moving,
however as they did not hold still completely, we may question the choices
they made (they did implement bool, explicit, if (int x=...), etc. but they
do not warn against void main()...).

Michel Michaud micm19@removethis.mail2.cstjean.qc.ca
http://www3.sympatico.ca/michel.michaud
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Al Stevens" <alstevens@midifitz.com>
Date: 1998/09/09
Raw View
Steve Clamage wrote in message <6t3o4u$o39$1@engnews1.eng.sun.com>...

>Details of STL (and indeed, of the entire standard library) have
>changed in every internal draft of the C++ standard, right down to
>the final draft. That's why they are called drafts.  Even the Final
>Committee Draft of December 1996 ("CD2") was known not be complete
>or correct, and said so right on its cover.
>
>C++ implementors have to decide whether trying to provide the
>latest features, knowing they will change soon, is more important
>to their customers than stability. Different implementors, with
>different customer bases, come to different conclusions.


In late 1997 I said something similar in the C Programming Column of Dr.
Dobb's Journal. In January of this year I published (with his approval)
Bjarne Stroustrup's reply to what I had written, an excerpt of which
follows:

"This is really misleading. I know of no major language or library feature
that has been withdrawn after it has been present in a draft standard. In
two cases, I had to throw my full weight against a proposal that would
otherwise have passed to stop that from happening. Major changes took about
a year of preparation to reach a vote."

He was talking about withdrawn features based on how I worded my comments,
which implied that vendors were reluctant to implement things that might go
away in the next vote, but the conversation here reminds me of that
exchange.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: ncm@nospam.cantrip.org (Nathan Myers)
Date: 1998/09/09
Raw View
MW Ron<MWRon@metrowerks.com> wrote:
>
>In article <fxt1zpmjufg.fsf@isolde.engr.sgi.com>, Matt Austern
><austern@sgi.com> wrote:
>
>> I know of three companies that sell commercial C++ test suites.
>> (Plum-Hall, Modena, and Perennial.)  I don't know of any freeware C++
>> test suites.
>
>Metrowerks uses these tests and must pass them for release.  These tests
>do not test for C++ feature implementations.  I don't think anyone even
>has a list of features, I know our Sales division would dearly love one :)

A list of features.  Hmm, you mean something like EDG's list?

  http://www.edg.com/cpp_ftrs.html

A good core language test suite checks for the presence of each of
these features individually.  Of course there are other test suites,
such as for the library.  Are you sure MW uses all the available
suites from each suite vendor?

If the MW compiler actually "passed" the Plum Hall and Perennial suites,
that would imply that it actually implements all specified language
and library features, which I don't believe is true.

--
Nathan Myers
ncm@nospam.cantrip.org  http://www.cantrip.org/
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: huynh@anubisinc.com
Date: 1998/09/06
Raw View
In article <35f16eca.0@news.new-era.net>,
  scott@softbase.com wrote:
> If there was a market for a "standard" C++ compiler that couldn't do
> anything but what the standard said it could do, someone would write
> one. Believe it or not, in the real world, people use operating system
> facilities, databases, GUIs, and more.  Some of us do mixed language
> programming and use COM.

That's true but still I don't see why all type of programming is incompatible
with a standard-compliant compiler. It's frustrating to have to write
incorrect/inefficient code because you need to use a specific compiler.
There're a lot of freeware/shareware independent GUI libraries on the
Internet but (correct me if I'm wrong), I haven't seen any C++ library based
on a nice design that could replace MFC. I'd ready to rewrite my applications
if that was the case.

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: matt.reece@iname.com
Date: 1998/09/06
Raw View
In article <35f013b3.0@news.new-era.net>,
  scott@softbase.com wrote:
>
> Wil Evers (WEvers@nospam.PCL-Software.nl) wrote:
> > ... but it still lacks support for important new language
> > features such as member templates.
> > Unfortunately, Microsoft is moving along a similar path of adding more
> > gadgets aimed at the latest trends in Windows-specific technology without
> > worrying too much about compliance with standard C++.
>
> I believe it is unfair to criticize Microsoft and Borland for not
> adding exotic new C++ features to their compilers immediately. NO ONE
> has a complete implementation of the Standard C++ language yet (gcc
> lags behind either of these two compilers). The standard's ink has
> barely dried, and most of the unimplemented features are very
> esoteric. It's going to be a while before these new features are
> totally understood and implemented.



Author: James Kuyper <kuyper@wizard.net>
Date: 1998/09/07
Raw View
scott@softbase.com wrote:
>
> Wil Evers (WEvers@nospam.PCL-Software.nl) wrote:
>
> > ... but it still lacks support for important new language
> > features such as member templates.
>
> > Unfortunately, Microsoft is moving along a similar path of adding more
> > gadgets aimed at the latest trends in Windows-specific technology without
> > worrying too much about compliance with standard C++.
>
> I believe it is unfair to criticize Microsoft and Borland for not
> adding exotic new C++ features to their compilers immediately. NO ONE
> has a complete implementation of the Standard C++ language yet (gcc
> lags behind either of these two compilers). The standard's ink has
> barely dried, and most of the unimplemented features are very
> esoteric. It's going to be a while before these new features are
> totally understood and implemented.

How well do PC compilers compare with KAI C++, in conformance to the new
standard?
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: danubius@halcyon.com (J. P.)
Date: 1998/09/07
Raw View
On 05 Sep 98 06:03:44 GMT, P.J. Plauger <pjp@dinkumware.com> wrote:
>
>I agree absolutely. Companies this size plan their releases *years*
>in advance. The C++ Standard just settled down fairly recently, on
>that time frame. Dinkumware just signed a five-year support agreement
>with Microsoft, so I have every reason to believe VC++ will conform
>ever more closely over time, as the compiler itself implements the
>required language features.

Wow!  You are "THE" P. J. Plauger himself?  I wonder if you've had a
chance working with HP's aC++ (aCC) compiler and share your opinion
as to its closeness to the C++ Standard.

Thanks,
Joe Pannon
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "P.J. Plauger" <pjp@dinkumware.com>
Date: 1998/09/07
Raw View
matt.reece@iname.com wrote in article <6su6ur$nd7$1@nnrp1.dejanews.com>...
> From what I understand, Microsoft Visual C++ 6 does have support for member
> templates. This seems to be a step in the right direction. I won't criticize
> Microsoft for not having  full support for the standard at this point,
> because as you said, the standard is still very new. However, I think
> standardizing the C++ compiler should be a bigger priority for companies like
> Microsoft and Inprise. I don't really know about Inprise, but Microsoft seems
> to care more about COM, DCOM, ADO, MFC, and ATL than about C++. In their list
> of new features in Visual C++ 6, they mention ATL 3.0, improvements to MFC,
> and OLE DB, but nowhere do they mention C++ language support. It has been
> mentioned that gcc does not support as many language features as C++. That's
> true, but at least gcc (and egcs) developers seem to be very committed to
> improving standard support. I don't see that commitment from Microsoft. I've
> heard the argument that many of the newer language features are obscure and
> would not be used much - maybe most people would not use them, and I might
> not use them directly, but I would like to use numerical libraries like
> Blitz++ which make extensive use of new template techniques. Microsoft and
> other compiler developers need to realize that when we buy a "C++ compiler"
> we expect a *C++* compiler.



Author: "P.J. Plauger" <pjp@dinkumware.com>
Date: 1998/09/08
Raw View
J. P. <danubius@halcyon.com> wrote in article <6sro0v$p8a$1@halcyon.com>...
> On 05 Sep 98 06:03:44 GMT, P.J. Plauger <pjp@dinkumware.com> wrote:
> Wow!  You are "THE" P. J. Plauger himself?

At least one of them.

>                                                                 I wonder if you've had a
> chance working with HP's aC++ (aCC) compiler and share your opinion
> as to its closeness to the C++ Standard.

Haven't worked with it for years, sorry.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com/hot_news.html



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: brownsta@concentric.net (Stan Brown)
Date: 1998/09/08
Raw View
matt.reece@iname.com (matt.reece@iname.com) wrote:
>I won't criticize
>[...] for not having  full support for the standard at this point,
>because as you said, the standard is still very new.

I hear this repeated over and over again, like a mantra, to justify
companies in not having standard-conforming products.

While the standard is new de jure, it is almost two years old de facto.
Changes after CD2 were minor relative to changes before it.

For that matter, the STL is older than that, and a certain market-leading
compiler still won't compile the STL headers that ship with it -- even
though its own database registered the "bug" a year and a half ago and it
has issued major updates since then.

Microsoft's choice to lust after whiz-bang features at the extent of
correct code is particularly disappointing since it was such a leader in
conformity to the ANSI C Standard (as it was originally).

--
Stan Brown, Oak Road Systems, Cleveland, Ohio, USA
                      http://www.concentric.net/%7eBrownsta/
My reply address is correct as is. The courtesy of providing a correct
reply address is more important to me than time spent deleting spam.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: peter.garner@toward.com (Crazy Pete)
Date: 1998/09/08
Raw View
> Wow!  You are "THE" P. J. Plauger himself?  I wonder if you've had a
> chance working with HP's aC++ (aCC) compiler and share your opinion
> as to its closeness to the C++ Standard.

I worked with it ca. 7 months ago.  It was very close, and I am told
it is even closer at this time!  ;-)  It did not support template
template arguments, but neither does KAI C++.

Peace

Peter
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Tony@ask.me (Tony)
Date: 1998/09/08
Raw View
In article <01bdd84d$36665740$c91ec2d0@porky>, pjp@dinkumware.com says...
> scott@softbase.com wrote in article <35f013b3.0@news.new-era.net>...
> > I believe it is unfair to criticize Microsoft and Borland for not
> > adding exotic new C++ features to their compilers immediately.
>
> I agree absolutely. Companies this size plan their releases *years*
> in advance. The C++ Standard just settled down fairly recently, on
> that time frame. Dinkumware just signed a five-year support agreement
> with Microsoft, so I have every reason to believe VC++ will conform
> ever more closely over time, as the compiler itself implements the
> required language features.

With the recent discussion here about the complexity of implementing a
C++ compiler, I'm not sure that I want a "standard" one anymore.

Tony
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Tony@ask.me (Tony)
Date: 1998/09/08
Raw View
In article <u9soi7a0kp.fsf@yorick.cygnus.com>, jason@cygnus.com says...
> In any case, we just released egcs 1.1, which adds support for namespaces,
> member template classes, template template parameters, template friends,
> and complete exception handling semantics.  See

Could the more complex features of C++ be implemented orthogonally so
that one could choose specified subsets and perhaps even a C++ Lite
compiler as opposed to a billion-dollar-company's compiler as a standard?
The motives here being keeping the complexity down, keeping the
capitalists honest while allowing them to be in the market too.

Tony
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: jcoffin@taeus.com (Jerry Coffin)
Date: 1998/09/04
Raw View
In article <35dadfcc.70620249@news.homecom.com>, nkasvosve@homecom.com
says...
> What about Inprise' Borland 5.02? I think its pretty close to
> compliant

I honestly can't say much about recent versions of their compiler: I
ran into problems with 4.0 and 4.5 that rendered it completely
unusable, and haven't even bothered to try it since.  The problems
were not related to conformance, but for there's more to a compiler
than conformance -- the last version of BC++ that I managed to put to
any practical use was 3.1, which (of course) is far too old to even be
worth discussing WRT conformance.

--
    Later,
    Jerry.

The Universe is a figment of its own imagination.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "P.J. Plauger" <pjp@dinkumware.com>
Date: 1998/09/05
Raw View
scott@softbase.com wrote in article <35f013b3.0@news.new-era.net>...
> I believe it is unfair to criticize Microsoft and Borland for not
> adding exotic new C++ features to their compilers immediately.

I agree absolutely. Companies this size plan their releases *years*
in advance. The C++ Standard just settled down fairly recently, on
that time frame. Dinkumware just signed a five-year support agreement
with Microsoft, so I have every reason to believe VC++ will conform
ever more closely over time, as the compiler itself implements the
required language features.

>                                                                                         NO ONE
> has a complete implementation of the Standard C++ language yet (gcc
> lags behind either of these two compilers). The standard's ink has
> barely dried, and most of the unimplemented features are very
> esoteric. It's going to be a while before these new features are
> totally understood and implemented.

Also true. BTW, Dinkumware has been shipping a complete Standard C++
library since early this year. While no C++ compilers implement the full
language, one or two implement all that is needed by the library.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com/hot_news.html
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Tony@ask.me (Tony)
Date: 1998/09/05
Raw View
In article <35f013b3.0@news.new-era.net>, scott@softbase.com says...
> I believe it is unfair to criticize Microsoft and Borland for not
> adding exotic new C++ features to their compilers immediately. NO ONE
> has a complete implementation of the Standard C++ language yet (gcc
> lags behind either of these two compilers). The standard's ink has
> barely dried, and most of the unimplemented features are very
> esoteric. It's going to be a while before these new features are
> totally understood and implemented.

The thing is Scott, there's plenty of time to get ALL of the standard in
there if a company is focused on compiler technology.  MS and Borland
aren't.  They're focused on proprietary RAD things they can sell you and
littering the compiler with their extensions.  Argh.

Tony

 - Give me a clean compiler damn it!
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Jason Merrill <jason@cygnus.com>
Date: 1998/09/05
Raw View
>>>>> scott  <scott@softbase.com> writes:

 > Wil Evers (WEvers@nospam.PCL-Software.nl) wrote:

 >> ... but it still lacks support for important new language
 >> features such as member templates.

 >> Unfortunately, Microsoft is moving along a similar path of adding more
 >> gadgets aimed at the latest trends in Windows-specific technology without
 >> worrying too much about compliance with standard C++.

 > I believe it is unfair to criticize Microsoft and Borland for not
 > adding exotic new C++ features to their compilers immediately. NO ONE
 > has a complete implementation of the Standard C++ language yet (gcc
 > lags behind either of these two compilers).

That's an oversimplification; g++ has been ahead in some areas and behind
in others.

In any case, we just released egcs 1.1, which adds support for namespaces,
member template classes, template template parameters, template friends,
and complete exception handling semantics.  See

  http://egcs.cygnus.com

for more information.

Jason


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Tony@ask.me (Tony)
Date: 1998/09/05
Raw View
In article <MPG.1059f7f632fc0512989d21@news.rmi.net>, jcoffin@taeus.com
says...
> In article <35dadfcc.70620249@news.homecom.com>, nkasvosve@homecom.com
> says...
> > What about Inprise' Borland 5.02? I think its pretty close to
> > compliant
>
> I honestly can't say much about recent versions of their compiler: I
> ran into problems with 4.0 and 4.5 that rendered it completely
> unusable, and haven't even bothered to try it since.  The problems
> were not related to conformance, but for there's more to a compiler
> than conformance -- the last version of BC++ that I managed to put to
> any practical use was 3.1, which (of course) is far too old to even be
> worth discussing WRT conformance.

Well I almost luv 5.02.  Though maybe I don't tax the standard much on
some things (I don't use exceptions for instance, templates I do).  I
think it would have been a good thing to build from as an IDE/Compiler
environment.  Too bad Borland didn't think so. :(

Tony


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: khan@xraylith.wisc.edu (Mumit Khan)
Date: 1998/09/06
Raw View
In article <u9soi7a0kp.fsf@yorick.cygnus.com>,
Jason Merrill  <jason@cygnus.com> wrote:
>
>
>In any case, we just released egcs 1.1, which adds support for namespaces,
>member template classes, template template parameters, template friends,
>and complete exception handling semantics.  See
>
>  http://egcs.cygnus.com
>
>for more information.
>

And since we're talking about PC compilers, you can pick up the egcs-1.1
binaries for win32 from the site below:

  http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
or,
  ftp://pub.xraylith.wisc.edu/pub/khan/gnu-win32/cygwin32/egcs-1.1/
  ftp://pub.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/egcs-1.1/

Regards,
Mumit
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: scott@softbase.com
Date: 1998/09/06
Raw View
Tony (Tony@ask.me) wrote:

> The thing is Scott, there's plenty of time to get ALL of the standard in
> there if a company is focused on compiler technology.  MS and Borland
> aren't.

Well, how do you explain gcc, then? It doesn't support Standard C++
completely yet either, and you'd assume it was "focused" on
implementing the standard. Have you read the standard? I've barely read
some of the C++ Primer, and it is such an obtuse book I can only go a
page or two before MEGO sets in. Imagine reading the language of the
standard itself! A Standard C++ compiler isn't something you do
overnight.

Honestly, most of the stuff that isn't implemented yet is really,
really exotic like template specializaton. The industry as a whole has
barely gotten to using OOP, and I'm sure compiler writers don't feel
pressured by heavy demand for these 11th hour standards additions. I
feel positively avant garde using the STL.

> They're focused on proprietary RAD things they can sell you and
> littering the compiler with their extensions.  Argh.

If there was a market for a "standard" C++ compiler that couldn't do
anything but what the standard said it could do, someone would write
one. Believe it or not, in the real world, people use operating system
facilities, databases, GUIs, and more.  Some of us do mixed language
programming and use COM.

Scott
--
Look at Softbase Systems' client/server tools, www.softbase.com
Check out the Essential 97 package for Windows 95 www.skwc.com/essent
All my other cool web pages are available from that site too!
My demo tape, artwork, poetry, The Windows 95 Book FAQ, and more.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: nkasvosve@homecom.com (nick kasvosve)
Date: 1998/09/04
Raw View
What about Inprise' Borland 5.02? I think its pretty close to
compliant

On 17 Aug 1998 16:50:16 GMT, jcoffin@taeus.com (Jerry Coffin) wrote:

>
>In article <6r515t$8hn$1@nnrp1.dejanews.com>, matt.reece@iname.com
>says...
>>
>> Does anyone know of any C++ compilers compliant with the new standard on a PC
>> running Microsoft Windows? It seems that Microsoft Visual C++ 6 will be mostly
>> compatible with the standard, but will still lack certain features (covariant
>> return types, possibly template specializations?). gcc 2.8.x does not support
>> namespaces. There is an older version of egcs available with Cygnus GNU-Win32
>> but it's not totally standard-conforming (what about the newest version, which
>> hasn't yet been ported?). So, it appears to me that there are no standard C++
>> compilers available for PCs (except possibly KAI C++ on a PC running Linux?).
>> Am I correct about this?
>
>I don't believe there's presently a fully conforming implementation of
>C++ for _any_ platform.  The closest I've seen on a PC running Win32,
>at least so far, appears to be Intel's reference compiler, which you
>get more or less for free if you buy Intel VTune.  This is based on
>the widely used EDG front-end, which is about as good as any right
>now. Unfortunately, this doesn't ship with a standard library; I
>haven't had time to get it to compile an existing standard library,
>but I'm pretty sure it'll happen at some point.
>
>The next version of MetroWerks CodeWarrior also looks quite good.
>
>I don't believe either of these is yet fully compliant, but both of
>them look like they'll probably be closer than VC++ 6.
>
>--
>    Later,
>    Jerry.
>
>The Universe is a figment of its own imagination.
>
>
>[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
>[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
>[              --- Please see the FAQ before posting. ---               ]
>[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]
>
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Wil Evers" <WEvers@nospam.PCL-Software.nl>
Date: 1998/09/04
Raw View
nick kasvosve <nkasvosve@homecom.com> wrote in article
<35dadfcc.70620249@news.homecom.com>...

> What about Inprise' Borland 5.02? I think its pretty close to
> compliant

By 1996 standards, BC++ 5.02 was pretty close, at least when compared to
the competition. Since then, the benefits of using idioms based on recent
language features have become more and more obvious, and so, by today's
standards, BC++ 5.02 is pretty much out of date.

Since version 5.02, the most significant changes Borland/Inprise made to
their C++ compiler are about binary compatibility with the Object Pascal
object model, which is needed to use the Delphi components C++ Builder is
based on. I believe the most recent version of their C++ compiler is
version 5.30 that comes with Builder 3. It fixes some annoying bugs in
previous releases, but it still lacks support for important new language
features such as member templates.

Unfortunately, Microsoft is moving along a similar path of adding more
gadgets aimed at the latest trends in Windows-specific technology without
worrying too much about compliance with standard C++. At the moment, C++
programmers who want to write portable programs on a Windows system are
effectively denied access to the C++ standard library, a situation for
which both Microsoft and Inprise are to blame. In my opinion, it's time for
a competitor to jump in and take over, the way Borland did in the eighties.

- Wil

--
sender's address is spam-protected -
please remove 'nospam.' when replying by email
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: scott@softbase.com
Date: 1998/09/04
Raw View
nick kasvosve (nkasvosve@homecom.com) wrote:
> What about Inprise' Borland 5.02? I think its pretty close to
> compliant

It's too old to be compliant. Anything earlier than C++ Builder
3 doesn't support the Standard C++ library syntax. Makes porting
very difficult.

Scott
--
Look at Softbase Systems' client/server tools, www.softbase.com
Check out the Essential 97 package for Windows 95 www.skwc.com/essent
All my other cool web pages are available from that site too!
My demo tape, artwork, poetry, The Windows 95 Book FAQ, and more.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: scott@softbase.com
Date: 1998/09/04
Raw View
Wil Evers (WEvers@nospam.PCL-Software.nl) wrote:

> ... but it still lacks support for important new language
> features such as member templates.

> Unfortunately, Microsoft is moving along a similar path of adding more
> gadgets aimed at the latest trends in Windows-specific technology without
> worrying too much about compliance with standard C++.

I believe it is unfair to criticize Microsoft and Borland for not
adding exotic new C++ features to their compilers immediately. NO ONE
has a complete implementation of the Standard C++ language yet (gcc
lags behind either of these two compilers). The standard's ink has
barely dried, and most of the unimplemented features are very
esoteric. It's going to be a while before these new features are
totally understood and implemented.

Scott
--
Look at Softbase Systems' client/server tools, www.softbase.com
Check out the Essential 97 package for Windows 95 www.skwc.com/essent
All my other cool web pages are available from that site too!
My demo tape, artwork, poetry, The Windows 95 Book FAQ, and more.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: Pete Becker <petebecker@acm.org>
Date: 1998/09/04
Raw View
Wil Evers wrote:
>
>At the moment, C++
> programmers who want to write portable programs on a Windows system are
> effectively denied access to the C++ standard library

That's quite an overstatement. Code that uses the Standard C++ Library
and compiles and runs on a compiler that does not support member
templates is portable to compilers that support member templates. What
you don't get that's part of the Standard C++ Library is the full
generality of being able to copy elements from one container to another
when the two containers have different iterator types. That's not a big
loss, because it's rare, and it's easily worked around.

--
Pete Becker
Dinkumware, Ltd.
http://www.dinkumware.com
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: matt.reece@iname.com
Date: 1998/08/16
Raw View
Does anyone know of any C++ compilers compliant with the new standard on a PC
running Microsoft Windows? It seems that Microsoft Visual C++ 6 will be mostly
compatible with the standard, but will still lack certain features (covariant
return types, possibly template specializations?). gcc 2.8.x does not support
namespaces. There is an older version of egcs available with Cygnus GNU-Win32
but it's not totally standard-conforming (what about the newest version, which
hasn't yet been ported?). So, it appears to me that there are no standard C++
compilers available for PCs (except possibly KAI C++ on a PC running Linux?).
Am I correct about this?

Matthew Reece
matt.reece@iname.com
swarsmatt@aol.com

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "Ross Smith" <ross.s@ihug.co.nz>
Date: 1998/08/16
Raw View
Moderators: I hope this is considered to be on topic; although it's
compiler specific, we're talking about how well these compilers conform
to the standard.

[ moderator note: Yes, how well different compilers conform to the
  standard is most defintely on-topic. -sdc ]

matt.reece@iname.com wrote in message
<6r515t$8hn$1@nnrp1.dejanews.com>...
>
>Does anyone know of any C++ compilers compliant with the new standard
>on a PC running Microsoft Windows? It seems that Microsoft Visual C++
>6 will be mostly compatible with the standard, but will still lack
>certain features (covariant return types, possibly template
>specializations?). gcc 2.8.x does not support namespaces. There is an
>older version of egcs available with Cygnus GNU-Win32 but it's not
>totally standard-conforming (what about the newest version, which
>hasn't yet been ported?). So, it appears to me that there are no
>standard C++ compilers available for PCs (except possibly KAI C++ on
>a PC running Linux?). Am I correct about this?

At the moment I think you are, but the situation will improve very
shortly.

I haven't tried VC6 yet, but several people who have say that the
compiler is essentially unchanged from VC5; they haven't even fixed most
of the bugs, let alone adding any new features. The only changes between
VC5 and VC6 are a few more bells and whistles in the IDE.

The other two major commercial Win32 compilers, Borland (or Inprise or
whatever they call themselves this week) and Watcom, are (I gather) in a
similar position to Microsoft as far as standard conformance goes. (The
former fourth major compiler, Symantec, is way behind the curve and
essentially dead.)

The current version of EGCS is 1.03; you can get a Win32 port of 1.02.
This lacks namespaces and a few of the more obscure template features
(IMHO, there's nothing much to choose between EGCS 1.02 and VC5 in terms
of language support, unless you need some specific feature that only one
of them supports). EGCS 1.1 will be out in a few weeks, and on past
performance the Win32 port is likely to be available fairly quickly.
This will be very close to completely standard conforming, at least in
the language itself.

The standard library is a different kettle of fish. VC5's library is
very complete, way ahead of any other compiler, as far as I know. EGCS's
library is less complete, although it's also less buggy in the sections
that *are* complete (basically the STL). The EGCS library, unlike (most
of) the VC5/6 library, is *not* thread safe. Both the incompleteness and
the threading problems will be fixed eventually (hard to say when, but
I'd guess 6 to 12 months).

Breaking down the library into the four main parts that went into it:

* C library: This has been around long enough that practically every
existing compiler has a complete and very nearly bug-free
implementation.

* I/O streams: VC5's implementation is more complete than EGCS's, but
you won't notice the difference unless you use locale settings.

* STL: VC5 and EGCS both have complete implementations, but EGCS's is
more reliable by a long shot.

* The rest of the new C++ library (locales, valarrays, etc): VC5 has an
almost complete and fairly reliable implementation. Most of this is
essentially nonexistent on EGCS and, as far as I know, every other
compiler.

--
Ross Smith ................................... mailto:ross.s@ihug.co.nz
.............. The Internet Group, Auckland, New Zealand ..............
  "Remember when we told you there was no future? Well, this is it."
                                                        -- Blank Reg




[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: herwin@gmu.edu (Harry Erwin)
Date: 1998/08/17
Raw View
Ross Smith <ross.s@ihug.co.nz> wrote:

>
> matt.reece@iname.com wrote in message
> <6r515t$8hn$1@nnrp1.dejanews.com>...
> >
> >Does anyone know of any C++ compilers compliant with the new standard
> >on a PC running Microsoft Windows? It seems that Microsoft Visual C++
> >6 will be mostly compatible with the standard, but will still lack
> >certain features (covariant return types, possibly template
> >specializations?). gcc 2.8.x does not support namespaces. There is an
> >older version of egcs available with Cygnus GNU-Win32 but it's not
> >totally standard-conforming (what about the newest version, which
> >hasn't yet been ported?). So, it appears to me that there are no
> >standard C++ compilers available for PCs (except possibly KAI C++ on
> >a PC running Linux?). Am I correct about this?
>
> At the moment I think you are, but the situation will improve very
> shortly.
>

Here's what Ron Liechty indicates will be the case for Metrowerks
Codewarrior 4:

In article <1ddn4vb.15vb7rhc5pqnmN@user-38lcjrj.dialup.mindspring.com>,
herwin@gmu.edu (Harry Erwin) wrote:

> For example, Metrowerks just released a Codewarrior interim
> version that they indicate addresses the following deficiencies in their
> support of the standard:
>
> - support for class template partial specializations
> - support for virtual function overrides with covariant return types
> - size limit for fully expanded macros

C++ features in CodeWarrior Pro 4 release coming next month include

- support for member templates (with some restrictions)
- support for class template partial specializations
- support for virtual function overrides with covariant return types
- support for partial template function ordering
- support for function-try-blocks


Ron
--

METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com

--------------------------------------------------------------------
Harry Erwin, herwin@gmu.edu


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: jcoffin@taeus.com (Jerry Coffin)
Date: 1998/08/17
Raw View
In article <6r515t$8hn$1@nnrp1.dejanews.com>, matt.reece@iname.com
says...
>
> Does anyone know of any C++ compilers compliant with the new standard on a PC
> running Microsoft Windows? It seems that Microsoft Visual C++ 6 will be mostly
> compatible with the standard, but will still lack certain features (covariant
> return types, possibly template specializations?). gcc 2.8.x does not support
> namespaces. There is an older version of egcs available with Cygnus GNU-Win32
> but it's not totally standard-conforming (what about the newest version, which
> hasn't yet been ported?). So, it appears to me that there are no standard C++
> compilers available for PCs (except possibly KAI C++ on a PC running Linux?).
> Am I correct about this?

I don't believe there's presently a fully conforming implementation of
C++ for _any_ platform.  The closest I've seen on a PC running Win32,
at least so far, appears to be Intel's reference compiler, which you
get more or less for free if you buy Intel VTune.  This is based on
the widely used EDG front-end, which is about as good as any right
now. Unfortunately, this doesn't ship with a standard library; I
haven't had time to get it to compile an existing standard library,
but I'm pretty sure it'll happen at some point.

The next version of MetroWerks CodeWarrior also looks quite good.

I don't believe either of these is yet fully compliant, but both of
them look like they'll probably be closer than VC++ 6.

--
    Later,
    Jerry.

The Universe is a figment of its own imagination.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: hinnant@_anti-spam_lightlink.com (Howard Hinnant)
Date: 1998/08/17
Raw View
In article <6r7ne8$adh$1@newsource.ihug.co.nz>, "Ross Smith"
<ross.s@ihug.co.nz> wrote:

> The other two major commercial Win32 compilers, Borland (or Inprise or
> whatever they call themselves this week) and Watcom, are (I gather) in a
> similar position to Microsoft as far as standard conformance goes. (The
> former fourth major compiler, Symantec, is way behind the curve and
> essentially dead.)

It's time to check out Metrowerks.  I would tell you how wonderful it is,
and getting even better very rapidly, but I'm biased.

-Howard


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "P.J. Plauger" <pjp@dinkumware.com>
Date: 1998/08/17
Raw View
Jerry Coffin <jcoffin@taeus.com> wrote in article <MPG.104135522bef787b989cbe@news.rmi.net>...
> I don't believe there's presently a fully conforming implementation of
> C++ for _any_ platform.  The closest I've seen on a PC running Win32,
> at least so far, appears to be Intel's reference compiler, which you
> get more or less for free if you buy Intel VTune.  This is based on
> the widely used EDG front-end, which is about as good as any right
> now. Unfortunately, this doesn't ship with a standard library; I
> haven't had time to get it to compile an existing standard library,
> but I'm pretty sure it'll happen at some point.

Several of our customers use the EDG front end. It is one of only two
existing front ends that I know of that lets us supply a fully conforming
Standard C++ library with no compromises. In fact, our evaluation
package uses the EDG/VC++ demo combination from EDG, because
it shows off our software in the best light on a widely available platform.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com/hot_news.html



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: MWRon@metrowerks.com (MW Ron)
Date: 1998/08/17
Raw View
In article <6r515t$8hn$1@nnrp1.dejanews.com>, matt.reece@iname.com wrote:

> Does anyone know of any C++ compilers compliant with the new standard on a PC
> running Microsoft Windows? It seems that Microsoft Visual C++ 6 will be mostly
> compatible with the standard, but will still lack certain features (covariant
> return types, possibly template specializations?).

Metrowerks CodeWarrioris mostly compliant with the CW Pro version coming
out early next month.

The library is as compliant as possible (it is hard to test for this)

The compiler has these features

- namespaces
- default template arguments
- member templates
- template template arguments
- class template specializations
- partial template specialization
- typename
- template functions
- function try block
- virtual function overrides with covariant return types
- static const members

There are probably others we have and at least one (support for keyword
export) that we don't have.

CodeWarrior Windows host only runs on 32 bit Windows 95/98 and NT 4.0 or newer.

I don't want this to sound like a commercial so if you have any other
questions I'd be happy to respond in private mail or on the non-std
newsgroup.

Ron

--
The  CodeWarrior FAQ
<http://cw-faq.mit.edu/cw-faq/faq>

METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "Ross Smith" <ross.s@ihug.co.nz>
Date: 1998/08/18
Raw View
Howard Hinnant wrote in message ...
>
>In article <6r7ne8$adh$1@newsource.ihug.co.nz>, "Ross Smith"
><ross.s@ihug.co.nz> wrote:
>
>> The other two major commercial Win32 compilers, Borland (or Inprise
or
>> whatever they call themselves this week) and Watcom, are (I gather)
in a
>> similar position to Microsoft as far as standard conformance goes.
(The
>> former fourth major compiler, Symantec, is way behind the curve and
>> essentially dead.)
>
>It's time to check out Metrowerks.  I would tell you how wonderful it
is,
>and getting even better very rapidly, but I'm biased.

I tried it a few weeks ago. It seems to be about equal to VC5 in terms
of language support, but I dropped it quickly when I realised it
couldn't be run from the command line -- you *have* to use the IDE (and
its horrible editor).

--
Ross Smith ................................... mailto:ross.s@ihug.co.nz
.............. The Internet Group, Auckland, New Zealand ..............
  "Remember when we told you there was no future? Well, this is it."
                                                        -- Blank Reg




[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "Dwayne Moore" <dwayne@interlog.com>
Date: 1998/08/19
Raw View
What's the other existing front end that supports a fully conforming
Standard C++ library with no compromises?

Dwayne Moore

P.J. Plauger wrote in message <01bdca0d$23f9c900$8a1ec2d0@porky>...
>Several of our customers use the EDG front end. It is one of only two
>existing front ends that I know of that lets us supply a fully conforming
>Standard C++ library with no compromises.



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "P.J. Plauger" <pjp@dinkumware.com>
Date: 1998/08/20
Raw View
Dwayne Moore <dwayne@interlog.com> wrote in article <6rflma$qnk$1@news.interlog.com>...
>
> What's the other existing front end that supports a fully conforming
> Standard C++ library with no compromises?

IBM, but I don't know if it's released yet.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com/hot_news.html



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: MWRon@metrowerks.com (MW Ron)
Date: 1998/08/20
Raw View
In article <01bdcc44$c01b50e0$8a1ec2d0@porky>, "P.J. Plauger"
<pjp@dinkumware.com> wrote:

> Dwayne Moore <dwayne@interlog.com> wrote in article
<6rflma$qnk$1@news.interlog.com>...
> >
> > What's the other existing front end that supports a fully conforming
> > Standard C++ library with no compromises?
>
> IBM, but I don't know if it's released yet.

I expect Intel and KCC will too. CodeWarrior Pro 4 should be able to
handle it as well.

Ron

--
The  CodeWarrior FAQ
<http://cw-faq.mit.edu/cw-faq/faq>

METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]