Adding bindings for memory buffers and module providers. Switching
[oota-llvm.git] / test / Bindings / Ocaml / vmcore.ml
index f17693258b4a4a2d393149f268304784edc23a8e..04b80868c4d0ac247863da8b6eb38c7982669c37 100644 (file)
@@ -103,13 +103,24 @@ let test_types () =
   insist (i8_type == element_type ty);
   insist (Array_type == classify_type ty);
   
-  (* RUN: grep {Ty10.*float\*} < %t.ll
-   *)
-  group "pointer";
-  let ty = pointer_type float_type in
-  insist (define_type_name "Ty10" ty m);
-  insist (float_type == element_type ty);
-  insist (Pointer_type == classify_type ty);
+  begin group "pointer";
+    (* RUN: grep {UnqualPtrTy.*float\*} < %t.ll
+     *)
+    let ty = pointer_type float_type in
+    insist (define_type_name "UnqualPtrTy" ty m);
+    insist (float_type == element_type ty);
+    insist (0 == address_space ty);
+    insist (Pointer_type == classify_type ty)
+  end;
+  
+  begin group "qualified_pointer";
+    (* RUN: grep {QualPtrTy.*i8.*3.*\*} < %t.ll
+     *)
+    let ty = qualified_pointer_type i8_type 3 in
+    insist (define_type_name "QualPtrTy" ty m);
+    insist (i8_type == element_type ty);
+    insist (3 == address_space ty)
+  end;
   
   (* RUN: grep {Ty11.*\<4 x i16\>} < %t.ll
    *)
@@ -790,6 +801,14 @@ let test_builder () =
   end
 
 
+(*===-- Module Provider ---------------------------------------------------===*)
+
+let test_module_provider () =
+  let m = create_module "test" in
+  let mp = ModuleProvider.create m in
+  ModuleProvider.dispose mp
+
+
 (*===-- Writer ------------------------------------------------------------===*)
 
 let test_writer () =
@@ -814,5 +833,6 @@ let _ =
   suite "functions"        test_functions;
   suite "basic blocks"     test_basic_blocks;
   suite "builder"          test_builder;
+  suite "module provider"  test_module_provider;
   suite "writer"           test_writer;
   exit !exit_status