This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: new concept checks and the 3.0 ABI
- To: Gabriel Dos Reis <Gabriel dot Dos-Reis at cmla dot ens-cachan dot fr>
- Subject: Re: new concept checks and the 3.0 ABI
- From: Theodore Papadopoulo <Theodore dot Papadopoulo at sophia dot inria dot fr>
- Date: Fri, 06 Apr 2001 19:40:51 +0200
- Cc: Joe Buck <jbuck at racerx dot synopsys dot com>, jason_merrill at redhat dot com (Jason Merrill), bkoz at redhat dot com (Benjamin Kosnik), jbuck at synopsys dot COM (Joe Buck), libstdc++ at gcc dot gnu dot org
Honestly, I do not see the library can be freezed
althought I admit that it would be a very nice thing to do.
Now, the next question is, can we do something to minimize the
effects as much as possible. Maybe, this is already done, I do not
know.
Gabriel.Dos-Reis@cmla.ens-cachan.fr said:
> Then it is, because libstdc++ developpers were never told that the
> "C++ ABI" issue was about libstdc++ and not what has been implemented
> as the "new C++ ABI" or "C++ ABI v3".
Well, I seem to remember that there were such questions raised in the
lists (I do not remember which one) before. More particularly, if I
remember correctly when an update of SGI STL was made between two
MINOR releases and that broke some code.
So the question has been raised...
That being said, but without some extensive tests
(I mean in the real programs of Mr everybody), I cannot see how it
can reach the status of stability. I'll expect to have at least two
or three releases (in the large world, ie bundled with the compiler
not as an add-on), before even considering a freezing...
All the more that, being highly templated and inlined, every implementation
detail (or almost) is exposed in almost every .o file. So freezing
would mean basically stop any major development of the library.
(Would it be easier with the export stuff implemented, I'm not even sure...).
The only thing that could be done AFAICT is to create interfaces for all the
library class, methods and function to hide the actual implementations, but
this would involve some performance penalty, unless versionning can
help here, but I certainly do not know enough of it to be sure it would be
worth the trouble.
It all depends on the kind of changes that are foreseen....
> | Now, it may be that this extremely ambitious goal is simply not |
> achievable, but we cannot honestly pretend that it was not the goal.
> But | if (or rather, when) we back off from this goal, then I think we
> need to | see if a subset is achievable (e.g. iostreams)
> IOstreams are not even in their final shape. We still need away to
> have an implementation not built on top of stdio.h.
It might be feasible to give to each of the library component a
rating about the likelihood of being changed in terms of ABI in the
future ? May be not, I'm just attempting to make a constructive
proposal....
--------------------------------------------------------------------
Theodore Papadopoulo
Email: Theodore.Papadopoulo@sophia.inria.fr Tel: (33) 04 92 38 76 01
--------------------------------------------------------------------
PGP signature