I committed the following patch to the FSF 4.6 branch which Jakub approved on IRC.
Peter Backport from mainline 2011-08-29 Jakub Jelinek <ja...@redhat.com> * gthr-posix.h (__gthread_active_p): Do not use preprocessor conditionals and comments inside macro arguments. Index: gcc/gthr-posix.h =================================================================== --- gcc/gthr-posix.h (revision 188247) +++ gcc/gthr-posix.h (working copy) @@ -239,16 +239,15 @@ __gthread_active_p (void) static inline int __gthread_active_p (void) { - static void *const __gthread_active_ptr - = __extension__ (void *) &__gthrw_( /* Android's C library does not provide pthread_cancel, check for `pthread_create' instead. */ #ifndef __BIONIC__ - pthread_cancel + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); #else - pthread_create + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_create); #endif - ); return __gthread_active_ptr != 0; }