Bugs20070826 - MLton Standard ML Compiler (SML Compiler)

MLton MLTONWIKIVERSION | Bugs20070826 |
Home Index

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 a `memcpy` do not overlap. Fixed by revision 7461.

- Bug in elaboration of `datatype` declarations with `withtype` bindings. Fixed by revision 7434.

- Performance bug in RefFlatten optimization pass. Thanks to Reactive Systems for the bug report. Fixed by revision 7379.

- Performance bug in SimplifyTypes optimization pass. Thanks to Reactive Systems for the bug report. Fixed by revisions 7377 and 7378.

- Bug in amd64 codegen register allocation of indirect C calls. Thanks to David Hansel for the bug report. Fixed by revision 7368.

- Bug in `IntInf.scan` and `IntInf.fromString` where leading spaces were only accepted if the stream had an explicit sign character. Thanks to David Hansel for the bug report. Fixed by revisions 7227 and 7230.

- Bug in `IntInf.~>>` that could cause a `glibc` assertion. Fixed by revisions 7083, 7084, and 7085.

- Bug in the return type of `MLton.Process.reap`. Thanks to Risto Saarelma for the bug report. Fixed by revision 7029.

- Bug in `MLton.size` and `MLton.share` when tracing the current stack. Fixed by revisions 6978, 6981, 6988, 6989, and 6990.

- Bug in nested `_export`/`_import` functions. Fixed by revision 6919.

- Bug in the name mangling of `_import`-ed functions with the `stdcall` convention. Thanks to Lars Bergstrom for the bug report. Fixed by revision 6672.

- 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. Fixed by revisions 6600 and 6624.

- 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. Fixed by revisions 6596 and 6600.

- 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 6395.

- Bug in the frontend that rejected `op longvid` patterns and expressions. Thanks to Florian Weimer for the bug report. Fixed by revision 6347.

- Bug in the IMPERATIVE_IO.canInput function of the Basis Library implementation. Thanks to Ville Laurikari for the bug report. Fixed by revision 6261.

- Bug in algebraic simplification of real primitives. Real<N>.<=(x, x) is `false` when `x` is NaN. Fixed by revision 6242.

- 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 6267.

- 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 6229.

- Bug in cross-compilation of `gdtoa` library. Thanks to Wesley Terpstra for the bug report and patch. Fixed by revision 6620.

- Bug in pass to flatten refs into containing data structure. Thanks to Ruy Ley-Wild for the bug report. Fixed by revision 6191.

- 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 6183.

- 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 6046.

- Bug in the interaction of `_export`-ed functions and signal handlers. Thanks to Sean McLaughlin for the bug report. Fixed by revision 6013.

- Bug in the implementation of `_export`-ed functions using the `char` type, leading to a linker error. Thanks to Katsuhiro Ueno for the bug report. Fixed by revision 5999.

Last edited on 2010-05-13 13:28:40 by MatthewFluet.