This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Anonymous structs for g++ 2.95
- To: gcc at gcc dot gnu dot org
- Subject: Anonymous structs for g++ 2.95
- From: "Timothy J. Wood" <tjw at omnigroup dot com>
- Date: Tue, 12 Jun 2001 22:03:18 -0700
- Cc: Stan Shebs <shebs at apple dot com>, jason at cygnus dot com, khan at xraylith dot wisc dot edu, ajh8 at doc dot ic dot ac dot uk
This question is kind of out there, but here goes anyway...
I'm porting some Win32 source to Mac OS X that makes heavy use of
anonymous structs. I've grabbed the 2.95.x based source from Apple's
repository and applied the following patches:
http://gcc.gnu.org/ml/gcc-patches/1999-05n/msg00431.html
http://gcc.gnu.org/ml/gcc-patches/1999-06n/msg00376.html
When I try to bootstrap the compiler, it hangs building exception.cc
in ANON_UNION_P(). The patches above seem to have renamed this to
ANON_AGGR_TYPE_P(). The hang occurs in finish_struct_1 at:
...
if (TYPE_LANG_SPECIFIC (type) && ! ANON_UNION_P (x)
&& ! TYPE_PTRMEMFUNC_P (type))
{
/* Never let anything with uninheritable virtuals
make it through without complaint. */
if (CLASSTYPE_ABSTRACT_VIRTUALS (type))
abstract_virtuals_error (x, type);
...
It looks like the definition of ANON_UNION_P() that this is grabbing
is coming from cp-internal_debug.c and is not actually a valid function.
If I rename this invocation of ANON_UNION_P to ANON_AGGR_TYPE_P, I get
an ICE during the bootstrap in exception.cc.
So, my question is whether anyone associated with these patches knows
of following patches or preceding patches that I need to apply in
addition to the two listed patches in order to get them working. I
realize that these changes are already in gcc 3.0, but there is no
finished gcc 3.0 for Mac OS X yet, so any suggestions would be
appreciated. I'm also going to investigate the possibility of using the
gcc 3.0 Darwin port.
Thanks!
-tim