Mail Archives: djgpp/1998/01/15/10:01:52
From: | Chris Croughton <crough45 AT amc DOT de>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Re: DJ port of GCC 2.8.0?
|
Date: | Thu, 15 Jan 1998 16:01:17 +0100
|
Message-ID: | <34BE24BD.237C@amc.de>
|
References: | <69jo07$sqi$1 AT galileo DOT ticon DOT net>
|
NNTP-Posting-Host: | bob.bob.bofh.org
|
MIME-Version: | 1.0
|
Lines: | 78
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Sopwith Messerschmidt wrote:
> If he does, what new goodies can we look forward to in the new
> distribution?
The ones in the GCC 2.8.0 release, which include:
*** Changes since G++ version 2.7.2:
* A public review copy of the December 1996 Draft of the ANSI/ISO C++
proto-standard is now available. See
http://www.cygnus.com/misc/wp/
for more information.
* g++ now uses a new implementation of templates. The basic idea is that
now templates are minimally parsed when seen and then expanded later.
This allows conformant early name binding and instantiation controls,
since instantiations no longer have to go through the parser.
What you get:
+ Inlining of template functions works without any extra effort or
modifications.
+ Instantiations of class templates and methods defined in the
class
body are deferred until they are actually needed (unless
-fexternal-templates is specified).
+ Nested types in class templates work.
+ Static data member templates work.
+ Member function templates are now supported.
+ Partial specialization of class templates is now supported.
+ Explicit specification of template parameters to function
templates
is now supported.
Still not supported:
+ Member class templates.
+ Template template parameters.
+ Template friends.
* Exception handling support has been significantly improved and is on
by
default. This can result in significant runtime overhead. You can
turn
it off with -fno-exceptions.
* RTTI support has been rewritten to work properly and is now on by
default.
This means code that uses virtual functions will have a modest space
overhead. You can use the -fno-rtti flag to disable RTTI support.
New features for Intel x86 family:
Add scheduling parameters for Pentium and Pentium Pro.
However, C++ namespaces are still not supported. The big difference is
that if you try to use them you get an error message:
1.cc:4: sorry, not implemented: namespace
1.cc:19: sorry, not implemented: using directive
instead of the compiler crashing (this is an improvement of a kind - at
least it lets you know instead of sending in bug reports).
Will it be worth it? Well, the exception support probably will be worth
it for some people (me, definitely). I don't know anyone using RTTI
(that's
a GCC extension to allow a parameter to be passed anonymously to a
function
which determines its type at runtime). And the lack of namespaces is a
disappointment but not unexpected (it was never promised for this
release;
I suspect after the C++ standard is finalised they'll put it in).
Chris C
- Raw text -