[llvm] 11f59c5 - [OCaml][Test] Fix and enable debuginfo.ml test

Vaivaswatha Nagaraj via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 27 18:13:51 PDT 2021


Author: Vaivaswatha Nagaraj
Date: 2021-03-28T06:25:39+05:30
New Revision: 11f59c5457d5215071ccd1c07bcdef3cb07d520c

URL: https://github.com/llvm/llvm-project/commit/11f59c5457d5215071ccd1c07bcdef3cb07d520c
DIFF: https://github.com/llvm/llvm-project/commit/11f59c5457d5215071ccd1c07bcdef3cb07d520c.diff

LOG: [OCaml][Test] Fix and enable debuginfo.ml test

`get_or_create_type_array` was used on a non-type MDNode.
Add interface for `get_or_create_array` and use that instead.

Differential Revision: https://reviews.llvm.org/D99450

Added: 
    llvm/test/Bindings/OCaml/debuginfo.ml

Modified: 
    llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli

Removed: 
    llvm/test/Bindings/OCaml/debuginfo.ml.disable


################################################################################
diff  --git a/llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c b/llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
index 7ed0cdf09a0d..11c260735c4e 100644
--- a/llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
+++ b/llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
@@ -369,6 +369,14 @@ CAMLprim LLVMMetadataRef llvm_dibuild_get_or_create_type_array(value Builder,
                                            Wosize_val(Data));
 }
 
+CAMLprim LLVMMetadataRef llvm_dibuild_get_or_create_array(value Builder,
+                                                          value Data) {
+
+  return LLVMDIBuilderGetOrCreateArray(DIBuilder_val(Builder),
+                                       (LLVMMetadataRef *)Op_val(Data),
+                                       Wosize_val(Data));
+}
+
 CAMLprim LLVMMetadataRef llvm_dibuild_create_subroutine_type(
     value Builder, LLVMMetadataRef File, value ParameterTypes, value Flags) {
 

diff  --git a/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml b/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
index 43e7390863e8..232efd4cdd38 100644
--- a/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
+++ b/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
@@ -262,6 +262,10 @@ external dibuild_get_or_create_type_array :
   lldibuilder -> data:Llvm.llmetadata array -> Llvm.llmetadata
   = "llvm_dibuild_get_or_create_type_array"
 
+external dibuild_get_or_create_array :
+  lldibuilder -> data:Llvm.llmetadata array -> Llvm.llmetadata
+  = "llvm_dibuild_get_or_create_array"
+
 external dibuild_create_subroutine_type :
   lldibuilder ->
   file:Llvm.llmetadata ->

diff  --git a/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli b/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
index 3c764e8b856a..7f2bb6dd53bf 100644
--- a/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
+++ b/llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
@@ -282,6 +282,11 @@ val dibuild_get_or_create_type_array :
 (** [dibuild_get_or_create_type_array] Create a type array.
     See LLVMDIBuilderGetOrCreateTypeArray. *)
 
+val dibuild_get_or_create_array :
+  lldibuilder -> data:Llvm.llmetadata array -> Llvm.llmetadata
+(** [dibuild_get_or_create_array] Create an array of DI Nodes.
+    See LLVMDIBuilderGetOrCreateArray. *)
+
 val dibuild_create_constant_value_expression :
   lldibuilder -> int -> Llvm.llmetadata
 (** [dibuild_create_constant_value_expression] Create a new descriptor for

diff  --git a/llvm/test/Bindings/OCaml/debuginfo.ml.disable b/llvm/test/Bindings/OCaml/debuginfo.ml
similarity index 99%
rename from llvm/test/Bindings/OCaml/debuginfo.ml.disable
rename to llvm/test/Bindings/OCaml/debuginfo.ml
index 575fddea6f19..d07d7592fb26 100644
--- a/llvm/test/Bindings/OCaml/debuginfo.ml.disable
+++ b/llvm/test/Bindings/OCaml/debuginfo.ml
@@ -339,7 +339,7 @@ let test_types dibuilder file_di m_di =
       ~align_in_bits:0 ~elements ~class_ty:int64_ty_di
   in
   let elements_arr =
-    Llvm_debuginfo.dibuild_get_or_create_type_array dibuilder ~data:elements
+    Llvm_debuginfo.dibuild_get_or_create_array dibuilder ~data:elements
   in
   stdout_metadata elements_arr;
   (* CHECK: [[ELEMENTS_PTR:<0x[0-9a-f]*>]] = !{[[ENUMERATOR1_PTR]], [[ENUMERATOR2_PTR]], [[ENUMERATOR3_PTR]]}


        


More information about the llvm-commits mailing list