Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
If you run a 32-bit interpreter to bootstrap a code base to 64-bit. The interpreter has BITS32 set, but the translator uses BITS64. The translator uses the 64-bits values but its constants have been folded by a 32-bit interpreter. Certain values like 2^62-1 + 1 get folded but not promoted to doubles because of the imprecise nature of the interpreter using the MAXINT constant in the translator. The code will use a smaller number so that the numbers are promoted early on in the translator C code to avoid erroneous folding in code it translates. You should later translate Euphoria interpreter and translator again with the newly created 64-bit translator in order to make sure it uses INT_ATOMS more.
- Loading branch information