Added work-arounds for MPW 3.{1,2?} code generation bug.

This commit is contained in:
Guido van Rossum 1991-09-10 14:53:39 +00:00
parent e3db862e5b
commit 7d8b509575
1 changed files with 17 additions and 0 deletions

View File

@ -104,10 +104,27 @@ fixstate(g, d, s)
}
for (ibit = 0; ibit < g->g_ll.ll_nlabels; ibit++) {
if (testbit(d1->d_first, ibit)) {
#ifdef applec
#define MPW_881_bug /* Undefine if bug below is fixed */
#endif
#ifdef MPW_881_BUG
/* In 881 mode MPW 3.1 has a code
generation bug which seems to
set the upper bits; fix this by
explicitly masking them off */
int temp;
#endif
if (accel[ibit] != -1)
printf("XXX ambiguity!\n");
#ifdef MPW_881_BUG
temp = 0xFFFF &
(a->a_arrow | (1 << 7) |
((type - NT_OFFSET) << 8));
accel[ibit] = temp;
#else
accel[ibit] = a->a_arrow | (1 << 7) |
((type - NT_OFFSET) << 8);
#endif
}
}
}