AIX testsuite failures

David Edelsohn dje@watson.ibm.com
Wed May 4 15:29:00 GMT 2005


>>>>> Paolo Carlini writes:

Paolo> If I'm not mistaken, what all these failures have in common is the
Paolo> *thread suffix: are all meant to exercize the allocator in MT
Paolo> conditions. Indeed, in the example (similarly in the other cases), the
Paolo> failure is for a policy_type typedef-ed as:

Paolo> ...
Paolo> #ifdef __GTHREADS
Paolo> /// Partial specialization for thread enabled, via gthreads.h.
Paolo> template<template <bool> class _PoolTp>
Paolo> struct __common_pool_policy<_PoolTp, true>
Paolo> ...

Paolo> Therefore it looks like __GTHREADS is for some reason undefined. Does
Paolo> this ring something to you? (sorry, right now cannot further investigate
Paolo> whether we have got something special in the configury for threads vs AIX).

	AIX does not provide weak definitions of pthreads functions in
libc, so GCC provides gthr-aix.h which chooses gthr-single.h or
gthr-posix.h depending on pthreads being enabled.  The default is
gthr-single.h, which does not define __GTHREADS.  libstdc++ testsuite
runs on AIX in non-pthread mode by default.

	It sounds like the failing testcases should test for __GTHREADS.

David



More information about the Libstdc++ mailing list