This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [libstdc++] PATCH: STL allocator cleanup, part 1


On Dec 17, 2003, at 5:27 PM, Gabriel Dos Reis wrote:

Matt Austern <austern@apple.com> writes:

[...]

| > Any steps to simply the codes there is OK with me. I guess this is an
| > ABI that should be documented?
^


oops, missing "change".

OK, I'm getting closer to understanding! But I'm probably still missing
something, because I don't really have a good sense of what kinds of
libstdc++ ABI changes require documentation, and where that documentation
goes. I think you're right that this is an ABI-incompatible change, in
that a .o compiled with the old headers won't necessarily link against
a .o compiled with the new headers, but I'd think that that's true of
almost any change in the STL headers.


Possibly there's some compatibility policy that everyone but me knows...

| I'm probably missing something.  What kind of documentation do you
| have in mind?

These hunks

+     _Tp** _M_map;
+     size_t _M_map_size;


+ _Tp* _M_start; + _Tp* _M_finish; + _Tp* _M_end_of_storage;

seem to be data member addition to me. Am I missing something?

Yes and no. They aren't new data members; I'm simplifying the class hierarchy, giving vector (for example) a two-level hierarchy instead of a three-level one, so I'm moving data members from the class I'm eliminating into other classes.

--Matt


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]