From cbf8434e44ebd6bc05022d1fbe0400267520184f Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Fri, 20 Mar 2015 11:25:30 +0100 Subject: 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. --- driver/Interp.ml | 6 ------ 1 file changed, 6 deletions(-) (limited to 'driver/Interp.ml') 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 -- cgit