This is the mail archive of the
libc-alpha@cygnus.com
mailing list for the glibc project.
Re: glibc-19980524: invalid use of GCC's `transparent union'
- To: Philip.Blundell@pobox.com
- Subject: Re: glibc-19980524: invalid use of GCC's `transparent union'
- From: Mark Kettenis <kettenis@phys.uva.nl>
- Date: Tue, 26 May 1998 10:16:50 +0200 (MET DST)
- CC: gord@m-tech.ab.ca, libc-alpha@cygnus.com, bug-hurd@gnu.org
- References: <E0ye3a0-0006Ov-00@kings-cross.london.uk.eu.org>
Date: Mon, 25 May 1998 21:10:44 +0100
From: Philip Blundell <Philip.Blundell@pobox.com>
>The problem is that glibc uses the `transparent union' mechanism in an
>undocumented way, which is not recognized by gcc-2.8.1. *Note:
Last time I looked at this (around the 2.8.0 release) it seemed that
transparent_union did work, but you needed to give ANSI-style prototypes to
get gcc to do the right thing. It seems unlikely that the gcc people have
managed to break it since, though anything's possible I guess.
Can you do a bit of experimenting and see if you can persuade it to work?
Using ANSI-style declarations works with gcc-2.8.1, at least for one
(hurd-specific) case Gord reported. Browsing through the code I
noticed that in the past there have been various "fixes" for this
problem, but that these fixes all do it in a different way. I think
someone needs to go over all the cases and fix the problems in a
uniform way. I'd say we use ANSI-style declarations of the wait?
functions all over, and I am willing to make the fixes, but it might
take a few days...
Mark