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: