MLton MLTONWIKIVERSION

Bugs20051202

Home Index

Here are the known bugs in MLton 20051202, listed in reverse chronological order of date reported.

- Bug in the Real<N>.fmt, Real<N>.fromString, Real<N>.scan, and Real<N>.toString functions of the basis library implementation. These functions were using `TO_NEAREST` semantics, but should obey the current rounding mode. (Only `Real<N>.fmt StringCvt.EXACT`, `Real<N>.fromDecimal`, and `Real<N>.toDecimal` are specified to override the current rounding mode with `TO_NEAREST` semantics.) Thanks to Sean McLaughlin for the bug report. Fixed by revision 5827.

- Bug in the treatment of floating-point operations. Floating-point operations depend on the current rounding mode, but were being treated as pure. Thanks to Sean McLaughlin for the bug report. Fixed by revision 5794.

- Bug in the Real32.toInt function of the basis library implementation could lead incorrect results when applied to a `Real.real` value numerically close to `valOf(Int.maxInt)`. Fixed by revision 5764.

- The Socket structure of the basis library implementation used `andb` rather than `orb` to unmarshal socket options (for `Socket.Ctl.get<OPT>` functions). Thanks to Anders Petersson for the bug report and patch. Fixed by revision 5735.

- Bug in the Date structure of the basis library implementation yielded some functions that would erroneously raise `Date` when applied to a year before 1900. Thanks to Joe Hurd for the bug report. Fixed by revision 5732.

- Bug in monomorphisation pass could exhibit the error `Type error: type mismatch`. Thanks to Vesa Karvonen for the bug report. Fixed by revision 5731.

- The PackReal<N>.toBytes function in the basis library implementation incorrectly shared (and mutated) the result vector. Thanks to Eric McCorkle for the bug report and patch. Fixed by revision 5281.

- Bug in elaboration of FFI forms. Using a unary FFI types (e.g., `array`, `ref`, `vector`) in places where `MLton.Pointer.t` was required would lead to an internal error `TypeError`. Fixed by revision 4890.

- The MONO_VECTOR signature of the basis library implementation incorrectly omits the specification of `find`. Fixed by revision 4707.

- The optimizer reports an internal error (`TypeError`) when an imported C function is called but not used. Thanks to `jq` for the bug report. Fixed by revision 4690.

- Bug in pass to flatten data structures. Thanks to Joe Hurd for the bug report. Fixed by revision 4662.

- The native codegen's implementation of the C-calling convention failed to widen 16-bit arguments to 32-bits. Fixed by revision 4631.

- The PACK_REAL structures of the basis library implementation used byte, rather than element, indexing. Fixed by revision 4411.

- `MLton.share` could cause a segmentation fault. Fixed by revision 4400.

- The SSA simplifier could eliminate an irredundant test. Fixed by revision 4370.

- A program with a very large number of functors could exhibit the error `ElaborateEnv.functorClosure: firstTycons`. Fixed by revision 4344.

Last edited on 2007-08-24 20:21:04 by MatthewFluet.