comparison src/compiler.sml @ 317:6a4e365db60c

Fix memory bounds checks; specialization of multi-argument polymorphic function works
author Adam Chlipala <adamc@hcoop.net>
date Thu, 11 Sep 2008 10:34:47 -0400
parents e21d0dddda09
children e457d8972ff1
comparison
equal deleted inserted replaced
316:04ebfe929a98 317:6a4e365db60c
479 479
480 val toSqlify = transform sqlify "sqlify" o toMono_opt2 480 val toSqlify = transform sqlify "sqlify" o toMono_opt2
481 481
482 fun compileC {cname, oname, ename} = 482 fun compileC {cname, oname, ename} =
483 let 483 let
484 val compile = "gcc -Wstrict-prototypes -Werror -s -O3 -I include -c " ^ cname ^ " -o " ^ oname 484 val compile = "gcc -Wstrict-prototypes -Werror -O3 -I include -c " ^ cname ^ " -o " ^ oname
485 val link = "gcc -Werror -s -O3 -pthread -lpq clib/urweb.o " ^ oname ^ " clib/driver.o -o " ^ ename 485 val link = "gcc -Werror -O3 -pthread -lpq clib/urweb.o " ^ oname ^ " clib/driver.o -o " ^ ename
486 in 486 in
487 if not (OS.Process.isSuccess (OS.Process.system compile)) then 487 if not (OS.Process.isSuccess (OS.Process.system compile)) then
488 print "C compilation failed\n" 488 print "C compilation failed\n"
489 else if not (OS.Process.isSuccess (OS.Process.system link)) then 489 else if not (OS.Process.isSuccess (OS.Process.system link)) then
490 print "C linking failed\n" 490 print "C linking failed\n"