Skip to content

Commit

Permalink
[OCaml] Use native target in testsuite instead of hardcoding X86
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194778 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
whitequark committed Nov 15, 2013
1 parent b6703ff commit b53c129
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 16 deletions.
1 change: 0 additions & 1 deletion test/Bindings/Ocaml/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,3 @@ config.suffixes = ['.ml']
bindings = set([s.strip() for s in config.root.llvm_bindings.split(',')])
if not 'ocaml' in bindings:
config.unsupported = True

26 changes: 11 additions & 15 deletions test/Bindings/Ocaml/target.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(* RUN: rm -rf %t.builddir
* RUN: mkdir -p %t.builddir
* RUN: cp %s %t.builddir
* RUN: %ocamlopt -g -warn-error A llvm.cmxa llvm_target.cmxa llvm_X86.cmxa %t.builddir/target.ml -o %t
* RUN: %ocamlopt -g -warn-error A llvm.cmxa llvm_target.cmxa llvm_executionengine.cmxa %t.builddir/target.ml -o %t
* RUN: %t %t.bc
* XFAIL: vg_leak
*)
Expand All @@ -13,7 +13,7 @@
open Llvm
open Llvm_target

let _ = Llvm_X86.initialize ()
let _ = Llvm_executionengine.initialize_native_target ()

let context = global_context ()
let i32_type = Llvm.i32_type context
Expand All @@ -34,13 +34,9 @@ let assert_equal a b =
let filename = Sys.argv.(1)
let m = create_module context filename

let target =
match Target.by_name "x86" with
| Some t -> t
| None -> failwith "need a target"
let target = Target.by_triple (Target.default_triple ())

let machine =
TargetMachine.create ~triple:"i686-linux-gnu" ~cpu:"core2" target
let machine = TargetMachine.create (Target.default_triple ()) target

(*===-- Data Layout -------------------------------------------------------===*)

Expand Down Expand Up @@ -76,20 +72,20 @@ let test_target_data () =
let test_target () =
let module T = Target in
ignore (T.succ target);
assert_equal (T.name target) "x86";
assert_equal (T.description target) "32-bit X86: Pentium-Pro and above";
assert_equal (T.has_jit target) true;
assert_equal (T.has_target_machine target) true;
assert_equal (T.has_asm_backend target) true
ignore (T.name target);
ignore (T.description target);
ignore (T.has_jit target);
ignore (T.has_target_machine target);
ignore (T.has_asm_backend target)


(*===-- Target Machine ----------------------------------------------------===*)

let test_target_machine () =
let module TM = TargetMachine in
assert_equal (TM.target machine) target;
assert_equal (TM.triple machine) "i686-linux-gnu";
assert_equal (TM.cpu machine) "core2";
assert_equal (TM.triple machine) (Target.default_triple ());
assert_equal (TM.cpu machine) "";
assert_equal (TM.features machine) "";
ignore (TM.data_layout machine)

Expand Down

0 comments on commit b53c129

Please sign in to comment.