This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [v3] allocator switches
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Cc: libstdc++ at gcc dot gnu dot org, Richard dot Earnshaw at arm dot com
- Date: Thu, 29 Jan 2004 12:18:28 +0000
- Subject: Re: [v3] allocator switches
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
bkoz@redhat.com said:
> 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
> * include/Makefile.am (bits_headers): Remove allocator_traits.h.
> * include/Makefile.in: Regenerate.
> * include/bits/allocator_traits.h: Remove.
> * include/bits/allocator.h: Remove allocator_traits.h include, and
> relevant comments.
> (allocator): Empty base class, inherit from the underlying allocator.
> * src/allocator-inst.cc: Move __pool_alloc instantiation to...
> * src/allocator.cc: ...here. New. For the underlying allocators.
> Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
> * config/linker-map.gnu: Remove __pool_alloc bits.
> * src/Makefile.am (sources): Add allocator.cc.
> * src/Makefile.in: Regenerate.
> * testsuite/20_util/allocator/1.cc: Split second test into...
> * testsuite/20_util/allocator/8230.cc: ...this.
> * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
> typedef to use std::allocatore. Format.
> * include/ext/pool_allocator.h: Remove allocator_traits.h include,
> _Alloc_traits.
> * include/ext/mt_allocator.h (__gnu_cxx): Qualify
> __throw_bad_alloc calls. Don't include <memory>.
> * include/ext/malloc_allocator.h: Remove <memory> include.
> * include/ext/new_allocator.h (new_allocator): Same.
> * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
> declaration. Switch __alloc to _Alloc.
> * include/ext/hashtable.h: Remove __alloc.
> * include/backward/alloc.h: Only inject allocator, not
> implementation details.
This breaks an arm-elf cross because _S_get_thread_id and
_S_thread_key_destr are used when not declared (declarations are wrapped
in '#ifdef __GTHREADS' which is not defined).
R.