From: Gordon Henriksen Date: Fri, 14 Mar 2008 23:58:56 +0000 (+0000) Subject: Expose Module::dump via C and Ocaml. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=af59b105bb3f9a31f1812e470eb9db28a8a1b491 Expose Module::dump via C and Ocaml. Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48379 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/bindings/ocaml/llvm/llvm.ml b/bindings/ocaml/llvm/llvm.ml index d69487a2df2..92c60c404f9 100644 --- a/bindings/ocaml/llvm/llvm.ml +++ b/bindings/ocaml/llvm/llvm.ml @@ -119,6 +119,7 @@ external define_type_name : string -> lltype -> llmodule -> bool = "llvm_add_type_name" external delete_type_name : string -> llmodule -> unit = "llvm_delete_type_name" +external dump_module : llmodule -> unit = "llvm_dump_module" (*===-- Types -------------------------------------------------------------===*) diff --git a/bindings/ocaml/llvm/llvm_ocaml.c b/bindings/ocaml/llvm/llvm_ocaml.c index f4e958d966c..ebe09dcbef9 100644 --- a/bindings/ocaml/llvm/llvm_ocaml.c +++ b/bindings/ocaml/llvm/llvm_ocaml.c @@ -98,6 +98,12 @@ CAMLprim value llvm_delete_type_name(value Name, LLVMModuleRef M) { return Val_unit; } +/* llmodule -> unit */ +CAMLprim value llvm_dump_module(LLVMModuleRef M) { + LLVMDumpModule(M); + return Val_unit; +} + /*===-- Types -------------------------------------------------------------===*/ diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index 1c3fc9ceb46..b10e2b721e2 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -183,6 +183,9 @@ void LLVMSetTarget(LLVMModuleRef M, const char *Triple); int LLVMAddTypeName(LLVMModuleRef M, const char *Name, LLVMTypeRef Ty); void LLVMDeleteTypeName(LLVMModuleRef M, const char *Name); +/** See Module::dump. */ +void LLVMDumpModule(LLVMModuleRef M); + /*===-- Types -------------------------------------------------------------===*/ diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp index c159bbc2f76..665f0ac1b82 100644 --- a/lib/VMCore/Core.cpp +++ b/lib/VMCore/Core.cpp @@ -76,6 +76,10 @@ void LLVMDeleteTypeName(LLVMModuleRef M, const char *Name) { TST.remove(I); } +void LLVMDumpModule(LLVMModuleRef M) { + unwrap(M)->dump(); +} + /*===-- Operations on types -----------------------------------------------===*/