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]

Living with native compiler bugs


Hi,

in my Cray T3E port, I have to work around a couple of native compiler
bugs. What are the guidelines for this? In particular, there are two
problems I don't know how to solve.

Cray CC accepts something like

void f (T);

void f (x)
  T x;
{...}

only if T is a 64-bit type (e.g. int or a pointer). It always accepts 

void f (T x)
{...}

I have submitted a bug report but I'm not sure if they are going to fix it
soon so I have to live with it for now. Amazingly, the only place where
this is a problem is in the definition of SWAP in intl/gettextP.h. Should
something like this be autoconfed or is that overkill?

The other problem is caused by the new target structure which replaces the
target-specific macros. On the T3E, the standard library contains a
function with the name `target' which obviously leads to a name clash
during linking. How should cases like this be handled? Should the name of
the structure be changed? Is adding something like

#define target t3e_target

to the target-specific header file acceptable?

Bye

Roman



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