This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Anonymous structs for g++ 2.95




   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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]