This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
mainline AIX bootstrap broken in libstdc++-v3
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Cc: gcc at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Fri, 26 Mar 2004 11:12:32 -0500
- Subject: mainline AIX bootstrap broken in libstdc++-v3
AIX bootstrap currently is broken with the following mt_allocator
related error while compiling allocator.cc:
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h: In member function `typename __gnu_cxx::__mt_alloc<_Tp>::pointer __gnu_cxx::__mt_alloc<_Tp>::allocate(size_t, const void*) [with _Tp = char]':
/gcc/dje/src/libstdc++-v3/src/allocator.cc:43: instantiated from here
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h:408: error: 'union __gnu_cxx::__mt_alloc<char>::block_record' has no member named 'thread_id'
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h: In member function `void __gnu_cxx::__mt_alloc<_Tp>::deallocate(_Tp*, size_t) [with _Tp = char]':
/gcc/dje/src/libstdc++-v3/src/allocator.cc:43: instantiated from here
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h:439: warning: unused variable 'thread_id'
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h: In member function `typename __gnu_cxx::__mt_alloc<_Tp>::pointer __gnu_cxx::__mt_alloc<_Tp>::allocate(size_t, const void*) [with _Tp = wchar_t]':
/gcc/dje/src/libstdc++-v3/src/allocator.cc:44: instantiated from here
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h:408: error: 'union __gnu_cxx::__mt_alloc<wchar_t>::block_record' has no member named 'thread_id'
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h: In member function `void __gnu_cxx::__mt_alloc<_Tp>::deallocate(_Tp*, size_t) [with _Tp = wchar_t]':
/gcc/dje/src/libstdc++-v3/src/allocator.cc:44: instantiated from here
/gcc/dje/build/powerpc-ibm-aix5.1.0.0-20040325/powerpc-ibm-aix5.1.0.0/power/libstdc++-v3/include/ext/mt_allocator.h:439: warning: unused variable 'thread_id'
make[7]: *** [allocator.lo] Error 1
This demonstrates two separate problems.
1) AIX uses new_allocator (config output
ALLOCATOR_H='config/allocator/new_allocator_base.h'
ALLOCATOR_NAME='__gnu_cxx::new_allocator')
but the failure references mt_allocator. Are all allocators compiled even
when not used?
2) allocator compiled properly for the AIX pthread multilibs, but failed
with the first non-pthread multilib. Some new reference to thread_id was
not protected by #ifdef __GTHREADS .
David