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

Matt Austern austern@apple.com
Thu Dec 18 04:55:00 GMT 2003


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



More information about the Libstdc++ mailing list