diff options
Diffstat (limited to 'src/c_backend.ml')
| -rw-r--r-- | src/c_backend.ml | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/c_backend.ml b/src/c_backend.ml index 8c5658e7..61e8777e 100644 --- a/src/c_backend.ml +++ b/src/c_backend.ml @@ -3009,7 +3009,7 @@ let rec get_recursive_functions (Defs defs) = | _ :: defs -> get_recursive_functions (Defs defs) | [] -> IdSet.empty -let compile_ast ctx (Defs defs) = +let compile_ast ctx c_includes (Defs defs) = try c_debug (lazy (Util.log_line __MODULE__ __LINE__ "Identifying recursive functions")); let recursive_functions = Spec_analysis.top_sort_defs (Defs defs) |> get_recursive_functions in @@ -3030,9 +3030,10 @@ let compile_ast ctx (Defs defs) = let docs = List.map (codegen_def ctx) cdefs in let preamble = separate hardline - [ string "#include \"sail.h\""; - string "#include \"rts.h\""; - string "#include \"elf.h\"" ] + ([ string "#include \"sail.h\""; + string "#include \"rts.h\""; + string "#include \"elf.h\"" ] + @ (List.map (fun h -> string (Printf.sprintf "#include \"%s\"" h)) c_includes)) in let exn_boilerplate = |
