[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#475839: libc6-dev: pthread_mutex_t definition contains a nameless union



tag 475839 + wontfix
thanks

On Sun, Apr 13, 2008 at 12:12:38PM +0200, Francois Gouget wrote:
> Package: libc6-dev
> Version: 2.7-10
> Severity: normal
> Tags: patch
> 
> 
> The pthread_mutex_t in /usr/include/bits/pthreadtypes.h contains a
> nameless union. This makes it impossible to use with compilers that
> don't support nameless unions. Gcc 2.95 for instance. In
> particular this breaks compilation of Wine with gcc 2.95 (see
> loader/kthread.c in the Wine source).
> 
> Avoiding nameless unions is trivial so there's no reason not to do it.
> Here's a patch to fix this (finding a better name for the union is left
> as an exercise for the reader):
> 
> --- pthreadtypes.h.orig 2007-11-29 22:32:47.000000000 +0100
> +++ pthreadtypes.h      2007-12-08 09:12:50.000000000 +0100
> @@ -96,7 +96,7 @@
>      {
>        int __spins;
>        __pthread_slist_t __list;
> -    };
> +    } u;
>  #endif
>    } __data;
>    char __size[__SIZEOF_PTHREAD_MUTEX_T];
> 
> (hopefully this won't get too mangled by vi)
> 
> 
> Here is a test program:
> --- pthread_mutex_t.c ---
> #include <pthread.h>
> pthread_mutex_t mutex;
> --- pthread_mutex_t.c ---
> 
> Compiling it with gcc 2.95 gives the following error:
> $ gcc-2.95 -c pthread_mutex_t.c
> In file included from /usr/include/pthread.h:30,
>                  from pthread_mutex_t.c:1:
> /usr/include/bits/pthreadtypes.h:99: warning: unnamed struct/union that defines no instances
> 

gcc-2.95 does not give an error, but outputs a simple warning.

I don't think it worth supporting an old compiler that is not present
in lenny. Tagging the bug as wontfix.

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net



Reply to: