[v3] __pool_alloc locking bits

Richard Earnshaw rearnsha@gcc.gnu.org
Fri Jun 25 16:25:00 GMT 2004


Ben,
	2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/concurrence.h (__gnu_cxx::lock): New.
	* include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
	(__pool_base::_M_get_mutex): New.
	* include/bits/allocator.h: Tweak.
	* src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
	* config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
	* include/bits/stl_threads.h: Remove.
	* include/Makefile.am: Also here.
	* include/Makefile.in: Regenerate.

	* src/locale_init.cc: Use __gnu_cxx::lock.

	* src/allocator.cc: Move all instantiations...
	* src/allocator-inst.cc: ...here.

This patch breaks cross-compilation to arm-elf:

/home/rearnsha/gnusrc/egcs-cross/newlib/libc/include -B/work/rearnsha/gnu/testinstall/arm-elf/bin/ -B/work/rearnsha/gnu/testinstall/arm-elf/lib/ -isystem /work/rearnsha/gnu/testinstall/arm-elf/include -isystem /work/rearnsha/gnu/testinstall/arm-elf/sys-include -L/work/rearnsha/gnu/egcs/ld -I/work/rearnsha/gnu/egcs/arm-elf/libstdc++-v3/include/arm-elf -I/work/rearnsha/gnu/egcs/arm-elf/libstdc++-v3/include -I/home/rearnsha/gnusrc/egcs-cross/libstdc++-v3/libsupc++ -O2 -g -O2 -g -O2 -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -c /home/rearnsha/gnusrc/egcs-cross/libstdc++-v3/src/allocator.cc -o allocator.o
/home/rearnsha/gnusrc/egcs-cross/libstdc++-v3/src/allocator.cc: In member function `__gthread_mutex_t& __gnu_cxx::__pool_base::_M_get_mutex()':/home/rearnsha/gnusrc/egcs-cross/libstdc++-v3/src/allocator.cc:56: error: `palloc_init_mutex' is not a member of `__gnu_internal'
gnumake[3]: *** [allocator.lo] Error 1

R.



More information about the Libstdc++ mailing list