Commit 8da0464f6fff2ec16bcd9049d71ebcbff3e11d3c leaves typedef to non-existant union __pthread_attr.

Carlos O'Donell carlos@systemhalted.org
Mon Feb 27 03:33:00 GMT 2012


Ulrich,

The commit 8da0464f6fff2ec16bcd9049d71ebcbff3e11d3c renames
the union __pthread_attr_t to pthread_attr_t to fix the C++
name mangling problem but fails to fixup the subsequent use
of the old union name e.g.
~~~ pthreadtypes.h ~~~
...
union pthread_attr_t
{
  char __size[__SIZEOF_PTHREAD_ATTR_T];
  long int __align;
};
#ifndef __have_pthread_attr_t
typedef union __pthread_attr pthread_attr_t;
        ^^^^^^^^^^^^^^^^^^^^ No such union exists.
# define __have_pthread_attr_t  1
#endif
...
~~~

An appropriate fix, similar to the one you applied to siginfo.h, would be:
~~~
--- a/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
@@ -41,7 +41,7 @@ union pthread_attr_t
   long int __align;
 };
 #ifndef __have_pthread_attr_t
-typedef union __pthread_attr pthread_attr_t;
+typedef union pthread_attr_t pthread_attr_t;
 # define __have_pthread_attr_t 1
 #endif
~~~

Could you please clean this up?

Cheers,
Carlos.



More information about the Libc-alpha mailing list