Native? What native?

Matthew Fluet fluet@CS.Cornell.EDU
Sun, 24 Dec 2000 18:19:42 -0500 (EST)


> Both do produce a C file.  The C file for the -native true case is just for the
> initialization of constants and the main call.  The -native true should also
> produce a (collection of) .s files.

Actually, -native true should now produce a collection of .S files.  All
files are processed by gcc (which sends .S files through cpp, but .s files
are sent directly to as).  For any moderate sized program, the default
will be one assembly file (I think mlyacc is the only prog in the
benchmarks that starts a second file).  Also, you will need -keep cs to
preserve both types of files (which, as a side-effect, will also keep the
assembly file corresponding to the compiled C file).

Naming convention should be like this:

test.sml  -- input file
test.c    -- mlton output: init constants, init GC, jump to assembly
test.s    -- gcc output: compiled version of test.c
test.n.S  -- mlton output: assembly from backend