Here are the known bugs in MLton 20070826, listed in reverse chronological order of date reported.
-
Bug in the mark-compact garbage collector where the C library’s
memcpy
was used to move objects during the compaction phase; this could lead to heap corruption and segmentation faults with newer versions of gcc and/or glibc, which assume that src and dst in amemcpy
do not overlap.Fixed by revision
r7461
. -
Bug in elaboration of
datatype
declarations withwithtype
bindings.Fixed by revision
r7434
. -
Performance bug in RefFlatten optimization pass.
Thanks to Reactive Systems for the bug report.
Fixed by revision
r7379
. -
Performance bug in SimplifyTypes optimization pass.
Thanks to Reactive Systems for the bug report.
-
Bug in amd64 codegen register allocation of indirect C calls.
Thanks to David Hansel for the bug report.
Fixed by revision
r7368
. -
Bug in
IntInf.scan
andIntInf.fromString
where leading spaces were only accepted if the stream had an explicit sign character.Thanks to David Hansel for the bug report.
-
Bug in the return type of
MLton.Process.reap
.Thanks to Risto Saarelma for the bug report.
Fixed by revision
r7029
. -
Bug in
MLton.size
andMLton.share
when tracing the current stack. -
Bug in nested
_export
/_import
functions.Fixed by revision
r6919
. -
Bug in the name mangling of
_import
-ed functions with thestdcall
convention.Thanks to Lars Bergstrom for the bug report.
Fixed by revision
r6672
. -
Bug in Windows code to page the heap to disk when unable to grow the heap to a desired size.
Thanks to Sami Evangelista for the bug report.
-
Bug in \*NIX code to page the heap to disk when unable to grow the heap to a desired size.
Thanks to Nicolas Bertolotti for the bug report and patch.
-
Space-safety bug in pass to flatten refs into containing data structure.
Thanks to Daniel Spoonhower for the bug report and initial diagnosis and patch.
Fixed by revision
r6395
. -
Bug in the frontend that rejected
op longvid
patterns and expressions.Thanks to Florian Weimer for the bug report.
Fixed by revision
r6347
. -
Bug in the
IMPERATIVE_IO.canInput
function of the Basis Library implementation.Thanks to Ville Laurikari for the bug report.
Fixed by revision
r6261
. -
Bug in algebraic simplification of real primitives.
Real<N>.<=(x, x)
isfalse
whenx
is NaN.Fixed by revision
r6242
. -
Bug in the FFI visible representation of
Int16.int ref
(and references of other primitive types smaller than 32-bits) on big-endian platforms.Thanks to Dave Herman for the bug report.
Fixed by revision
r6267
. -
Bug in type inference of flexible records. This would later cause the compiler to raise the
TypeError
exception.Thanks to Wesley Terpstra for the bug report.
Fixed by revision
r6229
. -
Bug in cross-compilation of
gdtoa
library.Thanks to Wesley Terpstra for the bug report and patch.
Fixed by revision
r6620
. -
Bug in pass to flatten refs into containing data structure.
Thanks to Ruy Ley-Wild for the bug report.
Fixed by revision
r6191
. -
Bug in the handling of weak pointers by the mark-compact garbage collector.
Thanks to Sean McLaughlin for the bug report and Florian Weimer for the initial diagnosis.
Fixed by revision
r6183
. -
Bug in the elaboration of structures with signature constraints. This would later cause the compiler to raise the
TypeError
exception.Thanks to Vesa Karvonen for the bug report.
Fixed by revision
r6046
. -
Bug in the interaction of
_export
-ed functions and signal handlers.Thanks to Sean McLaughlin for the bug report.
Fixed by revision
r6013
. -
Bug in the implementation of
_export
-ed functions using thechar
type, leading to a linker error.Thanks to Katsuhiro Ueno for the bug report.
Fixed by revision
r5999
.