137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines(* RUN: cp %s %T/ext_exc.ml
237ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines * RUN: %ocamlc -g -warn-error A -package llvm.bitreader -linkpkg %T/ext_exc.ml -o %t
337ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines * RUN: %t
437ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines * RUN: %ocamlopt -g -warn-error A -package llvm.bitreader -linkpkg %T/ext_exc.ml -o %t
537ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines * RUN: %t
678982611d8686976e7c329e10cb60eaaa64590e2Torok Edwin * XFAIL: vg_leak
7a156efdf71bc668093e31593713694cf076db895Torok Edwin *)
837ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines
9a156efdf71bc668093e31593713694cf076db895Torok Edwinlet context = Llvm.global_context ()
1037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines
11a156efdf71bc668093e31593713694cf076db895Torok Edwin(* this used to crash, we must not use 'external' in .mli files, but 'val' if we
12a156efdf71bc668093e31593713694cf076db895Torok Edwin * want the let _ bindings executed, see http://caml.inria.fr/mantis/view.php?id=4166 *)
13a156efdf71bc668093e31593713694cf076db895Torok Edwinlet _ =
14a156efdf71bc668093e31593713694cf076db895Torok Edwin    try
15a156efdf71bc668093e31593713694cf076db895Torok Edwin        ignore (Llvm_bitreader.get_module context (Llvm.MemoryBuffer.of_stdin ()))
16a156efdf71bc668093e31593713694cf076db895Torok Edwin    with
17a156efdf71bc668093e31593713694cf076db895Torok Edwin    Llvm_bitreader.Error _ -> ();;
18a156efdf71bc668093e31593713694cf076db895Torok Edwinlet _ =
19a156efdf71bc668093e31593713694cf076db895Torok Edwin    try
20a156efdf71bc668093e31593713694cf076db895Torok Edwin        ignore (Llvm.MemoryBuffer.of_file "/path/to/nonexistent/file")
21a156efdf71bc668093e31593713694cf076db895Torok Edwin    with
22a156efdf71bc668093e31593713694cf076db895Torok Edwin    Llvm.IoError _ -> ();;
23