[MLton-commit] r6191

Matthew Fluet fluet at mlton.org
Tue Nov 20 16:58:56 PST 2007


Fixed bug in deepFlatten with weak pointers
----------------------------------------------------------------------

U   mlton/trunk/doc/changelog
U   mlton/trunk/mlton/ssa/deep-flatten.fun

----------------------------------------------------------------------

Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog	2007-11-20 23:26:43 UTC (rev 6190)
+++ mlton/trunk/doc/changelog	2007-11-21 00:58:55 UTC (rev 6191)
@@ -1,5 +1,9 @@
 Here are the changes from version 20070826 to version YYYYMMDD.
 
+* 2007-11-20
+   - Fixed bug in pass to flatten refs into containing data structure.
+     Thanks to Ruy LeyWild for the bug report.
+
 * 2007-11-19
    - Fixed bug in the handling of weak pointers by the mark-compact
      garbage collector.  Thanks to Sean McLaughlin for the bug report

Modified: mlton/trunk/mlton/ssa/deep-flatten.fun
===================================================================
--- mlton/trunk/mlton/ssa/deep-flatten.fun	2007-11-20 23:26:43 UTC (rev 6190)
+++ mlton/trunk/mlton/ssa/deep-flatten.fun	2007-11-21 00:58:55 UTC (rev 6191)
@@ -701,7 +701,8 @@
                     | Value.Weak {arg, ...} => arg
                     | _ => Error.bug "DeepFlatten.primApp: Value.deWeak")
              | Weak_new =>
-                  (case makeTypeValue resultType of
+                  (Value.dontFlatten (arg 0);
+                   case makeTypeValue resultType of
                       Const v => v
                     | Make _ => Value.weak (arg 0))
              | _ => result ()




More information about the MLton-commit mailing list