Hi, What are the expectations for the 0/0 division? Test execute.exp=arith-rand.c generates two integers, both being 0 and one of the testing blocks is: { signed int xx = x, yy = y, r1, r2; if ((unsigned int) xx << 1 == 0 && yy == -1) continue; r1 = xx / yy; r2 = xx % yy; if (ABS (r2) >= (unsigned int) ABS (yy) || (signed int) (r1 * yy + r2) != xx) abort (); }
Our routine returns : R1: 0xffffffff R2: 0xf Then it aborts because ABS (r2) >= (unsigned int) ABS (yy). While I understand the results from our division routine might be peculiar, this division is also undefined. The block skips the test for ((unsigned int) xx << 1 == 0 && yy == -1), should we skip it if they're both zero as well? If not, what do you expect to get from 0/0 and 0%0? Regards, Paulo Matos