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]
Other format: [Raw text]

problems compiling 4.7, with Solaris cc and/or Solaris CC (C++)


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 		 	   		  


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