Moi!
In gcc, there has been a strange bug in at least the whole 3.x series
that prevents compiling OpenDX on ia64 (cf. gcc bug #8407). No fix is
known yet, as far as I can tell. There is, however, a simply workaround
that avoids the bug. Not sure whether you want to apply such kludges to
the mainline sources, but here it is. As vendors started shipping
Itanium(2)-based graphics workstations, this might even affect a few
people. (I've also got a workaround for build problems on m68k sitting
in my local patch set, but I doubt it's of any pratical relevance.)
Regards,
Daniel.
---------------------
PatchSet 548
Date: 2003/07/14 11:07:43
Author: kobras
Branch: HEAD
Tag: (none)
Log:
Workaround for gcc bug #8407 on ia64. [dk]
Members:
src/exec/dxmods/_newtri.c:1.1->1.2
Index: debian/dx/src/exec/dxmods/_newtri.c
diff -u debian/dx/src/exec/dxmods/_newtri.c:1.1
debian/dx/src/exec/dxmods/_newtri.c:1.2
--- debian/dx/src/exec/dxmods/_newtri.c:1.1 Thu Aug 24 22:04:16 2000
+++ debian/dx/src/exec/dxmods/_newtri.c Mon Jul 14 12:07:43 2003
@@ -1943,8 +1943,8 @@
np ++;
else if (det01p == 0)
{
- e0 = v0;
- e1 = v1;
+ memcpy(&e0, &v0, sizeof(Point2));
+ memcpy(&e1, &v1, sizeof(Point2));
nz ++;
}
else
@@ -1955,8 +1955,8 @@
np ++;
else if (det12p == 0)
{
- e0 = v1;
- e1 = v2;
+ memcpy(&e0, &v1, sizeof(Point2));
+ memcpy(&e1, &v2, sizeof(Point2));
nz ++;
}
else
@@ -1967,8 +1967,8 @@
np ++;
else if (det20p == 0)
{
- e0 = v2;
- e1 = v0;
+ memcpy(&e0, &v2, sizeof(Point2));
+ memcpy(&e1, &v0, sizeof(Point2));
nz ++;
}
else