aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--driver/Driver.ml7
1 files changed, 5 insertions, 2 deletions
diff --git a/driver/Driver.ml b/driver/Driver.ml
index 4f27cb56..124bc587 100644
--- a/driver/Driver.ml
+++ b/driver/Driver.ml
@@ -61,8 +61,11 @@ let dump_jasm asm sourcename destfile =
let object_filename sourcename suff =
if nolink () then
output_filename ~final: !option_c sourcename suff ".o"
- else
- Filename.temp_file "compcert" ".o"
+ else begin
+ let tmpfile = Filename.temp_file "compcert" ".o" in
+ at_exit (fun () -> safe_remove tmpfile);
+ tmpfile
+ end
(* From CompCert C AST to asm *)