problems compiling 4.7, with Solaris cc and/or Solaris CC (C++)
1) ENUM_BITFIELD is not portable. I've reported this before. It should be more like: #ifdef __cplusplus #define ENUM_BITFIELD(TYPE, NAME, SIZE) enum TYPE NAME : SIZE #elif (GCC_VERSION > 2000) #define ENUM_BITFIELD(TYPE, NAME, SIZE) __extension__ enum TYPE NAME : SIZE #else #define ENUM_BITFIELD(TYPE, NAME, SIZE) unsigned int NAME : SIZE #endif and then modify the uses to fit -- three parameters. It is likely that in 4.8 this is moot, as the C++ case will be the only one remaining. 2) given: int foo() { gcc_unreachable(); } Solaris cc/CC gives a warning or maybe an error. It should be: int foo(void) { gcc_unreachable(); return 0; } This occurs a few times e.g. in i386.md. Despite me being uncertain between warnings and errors and cc and CC, these do definitely show up as problems. I've been building a few versions of gcc through the years from 4.2 and up (yeah, yeah, I know it goes back much further) with a variety of host compilers, mostly a few versions of gcc/g++ but sometimes Solaris cc/CC, maybe others, and I've had to patch these repeatedly. Again, today, in 4.7. I do use -disable-bootstrap, to drastically cut build times. It is possible that contributes to "the problem", but I also think these are reasonable changes and -disable-bootstrap is really nice to use, it saves a lot of time and these aren't awful ancient non-optimizing host compilers. Thanks, - Jay