aboutsummaryrefslogtreecommitdiffstats
path: root/driver/Interp.ml
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2015-03-20 11:25:30 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2015-03-20 11:25:30 +0100
commitcbf8434e44ebd6bc05022d1fbe0400267520184f (patch)
treea73d9d6d0601935cf514698cdc393d131df7a341 /driver/Interp.ml
parent42e397bd80389c7e7259f962415769b06561bb5d (diff)
downloadcompcert-cbf8434e44ebd6bc05022d1fbe0400267520184f.tar.gz
compcert-cbf8434e44ebd6bc05022d1fbe0400267520184f.zip
Improvements in the StructReturn transformation (ABI conformance for passing composites).
- Implement the "1/2/4/8" composite return policy, used by IA32/MacOS X and IA32/BSD. - Move the default passing conventions from Machine.ml to compcert.ini, making it easier to test the various conventions. - More comprehensive interoperability test in regression/interop1.c.
Diffstat (limited to 'driver/Interp.ml')
-rw-r--r--driver/Interp.ml6
1 files changed, 0 insertions, 6 deletions
diff --git a/driver/Interp.ml b/driver/Interp.ml
index 3ad0df8a..2725dbfe 100644
--- a/driver/Interp.ml
+++ b/driver/Interp.ml
@@ -366,7 +366,6 @@ let do_printf m fmt args =
let (>>=) opt f = match opt with None -> None | Some arg -> f arg
-(*
(* Like eventval_of_val, but accepts static globals as well *)
let convert_external_arg ge v t =
@@ -386,7 +385,6 @@ let rec convert_external_args ge vl tl =
convert_external_arg ge v1 t1 >>= fun e1 ->
convert_external_args ge vl tl >>= fun el -> Some (e1 :: el)
| _, _ -> None
-*)
let do_external_function id sg ge w args m =
match extern_atom id, args with
@@ -394,12 +392,8 @@ let do_external_function id sg ge w args m =
extract_string m b ofs >>= fun fmt ->
print_string (do_printf m fmt args');
flush stdout;
- Some(((w, [Event_syscall(id, [], EVint Int.zero)]), Vint Int.zero), m)
-(*
convert_external_args ge args sg.sig_args >>= fun eargs ->
Some(((w, [Event_syscall(id, eargs, EVint Int.zero)]), Vint Int.zero), m)
-*)
-
| _ ->
None