This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
problems compiling 4.7, with Solaris cc and/or Solaris CC (C++)
- From: Jay K <jay dot krell at cornell dot edu>
- To: gcc <gcc at gcc dot gnu dot org>
- Date: Sat, 9 Feb 2013 23:49:03 +0000
- Subject: problems compiling 4.7, with Solaris cc and/or Solaris CC (C++)
- References: <COL002-W3975F2CB9791372322F27FE6040@phx.gbl>
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