One good test of whether a new version of the compiler is working properly is to see if it compiles to a fixed point. For this, the compiler is compiled times with the result of the st compilation being responsible for compiling the th version. A fixed point is reached if two consecutive compilations produce identical results.
The fixpt script automates the task of compiling to a fixed point. It internally uses the sml command for the first compilation and the makeml script with its -rebuild parameter for all subsequent runs. This produces a series of bin-directories .bin. arch- os, 1.bin. arch- os, 2.bin. arch- os, and boot-directories .boot. arch- os, 1.boot. arch- os, 2.boot. arch- os, where is a common ``stem'' that is used for naming the whole series.
The fixpt script accepts the following options:
Failure to reach a fixed point after 2 iterations usually indicates some serious problem within the compiler.