------- Comment #6 from rguenth at gcc dot gnu dot org 2009-09-30 11:51 -------
More reduced:
a.c:
extern "C" double sqrt (double __x) throw ();
typedef double VECTOR[3];
enum { X = 0, Y = 1, Z = 2, T = 3 };
inline void VLength(double& a, const VECTOR b)
{
a = sqrt(b[X] * b[X] + b[Y] * b[Y] + b[Z] * b[Z]);
}
void
determine_subpatch_flatness(void)
{
double temp1;
VECTOR TempV;
VLength(temp1, TempV);
VLength(temp1, TempV);
}
b.c:
extern "C" double sqrt (double __x) throw ();
typedef double VECTOR[3];
enum { X = 0, Y = 1, Z = 2, T = 3 };
inline void VLength(double& a, const VECTOR b)
{
a = sqrt(b[X] * b[X] + b[Y] * b[Y] + b[Z] * b[Z]);
}
int
All_Torus_Intersections(void)
{
double len;
VECTOR D;
VLength(len, D);
VLength(len, D);
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41487