This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/51906] thread lock test failures on darwin11 under Xcode 4.2
- From: "howarth at nitro dot med.uc.edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 03 Feb 2012 02:39:01 +0000
- Subject: [Bug libstdc++/51906] thread lock test failures on darwin11 under Xcode 4.2
- Auto-submitted: auto-generated
- References: <bug-51906-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51906
--- Comment #38 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-02-03 02:39:01 UTC ---
(In reply to comment #37)
Actually that above approach won't work because the pthread.h header on
darwin11 always sources...
#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) ||
defined(_DARWIN_C_SOURCE)
#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER
{_PTHREAD_ERRORCHECK_MUTEX_SIG_init, {0}}
#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {_PTHREAD_RECURSIVE_MUTEX_SIG_init,
{0}}
#endif /* (!_POSIX_C_SOURCE && !_XOPEN_SOURCE) || _DARWIN_C_SOURCE */
regardless of MACOSX_DEPLOYMENT_TARGET. This actually seems like another Apple
bug to me since there really should be a wrapper like...
#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
// code only compiled when targeting Mac OS X and not iPhone
// note use of 1070 instead of __MAC_10_7
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
// code in here to run targeting Lion
#else
// code here can assume targeting pre-Lion.
#endif
#endif
I think we really have to unconditionally initialize the mutex on darwin.