1 (* RUN: %ocamlopt -warn-error A unix.cmxa llvm.cmxa llvm_bitwriter.cmxa %s -o %t
3 * RUN: llvm-dis < %t.bc
7 (* Note that this takes a moment to link, so it's best to keep the number of
8 individual tests low. *)
10 let context = Llvm.global_context
()
12 let test x
= if not x
then exit
1 else ()
15 let ic = open_in_bin name
in
16 let len = in_channel_length
ic in
17 let buf = String.create
len in
19 test ((input
ic buf 0 len) = len);
25 let temp_bitcode ?unbuffered m
=
26 let temp_name, temp_oc
= Filename.open_temp_file ~mode
:[Open_binary
] "" "" in
28 test (Llvm_bitwriter.output_bitcode ?unbuffered temp_oc m
);
31 let temp_buf = read_file temp_name in
38 let m = Llvm.create_module
context "ocaml_test_module" in
40 test (Llvm_bitwriter.write_bitcode_file
m Sys.argv
.(1));
41 let file_buf = read_file Sys.argv
.(1) in
43 test (file_buf = temp_bitcode m);
44 test (file_buf = temp_bitcode ~unbuffered
:false m);
45 test (file_buf = temp_bitcode ~unbuffered
:true m)