[MLton] Debian: sparc works
   
    Stephen Weeks
     
    MLton@mlton.org
       
    Tue, 21 Dec 2004 21:13:16 -0800
    
    
  
C99 patch committed.  Here's a few comments.
> 	no typeof in C99 required changing some macros
This is certainly the most annoying of the changes.  What is the
reason behind this?  Is there really no workaround?
> 	added variants and script support for all debian platforms
> 		- platform names and case were choosen to match debian =)
Seems reasonable.
> 	use C99 methods exclusively for floating point control
Most excellent.
> 		- ... except for Real/class.c where nanSignalling is missing
Actually, that's OK.  The SML basis used to distinguish between
nanQuiet and nanSignalling but it doesn't any more.  I propose to
eliminate the distinction between those constants in the runtime, and
to eliminate the __i386__ and __sun__ implementations of Real64_class,
leaving only the C99 one.  In fact, it might even be simpler to
eliminate the C wrapper altogether, and call fpclassify directly from
the basis library.
BTW, why is there no C99 implementation for Real32_class?
> Please note: by using c99, MLton will require gcc >= 3.0.
Seems reasonable.  Anyone else have problems with that?
A couple more notes on comments you made in the patch.
1. Can you explain the following comment in runtime/types.h?
	/* !!! this stuff is all wrong: */
	typedef Int32 Int;
	typedef Real64 Real;
	typedef Word8 Char;
2. Your question in runtime/basis/Int/Word.c about how could C {/,%}
not implement {quot,rem} from the basis library is because the C spec
isn't as nailed down as the SML basis library spec (which is
completely nailed down) on negative numbers.  In any case, I guess
it's OK to take out the #if platform test, since surely an SML
regression will find the problem.