This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [libstdc++ RFC] stl_vector.h overhaul, part 1 of 2
- From: "B. Kosnik" <bkoz at nabi dot net>
- To: Phil Edwards <phil at jaj dot com>
- Cc: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Sat, 18 May 2002 08:18:03 -0700
- Subject: Re: [libstdc++ RFC] stl_vector.h overhaul, part 1 of 2
- Organization: secret_agent_headquarters
- References: <20020517151324.A15079@disaster.basement.lan>
- Reply-to: bkoz at nabi dot net
> For part 2, I plan to move the out-of-class definitions to a .tcc
> file, like other non-SGI files are already doing. Also, some of the
> functions that are defined in-class, but are too big to be inlined,
> should probably be moved out of class, but that gets into ABI
> territory and needs more eyes than mine.
Forgot to add this to the initial inlining comment: for the required
types in iostreams, locales, etc. (ie, the ones that the library
instantiates and thus the ones that matter for the library ABI) I used
the 'extern template' trick to remove inline instantiations, so the
situation is not quite as bleak as was made out previously.
If you look at a shared executables, you'll see that very little is
in object files that doesn't need to be there: that's what "tune for
size" was all about....
For the STL classes, I think the only thing that needs to be addressed
are the instantiations already in the library.
For the most part, those are in src/stl-inst.cc, right?
(checks)
Oh right, there's almost nothing in this file now. So, what's stopping
this cleanup from happening again?
Perhaps I'm being dense, and all these French holidays are making me
soft...
> Repeat for other STL classes.
Sounds great.
> Comments?
Certainly looks like a vast improvement to me. Thanks for doing this,
since it seems to have bugged a large number of people for a long time.
-benjamin