C and Objective Caml bindings for GlobalVariable::isConstant.
[oota-llvm.git] / test / Bindings / Ocaml / vmcore.ml
index 434536b79e4e6f50f7bec549507811a27409397b..8aa6e43603eda9cdbd52e4f1817c9f0e2a15b1e5 100644 (file)
@@ -131,7 +131,17 @@ let test_types () =
   group "delete";
   let ty = opaque_type () in
   insist (define_type_name "Ty13" ty m);
-  delete_type_name "Ty13" m
+  delete_type_name "Ty13" m;
+  
+  (* RUN: grep -v {RecursiveTy.*RecursiveTy} < %t.ll
+   *)
+  group "recursive";
+  let ty = opaque_type () in
+  let th = handle_to_type ty in
+  refine_type ty (pointer_type ty);
+  let ty = type_of_handle th in
+  insist (define_type_name "RecursiveTy" ty m);
+  insist (ty == element_type ty)
 
 
 (*===-- Constants ---------------------------------------------------------===*)
@@ -408,7 +418,15 @@ let test_global_variables () =
    *)
   group "delete";
   let g = define_global "GVar05" fourty_two32 m in
-  delete_global g
+  delete_global g;
+
+  (* RUN: grep -v {ConstGlobalVar.*constant} < %t.ll
+   *)
+  group "constant";
+  let g = define_global "ConstGlobalVar" fourty_two32 m in
+  insist (not (is_global_constant g));
+  set_global_constant true g;
+  insist (is_global_constant g)
 
 
 (*===-- Functions ---------------------------------------------------------===*)