This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Living with native compiler bugs
- To: gcc at gcc dot gnu dot org
- Subject: Living with native compiler bugs
- From: Roman Lechtchinsky <rl at cs dot tu-berlin dot de>
- Date: Thu, 28 Jun 2001 17:08:47 +0200 (MET DST)
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