stevep@stellar.UUCP (Steve Pitschke) (12/02/87)
The following patch works on our systems. I discovered that the optimization
pass of the sun 3.2 compiler generates mixed up register usage for the
'fixed' c syntax. The 3.4 compiler generates good code, which is why
a some sun users observed the problem and others did not.
Reliable Source
*** /tmp/d02359 Wed Dec 2 15:09:08 1987
--- window.c Wed Dec 2 12:50:39 1987
***************
*** 820,827 ****
--- 820,832 ----
pVlist = vlist;
while (vmask)
{
+ #ifdef sun
+ index = ffs(vmask) - 1;
+ vmask &= ~(index = (1 << index));
+ #else
index = 1 << (ffs(vmask) - 1);
vmask &= ~index;
+ #endif sun
switch (index)
{
case CWBackPixmap:
***************
*** 2002,2009 ****
--- 2007,2019 ----
tmask = mask & ~ChangeMask;
while (tmask)
{
+ #ifdef sun
+ index = ffs(tmask) - 1;
+ tmask &= ~(index = (1 << index));
+ #else
index = 1 << (ffs(tmask) - 1);
tmask &= ~index;
+ #endif sun
switch (index)
{
case CWBorderWidth: