More bugs later... :)

Daniel Wang danwang@cs.princeton.edu
11 Dec 1999 16:53:32 -0500


So after some hacking, it works...	thanks for all the hints.. 

In mtype.fun

   fun size t =
      case dest t of
	 Char => byte
       | Double => double
       | Int => word
       | Pointer => word
       | Uint => word
       | Void => 0

I had to change 
        Void => word

to avoid a divison by zero error raised by. 

fun align(n: int, ty: t): int =
   let val s = size ty
   in if n mod s = 0
	 then n
      else n - (n mod s) + s
   end


I'm not sure if this is a proper bug that doesn't show up when you bootstrap
MLton or not.. but it shows up with SMLNJ... and my simple test code...

Now you guys get to field all my silly runtime questions as I hack into the
backend and replace/disable the GC :)